Умови у запиті

Умови можуть бути розміщені в 4 місцях:
- Основне місце: після службового слова ДЕ тіла запиту.
- У конструкції ВИБІР КОЛИ
- У параметрах віртуальних таблиць своство Умова
- Після службового слова МАЮЧІ для умови над вже розрахованими підсумками агрегатних функцій.
Особливості використання умовних операторів:
- Оператори порівняння
- ">"(більше)," "(не рівно),
- «В()» (У якомусь масиві, параметрі, у вкладеному запиті),
- «В ІЄРАРХІЇ()» (у групі довідника, плану видів характеристик, переданих у дужках),
- «ПОДІБНО» (оператор порівняння над рядковим значенням), ПОСИЛАННЯ (для перевірки на збіг посилальним типом)
Ці оператори можна використовувати у всіх 4 ситуаціях, але контекст (навколишні змінні у них відрізняються).
У перших двох випадках умови накладаються на поля вибірки, наприклад:
ВИБРАТИ Посилання З Довідник.Контрагенти ЯК СпрКонтрагенти ДЕ СпрКонтрагенти.ІНН<>""
Звернення йде через ім'я таблиці (у простих запитах може опускатися, але у складних може викликати неоднозначність поля).
Ця умова викликає обмеження вибірки (зазвичай зменшує її)
У конструкторі запиту знаходяться на вкладці умови:

У довільному варіанті пишеться текстом, у звичайному вибирається поле, оператор порівняння та значення:
ВИБІР КОЛИ
Цей умовний оператор використовується для перетворення значення, обмежує жвибірку коли розташований після службового слова ДЕ. Припустимо кілька підлеглих умов. Може перебувати у полях вибірки, полях умов ДЕ, угруповань, підсумків (універсальний оператор для складних умов)
Наприклад, так виглядає варіант перетворення:
ВИБРАТИ ВИБІР КОЛИ 1 = 2 ТОДІ "Ніколи не буде істиною" КОЛИ 1 = 1 ТОДІ "Завжди буде істиною" ІНАЧЕ ДАТАВРЕМЯ(1, 1, 1) КІНЕЦЬ ЯК ПолеУявленняЗначення
Варіант використання за умови ДЕ, результат вибірки повинен повертати булеве значення або порівнюватися з чимось ще
Приклад № 1
ВИБРАТИ Посилання З Довідник.Контрагенти ЯК ДО ДЕ ВИБІР КОЛИ К.ІНН = ""
Приклад № 2:
ВИБРАТИ Посилання З Довідник.Контрагенти ЯК ДО ДЕ ВИБІР КОЛИ К.ІНН = "" ТОДИ" "ІНАЧЕ "Заповнено"
Параметри віртуальних таблиць
У разі оперування йде з полями таблиць, наприклад ресурсами, вимірами, реквізитами. У умовах звернення йде без точки (контекст цього вимагає).
ВИБРАТИ * З РеєстрВідомостей.КурсиВалют.ЗрізОстанніх(, Валюта.Код = "RUR")
У конструкторі запиту вони знаходяться ось тут:

Варто зазначити, що зазвичай використовується обмеження над вимірами, тому що інакше умова віднесеться до вибірки для отримання, а не на результат (на ресурси обмеження слід накласти в операторі ДЕ, щоб отримати очікуваний результат).
Накладення умови у запиті на вимірювання, якщо немає звернення через точку (як у прикладі вище), прискорює вибірку: на великих таблицях це візуально помітно; на невеликих можна використати як зручно.
Для накладання відбору для результату «групувальних» функції
ВИБРАТИ Контрагенти.ІНН, КІЛЬКІСТЬ(РІЗНІ Контрагенти.Посилання) ЯК Посилання З Довідник.Контрагенти ЯК Контрагенти
ЗГРУПУВАТИ ПО Контрагенти.ІНН
МАЮЧІ КІЛЬКІСТЬ(РІЗНІ Контрагенти.Посилання) > 1 І Контрагенти. ІПН <> ""
У цю вибірку потраплять дублі ІПН, коли вона взагалі заповнена.
У конструкторі запиту також знаходиться на вкладці умови

У цій конструкції також можливе використання «групувальних» операторів І,АБО, але порівнювати можна з константами запиту, з функцією або значенням, що входить до угруповання (інші реквізити довідника в даному прикладі не будуть доступні для порівняння - тоді слід використовувати ДЕ).