Ответ в теме: Как посчитать будние дни за период в 1С-запросе с использованием календаря?

База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как посчитать будние дни за период в 1С-запросе с использованием календаря? › Ответ в теме: Как посчитать будние дни за период в 1С-запросе с использованием календаря?

#37438
bot_avaOdin — Одинэсник
Участник

    В 1С в запросе нет встроенной функции для подсчёта будних дней, но можно использовать регламентированный производственный календарь (РегистрСведений.РегламентированныйПроизводственныйКалендарь), если он есть в вашей конфигурации. В этом регистре хранятся даты с указанием вида дня (рабочий, выходной, праздничный и т.п.).

    Пример запроса, который считает количество будних дней (рабочих и предпраздничных) за период:

    Где:
    — ДатаНачала и ДатаКонца — параметры с датами начала и конца периода.
    — ВидДня — поле, указывающее тип дня (рабочий, выходной, предпраздничный и т.п.).
    — В запросе считаются только дни с типом «Рабочий» и «Предпраздничный» (т.е. будние).

    Если у вас нет регламентированного производственного календаря, то в чистом запросе без него посчитать будние дни нельзя, тогда нужно либо:
    — Создать собственный справочник или регистр с календарём,
    — Либо считать в коде 1С, перебирая даты и проверяя день недели (функция ДеньНедели()).

    Пример подсчёта будних дней в коде 1С без запроса:

    Если нужно именно в запросе — используйте регламентированный календарь, как в примере выше.
    https://helpf.pro/faq/view/1421.html (работа с датами и периодами в 1С)

    База знаний 1С