Функция для проверки, есть ли документы с тем же интервалом дат, что и заданный.
//Истина - есть пересечения
//Ложь - пересечений нет.
Функция ЕстьПересечениеДат(НачалоПериода, КонецПериода)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВашДокумент.Ссылка
|ИЗ
| Документ.ВашДокумент КАК ВашДокумент
|ГДЕ
| ПлановыйГрафикРаботы.Проведен
| И &НачалоПериода < ВашДокумент.КонецПериода
| И &КонецПериода > ВашДокумент.НачалоПериода";
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
РезультатЗапроса = Запрос.Выполнить();
Возврат Не РезультатЗапроса.Пустой();
КонецФункции
Нахождение интервалов в запросе
Разбиение произвольного периода на интервалы в запросе
Получить даты за период в запросе
Инвертирование периодов в запросе
Определение пересечения интервалов в кольце
ПодключениеТестовыхПериодов_ПроверитьСостояниеЗапроса (БСП)
ПроверитьСостояниеЗапроса (БСП)
#1, 13 мая 2025 08:57
ПлановыйГрафикРаботы.Проведен нужно заменить на ВашДокумент.Проведен