1С 8.3 Проверка пересечения дат в выбранном периоде - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Проверка пересечения дат в выбранном периоде

Данные > Примеры кода 1С > 1С 8.3 Дата и время
Перейти в основной раздел:
Функция определяет вхождение одного временного периода в другой.
Период №1: НачПериода1 - КонПериода1
Период №2: НачПериода2 - КонПериода2
Проверка периода на вхождение одной даты в другую в 1С 8.3:
Функция ВычислениеПересеченияПериодов(НачПериода1, КонПериода1, КонПериода2, НачПериода2) Экспорт

   ПериодыПересекаются = Ложь;
   Если Макс(НачПериода1,НачПериода2) < Мин(КонПериода1,КонПериода2) Тогда
       ПериодыПересекаются = Истина;
   КонецЕсли;
   // или ПериодыПересекаются = Макс(НачПериода1, НачПериода2) < Мин(КонПериода1, КонПериода2);

   Возврат ПериодыПересекаются;

КонецФункции

&НаКлиенте
Процедура Тест()

   НачДата1 = Дата(2021, 10, 26);
   КонДата1 = Дата(2021, 11, 22);
   НачДата2 = Дата(2021, 10, 28);
   КонДата2 = Дата(2021, 12, 03);
   Сообщить(ВычислениеПересеченияПериодов(НачДата1, КонДата1, КонДата2, НачДата2)); // Да

   НачДата1 = Дата(2021, 10, 26);
   КонДата1 = Дата(2021, 11, 22);
   НачДата2 = Дата(2021, 11, 23);
   КонДата2 = Дата(2021, 12, 03);
   Сообщить(ВычислениеПересеченияПериодов(НачДата1, КонДата1, КонДата2, НачДата2)); // Нет

КонецПроцедуры
2
комментарии
Администратор
19 апр 2024
Для Антона: ничего не надо менять. Все работает
Антон
18 апр 2024
Нужно знак < изменить на
____________________
Copyright©, «Программист 1С в г.Минске», 26.10.2021
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому