Календарь (Calendar)
Приложение 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")
- Календарь;
- Поле определения типа дня (рабочий, предпраздничный, сокращенный предпраздничный, праздничный, выходной);
- Выбор часового пояса.
Добавление нового расписания можно выполнить тремя способами:
- Выбрать дату в поле календаря. Запись в расписании появится автоматически.
Нажать кнопку "Добавить" ("Add") для ручной настройки. Появится незаполненное расписание.
После внесения изменений нужно нажать кнопку "Сохранить"("Save") .
Список услуг, которые активируются на настроенному расписанию:
- Переадресация по расписанию (Find Me);
- Переадресация по расписанию и по неответу (Find Me No Response).
3. Импортировать с уже настроенного домена:
На рисунке выделены кнопки для экспорта и импорта соответственно, с их помощью можно экспортировать календарь с уже настроенного домена и импортировать его на новый.
Вкладка "Расписание" ("Timetables")
На рисунке ниже представлены элементы навигации приложения.
- Панель управления расписаниями;
- Поле для настройки рабочего времени;
- Тип дня (рабочий, предпраздничный, сокращенный предпраздничный, праздничный, выходной), день недели;
- Кнопка сохранения изменений.
Настройка нового расписания
- Нажмите кнопку "Добавить"("Add") и введите название нового расписания.
Выберите тип дня или день недели.
Нажав курсором мыши на временную шкалу, выделите рабочее время. Временных интервалов может быть несколько.
- Для сохранения расписания нажмите кнопку "Сохранить"("Save") .