Расписание
Общее описание функции
Функция Расписание выполняет роль таймера, активизируя бизнес-процесс в определенный момент и передавая управление на следующую за ней функцию.
Когда функция расписания включена в цикл, можно добиться активизации бизнес-процесса по определенному графику — в определенные моменты времени. Такой подход позволяет избежать необходимости повторно создавать экземпляры одного бизнес-процесса.
Сценарии использования
-
Однократное срабатывание: функция срабатывает один раз в определенное время или по истечении указанного периода времени, даже если она является частью цикла.
Если функция расписания с однократным срабатыванием получает управление позже указанного для неё времени срабатывания, то она будет выполнена немедленно, если на вкладке Однократное срабатывание свойств функции был установлен флаг
Учитывать датуили на следующий день в заданное время, если этот флаг установлен не был. -
Периодическое срабатывание: функция срабатывает в соответствии с графиком, рассчитанным по определенному набору параметров.
Чтобы функции расписания периодического типа срабатывала повторно, её необходимо включить в цикл.
Настройка параметров
На вкладке Параметры окна свойств функции следует указать режим работы функции (Однократное срабатывание или Периодическое срабатывание), а на вкладках Однократное срабатывание и Периодическое срабатывание — параметры срабатывания функции в зависимости от её типа и назначения.
Если необходимые для исполнения бизнес-процесса поля функции не были определены или значения переменных пустые, функция остановится по ошибке.
Однократное срабатывание
На вкладке Однократное срабатывание в секции Тип срабатывания с помощью переключателей определяется тип срабатывания функции — По абсолютному моменту времени или По относительному значению времени. В зависимости от выбранного переключателя следующая секция вкладки отображается в одном из двух возможных вариантов.
- По абсолютному моменту времени
-
В этом случае следующая секция носит название Момент срабатывания и позволяет установить момент срабатывания функции расписания с помощью переменной типа дата/время или непосредственным заданием значения (с помощью календаря или ввода с клавиатуры). Флаг
Учитывать датупозволяет кроме указанного времени учитывать дату срабатывания, без флага будет учитываться только время.
- По относительному значению времени
-
В этом случае следующая секция носит название Величина задержки и позволяет указать период с момента получения управления функцией расписания до передачи ею управления на следующую функцию.
Период указывается при помощи целочисленной переменной (название которой указывается в поле Значение) или задания значения (в поле Значение) и его размерности (в поле Величина) — в секундах, минутах, часах, днях или неделях.
Периодическое срабатывание
На вкладке Периодическое срабатывание определяются параметры периодического срабатывания.
- Начальная дата
-
Дата и время первого срабатывания функции, причем действуют следующие правила:
-
Если в поле Тип повторений явно не указывается момент срабатывания функции (например, В МАСКА Дни недели через ИНТЕРВАЛ Недель), то функция активизируется в момент времени, указанный в данном поле.
-
Если поле не заполнено, функция срабатывает в первый раз, когда приходит её очередь и ей передается управление, а затем — с указанной периодичностью — в то время суток, когда произошло её первое срабатывание.
-
Если управление передано функции расписания позднее Начальной даты, расчет следующей её активизации производится, исходя из текущей даты, а не из указанной в этом поле.
-
Начальная дата может вводиться как с помощью переменной типа Дата/Время, так и указанием конкретного значения.
-
- Тип периодичности
-
Правило завершения действия функции расписания — при достижении некоторой даты (указанной в поле Конечная дата) или после определенного количества срабатываний (указанном в поле Число повторений), функция выполняется в бесконечном цикле, если тип периодичности не указан.
- Конечная дата
-
Для типа периодичности Конечная дата. Если в момент передачи управления функции расписания значение текущей даты и времени превышает конечное значение даты, функция завершает работу.
Значение конечной даты можно указать путем ввода с клавиатуры или при помощи переменной типа Дата/Время. - Количество повторений
-
Для типа периодичности Количество повторений указывается количество срабатываний функции. Можно указать значение вручную или использовать целочисленную переменную.
- Тип повторений
-
Один из следующих типов повторений:
-
Один раз — однократное повторение.
-
Каждые ИНТЕРВАЛ мин (час) — повторение каждые <числовое значение> минут/часов/недель/месяцев. Момент следующего срабатывания функции рассчитывается прибавлением к предыдущему моменту значения Интервала, которое указывается в следующем поле.
-
Каждые ИНТЕРВАЛ мин (час) после — повторение каждые <числовое значение> минут/часов/недель/месяцев. Момент следующего срабатывания функции рассчитывается прибавлением значения Интервала (размерность которого указывается в следующем поле) к моменту начала расчета.
-
В МАСКА часы через ИНТЕРВАЛ дней — повторение в <указание момента времени> часов через <числовое значение> дней (например, в 15:00 через каждые два дня).
-
В МАСКА дни недели через ИНТЕРВАЛ недель — повторение каждые <указание дней недели> через <числовое значение> недель (например, каждую среду через каждые три недели в момент времени, указанный в поле Начальная дата).
-
В МАСКА дни месяца через ИНТЕРВАЛ месяцев — повторение каждые <числовое значение> дни месяца через <числовое значение> месяцев (например, каждое 13 и 25 числа месяца через каждые четыре месяца в момент времени, указанный в поле Начальная дата).
-
В МАСКА дни недели через ИНТЕРВАЛ месяцев — повторение каждые <указание дней недели> через <числовое значение> месяцев (например, каждую среду через каждые два месяца в момент времени, указанный в поле Начальная дата).
-
МАСКА месяцы по ИНТЕРВАЛ (по маске) дням — повторение каждый <указание месяца> по <числовое значение> дням (например, каждый апрель восьмого числа в момент времени, указанный в поле Начальная дата).
-
МАСКА месяцы по ИНТЕРВАЛ (по маске) дням недели — повторение <указание месяца> по <указание дней недели> (например, каждый апрель и июнь по средам и четвергам в момент времени, указанный в поле Начальная дата).
-
- Маска повторений
-
Для типа периодичности Количество повторений указываются значения для различных типов повторений. Маска повторений может представлять собой числовое значение (значения), название дня (дней) недели, название месяца (месяцев).
- Интервал повторений
-
Для типа периодичности Количество повторений определяется число, которое в поле Тип повторений обозначено как ИНТЕРВАЛ. Может быть задан интервал повторений переменной бизнес-процесса типа целое, которая работает либо как абсолютная величина (например, Через ИНТЕРВАЛ недель), либо также как Маска (например, если ИНТЕРВАЛ задает маску дней).
- Рассчитанная дата
-
В поле может быть указана переменная бизнес-процесса, которой будет присвоено значение даты следующего срабатывания, рассчитанное по параметрам функции, определенным выше на этой же вкладке.
- Связь выхода из функции
-
Функция, которой будет передано управление бизнес-процессом после достижения конечной даты, означающей выход из цикла.
|
Переменная для выбора в поле Связь выхода из функции должна быть объявлена в свойствах бизнес-процесса и иметь тип Дата/Время. |
|
Маска повторений может определяться переменной бизнес-процесса типа целое. Переменная должна представлять собой бинарную маску (бинарная маска — это 2 в степени, равной требующемуся числу минус один), соответствующую часам, дням недели (с понедельника), числам месяца. Минимальное значение — |