Логическая операция позволяет сравнить два значения. Результатом будет значение типа Булево: Истина или Ложь.
Операции сравнения
=
Сравнивает два операнда на равенство. Если равны, то вернет Истина, если не равны вернет Ложь.
а = 1;
б = 2;
в = а = б; //Ложь
<>
Сравнивает два операнда. Если не равны, то вернет Истина, если равны вернет Ложь.
а = 1;
б = 2;
в = а <> б; //Истина
<
Если первый операнд меньше второго, то вернет Истина, иначе Ложь.
а = 1;
б = 2;
в = а < б; //Истина
>
Если первый операнд больше второго, то вернет Истина, иначе Ложь.
а = 1;
б = 2;
в = а > б; //Ложь
<=
Если первый операнд меньше или равен второму, то вернет Истина, иначе Ложь.
а = 1;
б = 1;
в = а <= б; //Истина
>=
Если первый операнд больше или равен второму, то вернет Истина, иначе Ложь.
а = 1;
б = 1;
в = а >= б; //Истина
На равенство, не равенство можно сравнивать любые типы данных. На больше, меньше можно сравнивать дату с датой, строку со строкой, число с числом и число с булево. При сравнении числа с булево сначала булево приводится к числу, а потом выполняется сравнение.
Все логические операции имеют одинаковый приоритет.
Булевы операции
Булевы операции выполняются над значениями типа Булево. Можно объединять несколько операций сравнения.
И
Логическое умножение, конъюнкция. Вернет Истина, если оба операнда равны Истина.
а = 1;
б = 2;
в = а = 1 И б = 1; //Ложь, так как б не равно 1
ИЛИ
Логическое сложение, дизъюнкция. Вернет Истина, если хотя бы один операнд равен Истина.
а = 1;
б = 2;
в = а = 1 Или б = 1; //Истина, так как а равно 1
НЕ
Логическое отрицание. Вернет Истина, если операнд равен Ложь. Вернет Ложь, если операнд равен Истина.
а = Истина;
б = НЕ а; //Ложь
Выполняются только необходимые части выражения.
Например, в выражении в = а = 1 И б = 1, если а не равно 1, то сравнение б не имеет смысла, так как первый операнд уже не равен Истина.
В выражении в = а = 1 ИЛИ б = 1, если а равно 1, то сравнение б не имеет смысла, так первый операнд уже равен Истина.
Приоритеты вычисления выражений в 1С
В порядке понижения приоритета. Операторы с одинаковым приоритетом выполняются слева направо:
., () - Разыменование, вызов метода и т. п.
-,+ - Унарные плюс и минус
*, /, % - Умножение, деление, остаток от деления
+, - - Сложение, вычитание
<, <=, =, >=, >, <> - Сравнение
Not/Не - Логическое отрицание
And/И - Логическое умножение
Or/Или - Логическое сложение
Смотрите также:
Электронный учебник по по программированию в 1С Рекомендации по изучению программирования 1С с нуля Программное решение для сдачи и подготовки к экзаменам Программирование в 1С 8.3 с нуля - краткий самоучитель Комплексная подготовка программистов 1С:Предприятие 8.2 Сайты с уроками программирования и со справочниками Youtube-каналы с уроками программирования Сайты для обучения программированию Лекции и уроки