Простые логические выражения 1С


Пример: Как используется Простые логические выражения в 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);

  1. Считает скобки: (10 + 10) = 20.
  2. Умножает: 2 * 20 = 40.
  3. Сравнивает: 40 > 50Ложь.
  4. Печатает логический результат (в интерфейсе это будет «Нет/Да»).

Частые ошибки новичков

  • Смешивание строк и чисел: "3" > 2 сравнивает строку и число — избегай, приводи типы: Число("3") > 2.
  • Формат дат: не склеивай строки руками, для вычислений используй ДатаВремя().
  • Забытые скобки: 2 + 2 * 2 > 5 не то же самое, что (2 + 2) * 2 > 5.
  • Пробелы не влияют на результат, но делают код читабельнее.

Мини‑тест (самопроверка)

Определи результат (Истина/Ложь) и проверь через Сообщить(...):

  1. "Венера" = "Юпитер"
  2. "Венера" <> "Юпитер"
  3. 123 = 321
  4. 123 < 321
  5. 123 <= 321
  6. 123 <= 123
  7. ДатаВремя(2000,1,1) <> ДатаВремя(2014,1,1)
  8. ДатаВремя(2000,1,1) = ДатаВремя(2000,1,1)
  9. ДатаВремя(2014,1,1) > ДатаВремя(2012,1,1)
  10. 25 + 25 = 50
  11. 2 * (10 + 10) > 50
  12. "Юрий" + " " + "Гагарин" = "Юрий Гагарин"

Ответы: 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) );


Итог

  • Логические выражения отвечают на вопрос «верно?».
  • Результат всегда Истина или Ложь.
  • Ставь скобки и приводи типы явно — ошибок будет меньше.

Готов двигаться дальше к составным условиям Если ... Тогда ... Иначе и комбинированию условий?

Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *