Приложение web-конфигуратора "Календарь" ("Calendar") используется для настройки рабочих, предпраздничных, сокращенных предпраздничных, праздничных и выходных дней, а также настройки рабочего времени для определенных дней. Это необходимо для настройки услуг, работа которых привязана к конкретной дате, времени и т.д.

Логика работы с календарем подразумевает использование более высокого приоритета для более конкретных масок.

Например:

+------+-------------+------+-------+-------------+-----------+
| Год  | День в году | День | Месяц | День недели | Приоритет |
+------+-------------+------+-------+-------------+-----------+
| 2020 | 238         | _    | _     | _           |        14 |
| 2020 | '*'         | 25   | 8     | '*'         |        13 |
| 2020 | '*'         | 25   | '*'   | '*'         |        12 |
| 2020 | '*'         | _    | 8     | 2           |        11 |
| 2020 | '*'         | '*'  | 8     | '*'         |        10 |
| 2020 | '*'         | _    | '*'   | 2           |         9 |
| 2020 | '*'         | '*'  | '*'   | '*'         |         8 |
| '*'  | 238         | _    | _     | _           |         7 |
| '*'  | '*'         | 25   | 8     | '*'         |         6 |
| '*'  | '*'         | 25   | '*'   | '*'         |         5 |
| '*'  | '*'         | _    | 8     | 2           |         4 |
| '*'  | '*'         | '*'  | 8     | '*'         |         3 |
| '*'  | '*'         | _    | '*'   | 2           |         2 |
| '*'  | '*'         | '*'  | '*'   | '*'         |         1 |
+------+-------------+------+-------+-------------+-----------+

Таким образом, маска "все вторники в 2020 году" имеет приоритет 9, "каждое 25 августа любого года" - 6, а "любой день" - 1. При определении типа дня происходит проход по всем маскам, отсортированным по приоритету (чем выше приоритет, тем позже маска накладывается). Тип подходящих масок либо сливается, для получения нового типа, в случае если более приоритетная маска имеет тип предпраздничного или сокращенного дня, либо замещается.

Система наложения простая: проходим по всем маскам календаря для текущей даты. Если среди 2-х самых приоритетных типов дней окажутся предпраздничный день и сокращенный день, то получившийся тип станет сокращенный предпраздничный день. Если нет - то тот тип, маска для которого самая приоритетная. Например: если у нас, в дополнение к стандартному производственному календарю, вторники - сокращенные дни, то набор фильтров на февраль такой: 1) [*, *, *, *, *] - рабочие дни (приоритет 1) 2) [*, *, *, *, [6, 7]] - выходные дни (приоритет 2) 3) [*, *, 23, 2, *] - праздничный день (приоритет 6) 4) [*, *, 22, 2, *] - предпраздничный день (приоритет 6) 5) [2022, *, *, *, [2]] - сокращенный день (приоритет 9) Отсюда получается, что 22.02.2022 - предпраздничный сокращенный рабочий день, поскольку 2-мя самыми приоритетными масками являются 4 и 5. Если последнюю маску убрать, то это будет предпраздничный день. Если мы при этом добавим маску "[2022, *, *, *, [3]] - сокращенный день", то придется в праздник 23 февраля работать, т.к. у этой маски приоритет больше, чем у 3-й (9 против 6-ти).

Вкладка "Календарь" ("Calendar")

На рисунке 1 представлены элементы навигации приложения.

Рисунок 1 — Элементы навигации вкладки "Календарь" ("Calendar")

  1. Календарь;
  2. Поле определения типа дня (рабочий, предпраздничный, сокращенный предпраздничный, праздничный, выходной);
  3. Выбор часового пояса.

Добавление нового расписания можно выполнить тремя способами:

  1. Выбрать дату в поле календаря. Запись в расписании появится автоматически.
  2. Нажать кнопку "Добавить" ("Add")  для ручной настройки. Появится незаполненное расписание.

  3. После внесения изменений нужно нажать кнопку "Сохранить"("Save") .

    Список услуг, которые активируются на настроенному расписанию:

    • Переадресация по расписанию (Find Me);
    • Переадресация по расписанию и по неответу (Find Me No Response).

3. Импортировать с уже настроенного домена:

На рисунке выделены кнопки для экспорта и импорта соответственно, с их помощью можно экспортировать календарь с уже настроенного домена и импортировать его на новый. 

Вкладка "Расписание" ("Timetables")

На рисунке ниже представлены элементы навигации приложения.

  1. Панель управления расписаниями;
  2. Поле для настройки рабочего времени;
  3. Тип дня (рабочий, предпраздничный, сокращенный предпраздничный, праздничный, выходной), день недели;
  4. Кнопка сохранения изменений.

Настройка нового расписания

  1. Нажмите кнопку "Добавить"("Add")  и введите название нового расписания.
  2. Выберите тип дня или день недели.

  3. Нажав курсором мыши на временную шкалу, выделите рабочее время. Временных интервалов может быть несколько.

  4. Для сохранения расписания нажмите кнопку "Сохранить"("Save") .