Документация
Настройка раздела Handlers
Общая информация
Handlers — это функции или обработчики, запуск и выполнение которых контролируется расписанием, заданным в разделе jobs (подробнее об этом разделе смотрите в соответствующей статье). Первая строка в обработчике содержит основные сведения:
-
name
Имя обработчика, используемое для его вызова. Значение должно быть уникальным и содержать только латиницу + цифры.
-
description
Краткое описание функционала обработчика. Поле не является обязательным.
-
type
Тип обработчика. В InTime Server используется 2 типа обработчиков: вызов функции и запуск SQL скрипта.
Примеры обработчиков
Вызов функции
<handler name="HandlerRE1" description="Delete records" type="InTime.Handlers.DeviceClearClockingRecordNew,InTime"> <param name="Devices" value="Device1" type="System.String"/> <param name="HandlerType" value="1" type="System.Int32"/> </handler>
Запуск SQL скрипта
<handler name="CreateEventTable" description="Handler 1" type="InTime.Handlers.MSSQLHandler, InTime"> <param name="DataBases" value="DataBase1" type="System.String"/> <param name="HandlerType" value="-1" type="System.Int32"/> <param name="CommandText" value=" if not exists ( select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='Checkinout' and COLUMN_NAME='Sender') ALTER TABLE dbo.Checkinout ADD Sender VARCHAR(50) if not exists ( select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='ITClockingRecord') create table ITClockingRecord ( DeviceId int, PersonId int, Stat int, BackupCode int, WorkType int, Time datetime)" type="System.String"/> </handler>
Параметры обработчика определяются его типом, за исключением параметра HandlerType, который должен быть указан обязательно. Первый обработчик запускает функцию удаления новых записей с устройства после сбора. Соответственно, кроме HandlerType, он имеет параметр Devices. В поле Value указывается имя устройства, присвоенное ему в разделе devices (подробнее в соответствующей статье). Второй обработчик запускает SQL скрипт для БД и содержит параметры DataBases (в поле value вводится имя базы данных, к которой будет применен скрипт) и CommandText (в поле value вводится применяемый SQL скрипт).
Настройка существующих обработчиков
Очистка журналов устройств
<handler name="HandlerRE1" description="Delete records" type="InTime.Handlers.DeviceClearClockingRecordNew,InTime"> <param name="Devices" value="Device1" type="System.String"/> <param name="HandlerType" value="1" type="System.Int32"/> </handler>
Если в системе используется одно устройство, проверьте, что в значение поля value соответствует значению name из настроек устройства. Исправьте при необходимости.
Если устройств 2 и более:
- Скопируйте секцию настройки
- Измените имя обработчика (например: name="HandlerRE1" на name="HandlerRE2");
- Измените значение поля value в соответствии с настройками соответствующего устройства.
Необходимо сделать такой обработчик для каждого устройства и запускать его вместе с работой по сбору событий с него.
Автоматическая синхронизация времени
<handler name="HandlerSyncTime1" description="Синхронизация Времени" type="InTime.Handlers.DeviceSyncTime,InTime"> <param name="Devices" value="Device1" type="System.String"/> <param name="HandlerType" value="1" type="System.Int32"/> <param name="UTCTimeShift" value="UTC+5:00" type="System.String"/> </handler>
Как и в предыдущем случае, необходимо создать отдельный обработчик для каждого устройства в системе. Однако в данном случае можно указать требуемые устройства через запятую в поле value параметра device. Для параметра UTCTimeShift в поле value укажите ваш часовой пояс в формате UTC + часы:минуты. Настройте расписание запуска.
Настройка ночных смен, сбор событий
Обработчики SetNightEvents, CreateEventTable, HandlerCopyEvents по умолчанию настроены на применение необходимых скриптов к DataBase1. Если вы используете одну базу данных и не меняли поле name при занесении данных о ней в разделе DataBases, то эти обработчики настраивать не требуется. Вызывайте их при необходимости согласно расписанию раздела jobs.
Создание обработчиков
В зависимости от типа обработчика, скопируйте секцию <handler>...</handler> соответствующего типа. Измените имя и введите нужные параметры.

