Условия используются в запросах для отбора только нужной информации из таблиц, участвующих в запросе.
Синтаксис условия позволяет установить отбор, основанный на логическом выражении:
Условие (ЛогическоеВыражение);
а также на вхождении значения переменной в определенное множество:
Условие (Переменная В Множество);
где Можество
— это коллекция типа СписокЗначений, группа справочника или счет плана счетов.
В логическом выражении можно использовать как внутренние переменные запроса, так и внешние, объявленные в программном модуле.
Например, конструкция:
Условие (Количество > 0);
позволит включить в итоговую выборку только те записи, в которых колонка Количество
содержит значение, большее нуля. А конструкция:
Условие (Номенклатура В СписокНоменклатуры);
позволит включить в итоговую выборку только те записи, в которых колонка Номенклатура
содержит значения входящие в СписокНоменклатуры
(где СписокНоменклатуры
— переменная модуля, в котором описывается объект Запрос).
В логическом выражении можно применять как простые операции сравнения (=, >, >=, <, <=, <>), так и булевы операции (булево И, ИЛИ, НЕ). Подробнее о логическом выражении.
Важно отметить следующие особенности оператора В языка запросов:
- Если множество является элементом или группой справочника, то проверка выполняется с учетом вхождения значения в группу, а также во все вложенные подгруппы справочника. Аналогичное утверждение относится и к бухгалтерским счетам, которые также могут иметь иерархическую структуру;
- Если выражение
Множество
пустое — условие считается истинным и в выборку попадут все записи;
Т.к. область условий необязательная, то в тексте запроса может не быть ни одного условия (тогда в итоговую выборку будут включены все записи исходной таблицы). И, наоборот, в тексте запроса может быть сразу несколько условий, при этом в итоговую выборку попадут только те записи исходной таблицы, которые будут удовлетворять всем условиям отбора.
Несколько условий отбора, перечисленные в тексте запроса, объединяются по логическому И, поэтому следующие два условия будут равнозначны:
//условие 1 Условие (Количество > 0); Условие (Количество <= 10); //условие 2 Условие ((Количество > 0) И (Количество <= 10));
Читайте также:
Язык запросов на платформе 1С:Предприятие 7.7