Загрузка данных может производиться из СУБД 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.
- Из таблиц БД загружаются списки всех филиалов, врачей и слотов расписания за период из пункта 1.
- В БД удаляются все слоты расписания, которые не попали в период из пункта 1.
- IDENT сравнивает данные, подготовленные для выгрузки, с данными, загруженными из БД, по результатам сравнения производится вставка, обновление или удаление строк в таблицах.
Требования к типам полей
Для полей, имеющих тип DateTime, могут быть использованы типы:
- MS SQL — datetime, datetime2, datetimeoffset
- MySQL — datetime
Для полей, имеющих тип int, могут быть использованы любые числовые поля БД. Значения этих полей должны быть в диапазоне от -2 147 483 648 до 2 147 483 647, дробная часть будет отброшена.
Для полей, имеющих тип bit, могут быть использованы любые числовые поля БД. Значения этих полей должны принимать значения 0 или 1.