Условные операторы используются для реализации ветления веток алгоритмов. Обычно конструкция с условными оператором выглядит следующим образом:
Если а = 1 Тогда //Операции которые будут выполнены если условие истинно ИначеЕсли а = 2 Тогда//этой ветки может и не быть, если она нам не нужна //Операции которые будут выполнены если второе условие истинно Иначе //этой ветки может и не быть, если она нам не нужна //Операции которые будут выполнены если все условия ложны КонецЕсли;
В условных конструкциях между операторами Если
,Иначе
и Тогда
интерпретатор ожидает увидеть булевскую константу Истина
или Ложь
. Это может быть результат сравнения условного выражения или просто переменная с типом булево. Если вы уверены что у вас в переменной булево или вы делаете сравнение, не имеет смысла писать условия типа Если РеализацияПроведена = Истина Тогда
интерпретатор выполнит плюс одно ненужное сравнение, гораздо логичнее и проще писать: Если РеализацияПроведена Тогда
.
Условный оператор имеет сокращенную форму, которую логично использовать для коротких условий, которые можно поместить в одну строку. В этом случае сокращенная форма записи делает код более компактным. Вот как это выглядит:
А = ?( А = 1, Б, В);
Здесь в случае если А = 1
ей будет присвоено значение переменной Б иначе она получит значение переменной В.
В случаях когда выполнение второго и последующих условных выражений не имеет смысла, оператор его не производит. Например:
Если ТипЗнч(А) = "Структура" И А.КакоеТоСвойство = 1 Тогда
Здесь проверка свойства 'КакоеТоСвойство' будет выполнена только в том случае если тип переменной А является структурой. Иногда это бывает очень удобным, например в том случае, если бы в переменной А у нас оказалось Неопределенно
попытка найти у нее какой либо свойство, привело бы к ошибке и остановило выполнение программы.