Перейти к содержанию

Календарь рабочих дней

Назначение

Календарь рабочих дней используется для расчёта сроков задач и процессов в системе Planiqum. Если календарь настроен, все расчёты дат и длительностей ведутся по рабочим дням, иначе — по календарным.

⚠️ ВАЖНО: Если в системных настройках (SiteSettings) указан ключ меры календаря рабочих дней, но сама мера или параметр отсутствуют, то при создании рабочих процессов система выдаст ошибку. Настройка календаря должна быть завершена полностью или отключена совсем.

Как создать и указать календарь рабочих дней

  1. Создайте параметр с мерой, отвечающей за рабочий/нерабочий день. Рекомендуемый ключ меры: working_days_calendar__is_working_day.
  2. Мера должна быть типа INTEGER, значения: 1 — рабочий день, 0 — нерабочий.
  3. Параметр должен быть связан с уровнем иерархии "День" (horizon__day).
  4. В настройках системы (SiteSettings) укажите ключ меры календаря рабочих дней (working_days_calendar__is_working_day).

Как автоматически заполнить календарь рабочих дней

  • Используйте сценарий fill_working_days (раздел "Сценарии" > "Заполнить календарь рабочих дней").
  • Сценарий автоматически заполнит меру на основе производственного календаря (по умолчанию — Россия, можно указать страну).
  • Если мера или параметр отсутствуют — они будут созданы автоматически.
  • В сценарии можно указать диапазон дат, страну, опцию создания меры.

Устранение неполадок

Ошибка при создании рабочих процессов

Проблема: При запуске сценария "Построить рабочий процесс по шаблону" появляется запись FAILURE в TaskResult с ошибкой типа:

В системных настройках указан ключ меры 'working_days_calendar__is_working_day', но мера не найдена.

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

Решение (выберите один из вариантов):

Вариант 1 — Отключить использование календаря рабочих дней: 1. Перейдите в Панель администратора > Core > Site Settings 2. Найдите настройку с ключом working_days_calendar__is_working_day 3. Удалите эту настройку или очистите её значение 4. Теперь система будет использовать календарные дни для расчёта

Вариант 2 — Настроить календарь рабочих дней: 1. Запустите сценарий fill_working_days (раздел "Сценарии" > "Заполнить календарь рабочих дней") 2. Укажите диапазон дат (например, текущий год) 3. Оставьте опцию "Создавать меру, если отсутствует" включённой 4. Сценарий автоматически создаст параметр, меру и заполнит календарь

Рекомендованная структура отчёта

  • В строки: "Годы", "Месяцы", "Недели", "Дни недели", "Дни".
  • В колонки: "Слои" (например, разные сценарии или версии календаря).
  • Рекомендуется использовать условное форматирование для визуального выделения рабочих и нерабочих дней (например, цветом).

Как вручную редактировать календарь рабочих дней

  • Для ручного редактирования значения меры календаря необходимо привязать метод корректировки set_equal к мере.
  • После этого значения можно менять через интерфейс корректировок.

Ссылки