Справочник "Периодичности" (КУС)
Справочник предназначен для задания периодичностей различного характера. Используется для настройки и выбора периодичности оказания услуг (назначения процедур).
Поддерживается два типа (категории) периодичностей:
- По указанным дням недели — «Понедельник и Четверг», «Суббота и Воскресенье» и т.д.
- По заданному шаблону — «Каждый день», «Через день», «Через два дня на третий» и т.п.
(см. также Универсальная форма списка)
Настройка «По дням недели»
Позволяет определять наличие или отсутствие событий в конкретные дни недели. Дни недели отмечаются в списке выбора дней. Если не отмечен ни один день недели, то для такой периодичности система предложит ввести дни недели в месте ее использования.
Настройка «По шаблону»
Периодичность событий задается в виде текстового шаблона. Для ее использования в контексте вызова должен быть задан стартовый отсчет (например, начальная дата).
- В скобках шаблона чередуются диапазоны, в которые происходит или не происходит событие.
- Знак шаблона перед скобкой определяет начальный диапазон. Если положителен — событие есть, если отрицателен — отсутствует.
- Тип скобок определяет, является ли периодичность конечной (ограниченной) или бесконечной (неограниченной).
- Квадратные скобки [ ] — ограниченная, круглые () — неограниченная.
- Возможно создание составных шаблонов. В этом случае периодичности, в составе составного шаблона, отделяются друг от друга запятыми. Знак шаблона для составного шаблона распространяется на все периодичности входящие в него. В некоторых случаях, удобно записать, составной шаблон используя знак «умножения» — эквивалентно повтору периодичности.
- Для тестирования созданных шаблонов, укажите количество отсчетов для проверки и нажмите кнопку «Заполнить отсчеты по шаблону».
Примеры шаблонов
Простые шаблоны
1 — выполнить один раз (используется для выполнения генеральной уборки после выселения гостя): 1000...
(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
Составные шаблоны
[0],(1) - каждый день со второго дня: 0111111...
-[1,1],(2,1) — через 2 дня со второго дня: 01001001...
[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…