Справочник "Периодичности" (КУС)
Справочник предназначен для задания периодичностей различного характера. Используется для настройки и выбора периодичности оказания услуг (назначения процедур). Поддерживается два типа (категории) периодичностей:
- По указанным дням недели — «Понедельник и Четверг», «Суббота и Воскресенье» и т. д.
- По заданному шаблону — «Каждый день», «Через день», «Через два дня на третий» и т. п.
Настройка «По дням недели»
Позволяет определять наличие или отсутствие событий в конкретные дни недели. Дни недели отмечаются в списке выбора дней. Если не отмечен ни один день недели, то для такой периодичности система предложит ввести дни недели в месте ее использования.
Настройка «По шаблону»
Периодичность событий задается в виде текстового шаблона. Для ее использования в контексте вызова должен быть задан стартовый отсчет (например, начальная дата).
- В скобках шаблона чередуются диапазоны, в которые происходит или не происходит событие.
- Знак шаблона перед скобкой определяет начальный диапазон. Если положителен — событие есть, если отрицателен — отсутствует.
- Тип скобок определяет, является ли периодичность конечной (ограниченной) или бесконечной (неограниченной).
- Квадратные скобки [ ] — ограниченная, круглые () — неограниченная.
- Возможно создание составных шаблонов. В этом случае периодичности, в составе составного шаблона, отделяются друг от друга запятыми. Знак шаблона для составного шаблона распространяется на все периодичности входящие в него. В некоторых случаях, удобно записать, составной шаблон используя знак «умножения» — эквивалентно повтору периодичности.
- Для тестирования созданных шаблонов, укажите количество отсчетов для проверки и нажмите кнопку «Заполнить отсчеты по шаблону».
Примеры шаблонов
Простые шаблоны
- 1 — выполнить один раз (используется для выполнения генеральной уборки после выселения гостя): 10000000...
- (1) — каждый день (всегда): 1111…
- (1,1) — бесконечное чередование событий через одно: 1010…
- -(1,1) — один раз через раз со второго (всегда): 010101…
- -(3,1) — один раз через 3 дня с четвертого (всегда): 00010001…
- (1,2) — чередование событий через два: 100100…
- -(1,2) — чередование двух событий через одно, начиная с пропуска: 011011…
- [1,2,1] — ограниченный шаблон. Всего два отсчета: 1001
- [2,1,2] — два раза, пропуск, еще два раза и все: 11011
Составные шаблоны:
- [2,2], (1) — два раза, два пропуска, потом каждый раз (всегда): 11001111…
- [2,1], [2,2], (1,1) — два раза, пропуск, два раза, два пропуска, через раз (всегда): 1101100101010…
- [0,4], (1,6) — четыре пропуска, потом на каждый 7 раз: 0000100000010000001…
- [2,0], (1,1) — два раза, потом через раз: 11101010…
- -[2,2], (1,1) — два пропуска, два раза, через раз со второго: 0011101010…
- 2*[1,2] = [1,2], [1,2] = [1,2,1,2] — один раз, два пропуска, один раз, два пропуска и все: 100100
- 2*[1,2], (1) — один раз, два пропуска, один раз, два пропуска, потом каждый раз: 1001001111…