Условный оператор Если ... ИначеЕсли ... Тогда
Оператор Если
управляет выполнением программы, основываясь на результате одного или более логических выражений.
Оператор может содержать любое количество групп операторов, возглавляемых конструкциями ИначеЕсли
... Тогда
.
Синтаксис оператора Если:
1 2 3 4 5 6 7 |
Если <Логическое выражение> Тогда // Операторы [ИначеЕсли <Логическое выражение> Тогда] // Операторы [Иначе] // Операторы КонецЕсли; |
где:
Если
- ключевое слово, которое начинает структуру оператора условного выполнения;<Логическое выражение>
- проверяемое логическое выражение;Тогда // Операторы
- операторы, выполняющиеся, если результатом логического выражения является значениеИстина
;ИначеЕсли <Логическое выражение>
- логическое выражение, следующее за ключевым словомИначеЕсли
, вычисляется только тогда, когда условия вЕсли
и всех предшествующихИначеЕсли
оказались равныЛожь
;Иначе
- операторы, следующие за ключевым словомИначе
, выполняются, если результаты логических выражений в конструкцииЕсли
и всех предшествующих конструкцияхИначеЕсли
оказались равныЛожь
;КонецЕсли
- ключевое слово, которое завершает структуру оператора условного выполнения.
Пример
1 2 3 4 5 6 7 8 9 10 11 |
Количество = 74; Сумма = 150; Количество = Количество - 74; Цена = Неопределено; // Проверка деления на 0 Если Количество <> 0 Тогда Цена = Сумма / Количество; Иначе Сообщить("Деление на ноль!"); КонецЕсли; |
Ещё пример:
1 2 3 4 5 6 7 8 9 |
// Разница по модулю Число1 = 7; Число2 = 13; Если Число1 > Число2 Тогда МодульРазницы = Число1 - Число2; Иначе МодульРазницы = Число2 - Число1; КонецЕсли; |
[свернуть]
Тернарный условный оператор 1С
Позволяет вычислить одно из двух заданных выражений в зависимости от результата вычисления логического выражения.
Синтаксис тернарного оператора 1С:
1 |
?(<Логическое выражение>, <Выражение 1>, <Выражение 2>) |
где:
<Логическое выражение>
- проверяемое логическое выражение:- если
Истина
, то будет вычисляться<Выражение 1>
; - если
Ложь
, то будет вычисляться<Выражение 2>
.
- если
Возвращает результат вычисления одного из результирующих выражений.
Пример
1 2 3 4 5 6 |
// Разница по модулю Число1 = 7; Число2 = 13; МодульРазницы = ?(Число1 > Число2, Число1 - Число2, Число2 - Число1); Сообщить(МодульРазницы); // 6 |
[свернуть]
Логические операции в 1С
Приоритет логических операций в 1С:
Логическая операция | Приоритет |
() | 1 |
НЕ | 2 |
И | 3 |
ИЛИ | 4 |