Вариант с СУБД

Загрузка данных может производиться из СУБД MS SQL или MySql. Обратите внимание: в ОС Windows XP может не поддерживаться интеграция с СУБД MySQL — в том случае, если сервер MySQL сконфигурирован на аутентификацию пользователей через плагин caching_sha2_password.

Вызовы

Для загрузки вызовов в БД должны быть соблюдены следующие условия:

  • Созданы два представления или две таблицы — для завершенных и текущих вызовов.  
  • Имена представлений или таблиц должны соответствовать настройкам «Имя таблицы (завершенные)» и «Имя таблицы (текущие)» в блоке «Получение звонков» сервиса, по умолчанию IDENT_FinishedCalls, IDENT_OngoingCalls
  • Организован доступ на чтение (SELECT) из этих представлений или таблиц.  
  • Представления или таблицы должны содержать поля из таблицы «Вызовы». Наборы полей в таблицах могут отличаться, но обязательные поля должны присутствовать. Таблицы  могут содержать произвольный набор дополнительных полей. Обратите внимание: поля, не содержащиеся в таблице «Вызовы», при загрузке игнорируются.
  • Важно: при завершении вызова информация о нем должна пропадать из таблицы текущих вызовов, а в таблице завершенных вызовов информация появляется только после завершения соответствующего вызова!

Заявки

Для загрузки заявок в БД должны быть соблюдены следующие условия:

  • Создано представление или таблица для заявок. 
  • Имя представления или таблицы должно соответствовать настройке «Имя таблицы заявок» в блоке «Получение заявок» сервиса, по умолчанию IDENT_Tickets
  • Организован доступ на чтение (SELECT) из этого представления или таблицы. 
  • Представление или таблица должны содержать поля из таблицы «Заявки». Обязательные поля должны присутствовать. Таблица может содержать произвольный набор дополнительных полей. Обратите внимание: поля, не содержащиеся в таблице «Заявки», при загрузке игнорируются.

Выгрузка расписания

Для получения расписания из IDENT в БД должны быть соблюдены следующие условия:

  • Созданы таблицы для вставки в них информации о филиалах, врачах и слотах расписания. 
  • Имена таблиц должны соответствовать настройкам «Имя таблицы филиалов», «Имя таблицы врачей», «Имя таблицы слотов» в блоке «Выгрузка расписания» сервиса, по умолчанию IDENT_Branches, IDENT_Doctors, IDENT_Intervals
  • Организован доступ на чтение (SELECT), вставку (INSERT), обновление (UPDATE), удаление (DELETE)  данных этих таблиц. 
  • Структура таблиц должна содержать обязательные поля из таблиц «Филиалы», «Врачи», «Слоты расписания» соответственно. Таблицы  могут содержать произвольный набор дополнительных полей. Обратите внимание: при вставке и обновлении эти поля будут игнорироваться, поэтому такие поля должны допускать значение null, или иметь значение по умолчанию.

Процесс выгрузки расписания из IDENT:

С периодичностью из настройки «Интервал (мин.)» в блоке «Выгрузка расписания» сервиса программой IDENT производятся следующие действия:

  1. Вычисляется период, за который необходимо выгрузить расписание в соответствии с настройками «За сколько дней вперед выгружать» и «На сколько часов за сегодня не выгружать». 
  2. Формируются списки филиалов, врачей, слотов расписания для периода из пункта 1.
  3. Из таблиц БД загружаются списки всех филиалов, врачей и слотов расписания за период из пункта 1.
  4. В БД удаляются все слоты расписания, которые не попали в период из пункта 1.
  5. IDENT сравнивает данные, подготовленные для выгрузки, с данными, загруженными из БД, по результатам сравнения производится вставка, обновление или удаление строк в таблицах.

Требования к типам полей

Для полей, имеющих тип DateTime, могут быть использованы типы:

  • MS SQL — datetime, datetime2, datetimeoffset
  • MySQL —  datetime

Для полей, имеющих тип int, могут быть использованы любые числовые поля БД. Значения этих полей должны быть в диапазоне от -2 147 483 648 до 2 147 483 647, дробная часть будет отброшена.

Для полей, имеющих тип bit, могут быть использованы любые числовые поля БД. Значения этих полей должны принимать значения 0 или 1.