Получение указанного порядкового рабочего дня к дате
ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 1000000
Календарь.ДатаКалендаря КАК ДатаКалендаря
ПОМЕСТИТЬ БанковскиеДниКалендаря
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК Календарь
ГДЕ
(Календарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
ИЛИ Календарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный))
УПОРЯДОЧИТЬ ПО
Календарь.ДатаКалендаря
ИНДЕКСИРОВАТЬ ПО
Календарь.ДатаКалендаря
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ДАТАВРЕМЯ(2022, 4, 1) КАК ДатаДокумента,
5 КАК ДнейОтсрочки
ПОМЕСТИТЬ ТаблицаОплат
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2022, 4, 9),
7
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Оплаты.ДатаДокумента КАК ДатаДокумента,
Оплаты.ДнейОтсрочки КАК ДнейОтсрочки,
Календарь.ДатаКалендаря КАК ДатаОплаты
ИЗ
ТаблицаОплат КАК Оплаты
ЛЕВОЕ СОЕДИНЕНИЕ БанковскиеДниКалендаря КАК Календарь
ПО ((Календарь.ДатаКалендаря, Оплаты.ДнейОтсрочки) В
(ВЫБРАТЬ
Выборка.ДатаКалендаря КАК ДатаКалендаря,
СУММА(1) КАК НомерРабочегоДня
ИЗ
БанковскиеДниКалендаря КАК Выборка ЛЕВОЕ СОЕДИНЕНИЕ БанковскиеДниКалендаря КАК ПодВыборка
ПО
ПодВыборка.ДатаКалендаря > Оплаты.ДатаДокумента
И ПодВыборка.ДатаКалендаря <= Выборка.ДатаКалендаря
ГДЕ
Выборка.ДатаКалендаря > Оплаты.ДатаДокумента
СГРУППИРОВАТЬ ПО
Выборка.ДатаКалендаря))
{} Ожидается идентификатор
Сравнение плановых и фактических дней отпуска
УстановитьРабочуюДатуПользователя (БСП)
ДатыБлижайшихРабочихДней (БСП)