Условие 1с можно запрограммировать или с помощью оператора условия или с помощью тернарного оператора. Оператор условия в 1с очень похож на оператор условия других языков программирования.
Если … Тогда…КонецЕсли в 1с
После ключевого слова Если находится условие. Если условие истинно, то будет выполнен код, размещенный в блоке Если…Тогда…КонецЕсли. Синтаксис:
Если <условие> Тогда
<Оператор 1>
Иначе
<Оператор 2>
КонецЕсли
Можно добавить дополнительные блоки ИначеЕсли:
Если <условие> Тогда
<Оператор 1>
ИначеЕсли
<Оператор 2>
ИначеЕсли
<Оператор 3>
Иначе
<Оператор 4>
КонецЕсли
Из приведенного синтаксиса, можно сказать об основных особенностях оператора:
- Логический оператор всегда начинается с ключевой фразы Если и заканчивается фразой КонецЕсли;
- Логическое выражение — выражение, результатом которого является значение типа Булево, то есть Истина или Ложь. Если результат выполнения логического выражения — Истина, выполняется блок операторов, идущих после ключевого слова Тогда;
- В логическом выражении могут быть использованы операции сравнения: «=», «<>» (не равно), «>», «<«, «>=» (больше или равно), «<=» (меньше или равно);
- Также в логическом выражении могут применятся булевы операции: «И», «ИЛИ», «НЕ»;
- Можно создавать неограниченное количество блоков ИначеЕсли, выражение которых будет проверяться, если выражения предыдущих блоков Если и ИначеЕсли вернули Ложь;
- Также можно использовать один блок Иначе. Он будет выполняться, если не выполнился ни один из предыдущих блоков Если и ИначеЕсли.
Условие в 1с. Пример использования
Задача: Найти наибольшее из двух чисел.
а=1;
б=2;
Если а>б Тогда
max=а;
Иначе
max=б;
КонецЕсли;
Сообщить("max="+max);
Тернарный оператор в 1с
Тернарный оператор имеет следующий синтаксис:
Результат=?(<Условие>, <Выражение1>, <Выражение2>)
Если условие истинно, то будет выполнено Выражение1, иначе Выражение2.
Пример использования Тернарного оператора в 1с:
а=1;
б=2;
max=?(а>б, а, б);
Сокращенная форма записи.
Условный оператор имеет сокращенную форму, которую логично использовать для коротких условий, которые можно поместить в одну строку. Это тот же самый тернарный оператор.
Условие в запросе 1с. Аналог условного оператора 1с.
В запросах 1с можно построить выражение похожее не условный оператор. Для этого используется оператор Выбора.