Даты пересечения двух периодов

01.03.18

Разработка - Универсальные функции

Для вычисления дат пересечения двух периодов многие зачастую используют довольно сложные наборы условий, не дающих нужный результат, или достигающих его излишне сложным путем.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Даты пересечения двух периодов:
.epf 6,46Kb ver:1.1
1 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Для вычисления дат пересечения двух периодов достаточно использовать всего лишь одно условие и пару платформенных функций:    

Если Макс(ДатаС1, ДатаС2) <= Мин(ДатаПо1, ДатаПо2) Тогда         

        ДатаПересечения1 = Макс(ДатаС1, ДатаС2);
        ДатаПересечения2 = Мин(ДатаПо1, ДатаПо2);
        
        Если ДатаПересечения1<>ДатаПересечения2 Тогда 
            ТекстСообщения = "Периоды пересекаются в "+ Формат(ДатаПересечения1,"ДФ=dd.MM.yyyy") + " и " + Формат(ДатаПересечения2,"ДФ=dd.MM.yyyy");
        Иначе 
            ТекстСообщения = "Периоды пересекаются в "+ Формат(ДатаПересечения1,"ДФ=dd.MM.yyyy");
        КонецЕсли;
        
    Иначе 
        
        ТекстСообщения = "Периоды не пересекаются";
        
    КонецЕсли;

Также прикладываю обработку, наглядно демонстрирующую работу данного условия (платформа 8.3.10.2650).

Вступайте в нашу телеграмм-группу Инфостарт

Пересечение периодов даты пересечения дата пересечения периодов