Пример: Как используется Простые логические выражения в 1С
Пример 01.
А = 5;
Б = 3;
Сообщить(А > Б); // Истина
Пример 02.
Текст1 = "Привет";
Текст2 = "Мир";
Сообщить(Текст1 = Текст2); // Ложь
Пример 03.
X = 10;
Сообщить(X = 10); // Истина
Пример 04.
Y = 7;
Сообщить(Y <> 5); // Истина
Пример 05.
Сегодня = ТекущаяДата();
Сообщить(Сегодня > '2025-01-01'); // Истина или Ложь (зависит от текущей даты)
Простые логические выражения — это проверки в программе, которые дают только два результата: Истина (да) или Ложь (нет). Они нужны, чтобы компьютер мог решать, что делать дальше: выполнять команду, переходить в цикл или пропускать действие. Это фундамент для всех условий и решений в коде.
Операции сравнения в 1С
| Операция | Обозначение | Пример | Результат |
|---|---|---|---|
| Равно | = | 1 = 1 | Истина |
| Не равно | <> | 4 <> 5 | Истина |
| Больше | > | 10 > 2 | Истина |
| Меньше | < | 3 < 1 | Ложь |
| Больше или равно | >= | 5 >= 5 | Истина |
| Меньше или равно | <= | 2 <= 3 | Истина |
Сравнивать можно числа, строки, даты и др. типы.
Быстрые примеры:
Сообщить(1 = 2); // Ложь
Сообщить(1 = 1); // Истина
Сообщить("Земля" <> "Луна"); // Истина
Сообщить('18610101' <> '18610101'); // Ложь
Сообщить(100 > 50); // Истина
Сообщить(10 < 0); // Ложь
Сообщить(123 < 321); // Истина
Сообщить(123 <= 123); // Истина
Сообщить('20140101' > '20120101'); // Истина
Сообщить(2 * (10 + 10) > 50); // Ложь (40 > 50 → Ложь)
Для дат удобнее использовать конструктор
ДатаВремя(Год,Месяц,День):
Сообщить(ДатаВремя(2014,1,1) > ДатаВремя(2012,1,1)); // Истина
Как компьютер «думает» (пошагово)
Пример: Сообщить(2 * (10 + 10) > 50);
- Считает скобки:
(10 + 10) = 20. - Умножает:
2 * 20 = 40. - Сравнивает:
40 > 50→ Ложь. - Печатает логический результат (в интерфейсе это будет «Нет/Да»).
Частые ошибки новичков
- Смешивание строк и чисел:
"3" > 2сравнивает строку и число — избегай, приводи типы:Число("3") > 2. - Формат дат: не склеивай строки руками, для вычислений используй
ДатаВремя(). - Забытые скобки:
2 + 2 * 2 > 5не то же самое, что(2 + 2) * 2 > 5. - Пробелы не влияют на результат, но делают код читабельнее.
Мини‑тест (самопроверка)
Определи результат (Истина/Ложь) и проверь через Сообщить(...):
"Венера" = "Юпитер""Венера" <> "Юпитер"123 = 321123 < 321123 <= 321123 <= 123ДатаВремя(2000,1,1) <> ДатаВремя(2014,1,1)ДатаВремя(2000,1,1) = ДатаВремя(2000,1,1)ДатаВремя(2014,1,1) > ДатаВремя(2012,1,1)25 + 25 = 502 * (10 + 10) > 50"Юрий" + " " + "Гагарин" = "Юрий Гагарин"
Ответы: 1) Ложь, 2) Истина, 3) Ложь, 4) Истина, 5) Истина, 6) Истина, 7) Истина, 8) Истина, 9) Истина, 10) Истина, 11) Ложь, 12) Истина.
Логический тип в переменных
// Логический результат можно записывать в переменные
Возраст = 18;
Совершеннолетний = (Возраст >= 18);
ОткрытьЗначение(Совершеннолетний); // Истина
Практика
Задание А. Спроси у пользователя два числа и выведи Истина, если первое не меньше второго.
A = 0; B = 0;
ВвестиЧисло(A); ВвестиЧисло(B);
ОткрытьЗначение( A >= B );
Задание Б. Дата рождения + проверка совершеннолетия (18 лет).
Рождение = ДатаВремя(2008, 9, 11); // подставь свои значения
Граница = ДобавитьКДате(Рождение, Год, 18);
ОткрытьЗначение( ТекущаяДата() >= Граница );
Задание В. Проверка имени пользователя (строка не пустая и длина ≥ 3).
Имя = «»;
ВвестиСтроку(Имя);
ОткрытьЗначение( (СтрДлина(Имя) >= 3) );
Итог
- Логические выражения отвечают на вопрос «верно?».
- Результат всегда Истина или Ложь.
- Ставь скобки и приводи типы явно — ошибок будет меньше.
Готов двигаться дальше к составным условиям Если ... Тогда ... Иначе и комбинированию условий?

Добавить комментарий