Содержание:
1. Для чего нужен запрос выбора Когда – Тогда?
2. Примеры использования запроса выбора Когда-Тогда в системе конфигурации 1С
1. Для чего нужен запрос выбора Когда – Тогда?
Данная статья будет посвящена оператору языка запросов системы конфигурации 1С, а именно – одному из операторов выбора «Когда – Тогда – ». Для начала, будет рассмотрена общая конструкция проведения данного выбора, после чего, для наглядности и лучшего понимания работы данного оператора внутри запроса, будут приведены два примера его использования на практике.
Во время работы внутри Конфигуратора программы 1С бывают случаи, в которых нужно изучить некоторое выражение на то, - является оно логической «Истиной» или «Ложью». Если при определении оказалось, что наше выражение «Ложь», то необходимо путём присвоения заменить его значение на иное.
Как раз, в этом случае и поможет запрос выбора «Когда – Тогда - ». Ниже демонстрируется общее написание запроса с оператором выбора «Когда – Тогда – »:
2. Примеры использования запроса выбора Когда-Тогда в системе конфигурации 1С
Рассмотрим два примера о том, как управляться с оператором выбора «Когда – Тогда – » внутри системы конфигурации 1С:
1. Для первого примера возьмём за основу некую таблицу, которая будет содержать перечень дней недели, как можно увидеть далее:
ДеньНедели
Далее нужно определить для двух дней «Суббота» и «Воскресенье» обозначение того, что они являются выходными днями. А все остальные дни недели будут определены как рабочие. Чтобы сделать эту операцию – необходимо создать запрос по нашей начальной таблице. Сам запрос будет таким, как показано ниже:
Таблица1
Как только запрос будет написан и выполнен – таблица отобразится таким образом, как можно увидеть ниже:
ВидДня
Получаем, что при использовании внутри запроса выбора «Когда – Тогда – » - мы делали перебор всех рядов из начальной таблицы, во время чего сверяли каждый ряд на то, подходит ли он такому условию:
КОГДА ДеньНедели
Если какое-то из этих двух условий выполняется, то, в созданный столбец, делалась новая запись с нужным нам выражением (о том, что день выходной), которое находилось после «Тогда». Если же условие не было выполнено, то в соседний столбец будет внесено то условие, которое находится за словом «Иначе».
Замечание: Если слова «Иначе», и его сопутствующего условия, нет, то система конфигурации 1С, всё равно, сработает корректно, но в случае, когда начальное выражение будет иметь переменную значения «Ложь», то те ряды, которые должны были быть заменены будут «NULL».
2. В этом примере будет подробнее рассмотрена ситуация из замечания, которое было указано в конце первого примера. Основой послужит точно такая же таблица с днями недели. Но задача будет стоять следующая: нужно провести вывод числа выходных дней, но в отдельную таблицу, количество рабочих дней указывать нет необходимости.
Основой будет точно такой же запрос, как в примере выше, однако, у него не будет раздела со словом «Иначе». А вывод будет только при через поле от оператора выбора «Когда – Тогда – », данный запрос демонстрируется далее:
ВЫБРАТЬ
По окончанию порядка выполнения запроса, таблица примет следующий вид:
NULL
Получаем, что все те ряды, которые не подошли под заданное условие, приняли тип значения «NULL», то есть, значение у них просто отсутствует. Получается, что нужно только провести группировку данных полученной таблицы, для этого задействуем в запросе функцию «Количество(<Выражение>)», как показано далее:
ВЫБРАТЬ
В итоге, по окончанию выполнения запроса, получим такой результат:
КоличествоВыходныхДней
В данной статье было описано как в операторе языка запросов системы программы 1С работает оператор выбора «Когда – Тогда – », была приведена и общая конструкция оператора языка, и два примера его использования, а также добавлено важное замечание о конструкции оператора, о котором часто забывают.
Специалист компании "Кодерлайн"
Айдар Фархутдинов