Иллюстрированный самоучитель по языку системы 1С:Предприятие

Операторы языка запросов

Логический оператор принадлежности

Кроме обычных логических операторов (>, <, =, >=, <=, <>, И, ИЛИ, НЕ) в операторе "Условие …" языка запросов можно использовать дополнительный оператор – логический оператор принадлежности.

Синтаксис:

В

Англоязычный синоним:

In

Описание:

Оператор языка запросов "Условие (А в Б);" говорит о том, что условие истинно, когда значение А является подмножеством значения Б.

Следует особо отметить, что если значение Б пустое (объект не выбран), то условие является истинным, в отличии от оператора "=" (равно).

Если на принадлежность проверяется значение типа элемент справочника, то проверка выполняется с учетом его возможного вхождения в группу справочника. Аналогично, проверка на принадлежность субсчета осуществляется с учетом его возможного вхождения в счет-группу.

В качестве включающего подмножества логического оператора принадлежности (второй параметр после слова "в") может выступать как простое значение, так и список значений. В этом случае проверка выполняется с учетом вы-шеотмеченных особенностей для каждой строки списка значений.

Скорость выполнения запросов оптимизирована под использование оператора принадлежности, как в клиент-серверной, так и в файл-серверной версии системы 1С:Предприятие.

Внимание
Логический оператор принадлежности не поддерживается встроенным языком системы 1С:Предприятие, а применяется только в языке запросов
.

Оператор принадлежности существенно облегчает написание текстов запроса, делает их более понятными.

Пример:

Без использования логического оператора принадлежности:

Текст3апроса =

...

| Товар = Документ.ВидДокумента.Товар;";

...

Если ВыбТовар.Выбран() = 1 Тогда

Если ВыбТовар.ЭтоГруппа() = 1 Тогда

ТекстЗапроса = ТекстЗапроса +

"Условие(Товар.ПринадлежитГруппе(ВыбТовар) = 1);";

Иначе

ТекстЗапроса = ТекстЗапроса + "Условие(Товар = ВыбТовар);";

КонецЕсли

КонецЕсли;

С использованием логического оператора принадлежности:

Текст3апроса=

...

|Товар = Документ.ВидДокумента.Товар;";

...

|Условие (Товар в ВыбТовар);

...
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.