Таймер, на который смотрит триггер, позволяет обрабатывать события типа «Если через X часов не произошло что-то, то делать предусмотренное действие».
Т.е. можно проверить через некоторое время, выполнилось ли нужное условие, или нет.
Также таймер пригодится, если нужно вызывать с какой-то периодичностью скрипт, не привязанный к объектам системы, а в рамках общей логики.
«Администрирование» → «Управление событиями таймера».
По любой колонке можно эту таблицу отсортировать.
При нажатии на «Добавить», отображается окно
При вызове по ссылке «Справочник бизнес операций» из формы «Управление событиями таймера», открывается форма с таблицей:
При нажатии на кнопку «+ Добавить», отображается поле для ввода названия бизнес операции (как при редактировании), но изначально пустое.
После заполнения и сохранения:
Cохраняет в очереди один вызов.
Параметры метода:
SessionID | ID сессии пользователя |
CallTime | обязательный параметр типа DateTime в котором содержится дата и время, когда необходимо послать сообщение на шину. |
ObjectID | GUID объекта, идентификатор, смысл которого будет известен при создании логики обработки, может быть идентификатором объекта дерева, записи справочника, пользователя и т.п. параметр не обязательный, если он не требуется, то вместо него должен допускаться null |
OperationCode | обязательный целочисленный параметр с кодом операции. Код должен быть зарегистрирован в справочнике кодов операций, если его там нет, то ошибка «Код операции не зарегистрирован» |
Parameters | объект типа JSON, в котором вызывающий может сохранить дополнительные параметры, которые будут необходимы при последующей обработке. |
Метод не возвращает ничего если завершение успешно. Если не успешно, то вызывает исключение.
Проверяет, есть ли заданный вызов в очереди среди будущих и еще не сработавших элементов очереди.
Параметры метода:
SessionID | ID сессии пользователя |
OperationCode | обязательный целочисленный параметр с кодом операции |
ObjectID | GUID объекта. Не обязательный параметр. Если он передан, ищутся сохраненные в очереди записи с точным совпадением на GUID и код операции. Если параметр null, то необходимо искать в очереди записи только с кодом операции и ObjectID = null. |
Возвращать метод должен список, содержащий удовлетворяющие условию поиска элементы очереди с параметрами (CallTime, Parameters), в том числе может быть пустой список, если поиск успешен, если поиск не успешен, то вызывает исключение.
При наступлении времени, когда должно быть отправлено в шину событие, в зарегистрированных через метод InsertTimerEvent и не обработанных еще на момент наступления заданного времени, генерируется отправка в шину события типа «Подписка на таймер», с параметрами, сохраненными в нем при подписке:
Подписка отмечается как исполненная.
При наступлении времени, когда должно быть отправлено событие, согласно таблице настроек, в шину отправляется событие типа «Таймер», которое содержит параметры:
OperationCode
Одновременно должно быть сохранено время последней сработки.