Календарь¶
Общие понятия¶
Календарь в Tessa используется для расчёта относительных сроков исполнения заданий.
При создании заданий и настройке маршрутов для указания срока исполнения как правило доступны два поля, но заполнить можно только одно из двух:
-
Длительность, рабочие дни или Срок, рабочие дни
Если указывается относительный срок, т.е. количество рабочих дней, то система использует календарь для расчёта конкретной даты исполнения и в этом случае дата исполнения гарантированно попадет на рабочий день.
-
Дата выполнения
Если указывается конкретная дата выполнения, то в этом случае календарь не используется. Пользователь может указать любую дату, включая праздничные дни и даты, выходящие за пределы периода действия календаря (что такое “период действия” описано ниже).
Также календарь может использоваться для каких-то расчётов в скриптах и коде расширения, когда необходим расчёт относительно рабочих дней.
Для отражения момента времени в календаре используется специальное понятие кванта времени. Существует два типа квантов времени - рабочий и не рабочий.
-
Рабочий квант - длится 15 минут. На такие кванты разбит весь рабочий день.
-
Нерабочий квант - длится всё время с момента конца предыдущего рабочего кванта и до момента начала следующего рабочего кванта.
Таким образом - настройка календаря сводится к настройке последовательностей рабочих и не рабочих квантов. Для удобства управления этим процессом существует специальная карточка настроек календаря.
Настройка календаря¶
Открыть карточку настроек календаря можно из правого меню → Настройки → Календарь.
Календарь оперирует датами во временной зоне объекта, для которого выполняются расчёты. Например, для расчёта сроков по календарю некоторого сотрудника считается, что все даты записаны в часовом поясе этого сотрудника (см. Временные зоны).
Исключения
В этой таблице заносятся исключения из стандартных правил расчёта календаря. Сюда необходимо внести выходные, которые приходятся на стандартные рабочие дни (понедельник - пятница) и рабочие дни, которые приходятся на стандартные выходные (суббота - воскресенье).
Добавление исключения выглядит следующим образом:
Период действия календаря
В этом блоке заполняется период, для которого рассчитывается календарь. Календарь будет рассчитан с 00:00:00 даты начала и по 23:59:59 даты конца.
Warning
Указывайте тот период, для которого заполнена таблица “Исключения”.
Если указаны исключения (праздничные дни) только на текущий год, то период действия следует указать до конца текущего года. Если указать период действия на несколько лет вперед, не заполнив праздничные дни, то есть риск того, что администраторы системы забудут вовремя указать исключения и это приведет к тому, что пользователи, отправив задание с относительным сроком 1 день, например 31 декабря, смогут успешно это сделать и срок исполнения задания будет 1 января (день, который, как правило, является праздничным).
На этом же примере, если бы срок действия календаря был до 31 декабря текущего года, то пользователи не смогли бы отправлять задания со сроком исполнения на следующий год, получая ошибку:
Обратившись к администратору системы, пользователи тем самым напомнят о необходимости указать исключения для календаря и увеличить срок действия.
Рабочий день и обеденный перерыв
В этих блоках указывается время начала/конца рабочего дня и время начала/конца обеденного перерыва.
Расчёт календаря и проверка ошибок
В нижней части карточки календаря находятся две кнопки:
-
Пересчитать календарь – вызывает перерасчёт календаря с учётом всех данных, указанных в карточке.
-
Проверить целостность – вызывает проверку календаря на наличие ошибок.
Important
При любых изменениях календаря необходимо выполнять его перерасчёт. Изменения не вступят в силу до тех пор, пока не будет вызван перерасчёт.
Note
Пересчёт календаря никак не влияет на уже отправленные задания, т.к. срок исполнения задания рассчитывается по календарю в момент отправки. Если в системе есть задания, отправленные на праздничный день (т.к. администраторы вовремя забыли заполнить исключения), то исправить ситуацию путем добавления исключений и пересчёта календаря не получится. Задание необходимо отозвать (если это возможно) и отправить снова после внесения правок в карточке настроек календаря.