+7 (499) 502-21-85
Телефон
info@intime365.ru
E-mail

Настройка раздела Handlers

Общая информация

Handlers — это функции или обработчики, запуск и выполнение которых контролируется расписанием, заданным в разделе jobs (подробнее об этом разделе смотрите в соответствующей статье). Первая строка в обработчике содержит основные сведения:

  • name

    Имя обработчика, используемое для его вызова. Значение должно быть уникальным и содержать только латиницу + цифры.

  • description

    Краткое описание функционала обработчика. Поле не является обязательным.

  • type

    Тип обработчика. В InTime Server используется 2 типа обработчиков: вызов функции и запуск SQL скрипта.

Примеры обработчиков

Вызов функции

  1. <handler name="HandlerRE1" description="Delete records" type="InTime.Handlers.DeviceClearClockingRecordNew,InTime">
  2. <param name="Devices" value="Device1" type="System.String"/>
  3. <param name="HandlerType" value="1" type="System.Int32"/>
  4. </handler>

Запуск SQL скрипта

  1. <handler name="CreateEventTable" description="Handler 1" type="InTime.Handlers.MSSQLHandler, InTime">
  2. <param name="DataBases" value="DataBase1" type="System.String"/>
  3. <param name="HandlerType" value="-1" type="System.Int32"/>
  4. <param name="CommandText" value="
  5. if not exists ( select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='Checkinout' and COLUMN_NAME='Sender')
  6. ALTER TABLE dbo.Checkinout ADD Sender VARCHAR(50) if not exists ( select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='ITClockingRecord')
  7. create table ITClockingRecord
  8. ( DeviceId int,
  9. PersonId int,
  10. Stat int,
  11. BackupCode int,
  12. WorkType int,
  13. Time datetime)"
  14. type="System.String"/>
  15. </handler>

Параметры обработчика определяются его типом, за исключением параметра HandlerType, который должен быть указан обязательно. Первый обработчик запускает функцию удаления новых записей с устройства после сбора. Соответственно, кроме HandlerType, он имеет параметр Devices. В поле Value указывается имя устройства, присвоенное ему в разделе devices (подробнее в соответствующей статье). Второй обработчик запускает SQL скрипт для БД и содержит параметры DataBases (в поле value вводится имя базы данных, к которой будет применен скрипт) и CommandText (в поле value вводится применяемый SQL скрипт).

Настройка существующих обработчиков

Очистка журналов устройств

  1. <handler name="HandlerRE1" description="Delete records" type="InTime.Handlers.DeviceClearClockingRecordNew,InTime">
  2. <param name="Devices" value="Device1" type="System.String"/>
  3. <param name="HandlerType" value="1" type="System.Int32"/>
  4. </handler>

Если в системе используется одно устройство, проверьте, что в значение поля value соответствует значению name из настроек устройства. Исправьте при необходимости.

Если устройств 2 и более:

  1. Скопируйте секцию настройки
  2. Измените имя обработчика (например: name="HandlerRE1" на name="HandlerRE2");
  3. Измените значение поля value в соответствии с настройками соответствующего устройства.

Необходимо сделать такой обработчик для каждого устройства и запускать его вместе с работой по сбору событий с него.

Автоматическая синхронизация времени

  1. <handler name="HandlerSyncTime1" description="Синхронизация Времени" type="InTime.Handlers.DeviceSyncTime,InTime">
  2. <param name="Devices" value="Device1" type="System.String"/>
  3. <param name="HandlerType" value="1" type="System.Int32"/>
  4. <param name="UTCTimeShift" value="UTC+5:00" type="System.String"/>
  5. </handler>

Как и в предыдущем случае, необходимо создать отдельный обработчик для каждого устройства в системе. Однако в данном случае можно указать требуемые устройства через запятую в поле value параметра device. Для параметра UTCTimeShift в поле value укажите ваш часовой пояс в формате UTC + часы:минуты. Настройте расписание запуска.

Настройка ночных смен, сбор событий

Обработчики SetNightEvents, CreateEventTable, HandlerCopyEvents по умолчанию настроены на применение необходимых скриптов к DataBase1. Если вы используете одну базу данных и не меняли поле name при занесении данных о ней в разделе DataBases, то эти обработчики настраивать не требуется. Вызывайте их при необходимости согласно расписанию раздела jobs.

Создание обработчиков

В зависимости от типа обработчика, скопируйте секцию <handler>...</handler> соответствующего типа. Измените имя и введите нужные параметры.

© 2018 InTime, LLC

Search