Запрос с отбором количества рабочих дней в периоде всех календарных дней
Создать отчет в СКД.
Вывести все даты за период, выбор периода в параметрах.
со следующими столбцами:
1. Дата
2. РазницаВДнях
= Разница между КонцомПериодаОтчета и Дата в рабочих днях.
Текущий день не учитывать
3. Дата2
= Дата + ЧислоМесяца у Дата (в рабочих днях),
т.е. к дате прибавить рабочие дни в количестве равном числу даты.
Текущий день не учитывать.
Пример:
Период, например: 01.08.2022-31.08.2022
Дата РазницаВДнях Дата2
29.08.22 31.08.22 – 29.08.22 = 2 29.08.22 + 29рд = 07.10.22
28.08.22 31.08.22 – 28.08.22 = 2 28.08.22 + 28рд = 05.10.22
Пока получается такой запрос. Но больше сложности с получение рабочих дней.
ВЫБРАТЬ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК Дата
ПОМЕСТИТЬ ВТ_ВсеДатыПериода
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря >= &ДатаКалендаряНачало
И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря <= &ДатаКалендаряОкончание
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК Дата,
ДЕНЬ(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря) КАК ДеньДаты,
РАЗНОСТЬДАТ(&ДатаКалендаряНачало, &ДатаКалендаряОкончание, ДЕНЬ) + 1 КАК КоличествоДнейВПериоде
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря В
(ВЫБРАТЬ
ВсеДатыПериода.Дата
ИЗ
ВТ_ВсеДатыПериода КАК ВсеДатыПериода)
Вывести все даты за период, выбор периода в параметрах.
со следующими столбцами:
1. Дата
2. РазницаВДнях
= Разница между КонцомПериодаОтчета и Дата в рабочих днях.
Текущий день не учитывать
3. Дата2
= Дата + ЧислоМесяца у Дата (в рабочих днях),
т.е. к дате прибавить рабочие дни в количестве равном числу даты.
Текущий день не учитывать.
Пример:
Период, например: 01.08.2022-31.08.2022
Дата РазницаВДнях Дата2
29.08.22 31.08.22 – 29.08.22 = 2 29.08.22 + 29рд = 07.10.22
28.08.22 31.08.22 – 28.08.22 = 2 28.08.22 + 28рд = 05.10.22
Пока получается такой запрос. Но больше сложности с получение рабочих дней.
ВЫБРАТЬ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК Дата
ПОМЕСТИТЬ ВТ_ВсеДатыПериода
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря >= &ДатаКалендаряНачало
И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря <= &ДатаКалендаряОкончание
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК Дата,
ДЕНЬ(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря) КАК ДеньДаты,
РАЗНОСТЬДАТ(&ДатаКалендаряНачало, &ДатаКалендаряОкончание, ДЕНЬ) + 1 КАК КоличествоДнейВПериоде
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря В
(ВЫБРАТЬ
ВсеДатыПериода.Дата
ИЗ
ВТ_ВсеДатыПериода КАК ВсеДатыПериода)
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот