Навигация:  МОДУЛЬ "УЧЕТ УСЛУГ" > ИМПОРТ ДАННЫХ МОДУЛЯ "УЧЕТ УСЛУГ" > Общие сведения об импорте данных модуля "Учет услуг" > Конфигурации импорта >

SQL-скрипт (обработка записи)

Предыдущая страницаВернуться в начало главыСледующая страница

В процессе импорта система последовательно обрабатывает записи, возвращенные SQL-запросом импорта, при этом производятся все необходимые проверки и обновления данных, заданные в коде программы, и заполнение системных полей в основной таблице импорта.

Если есть необходимость дополнительной обработки каждой импортируемой записи после добавления данных в системные таблицы (т.е. сразу после создания или обновления услуги), то в окне Настройка импорта на вкладке SQL (обработка записи) можно указать SQL-скрипт (рис. 14.1.9).

Примеры применения скрипта обработки записи:

·добавление признака "Статус прикрепления" (например, STANDART, VIP, SUPER-VIP и т.п.);

·добавление информации о риске прикрепления;

·заполнение поля _PATIENTS_ID – ID найденного пациента (если _PATIENTS_ID заполнен скриптом, поиск потенциальных дубликатов при импорте не производится).

Для написания скрипта используется синтаксис языка SQL. Для обращения к текущей записи таблицы импорта используется параметр :IMPORT_RECORD_ID. Использование оператора GO не поддерживается при выполнении скрипта обработки.

 Рисунок 14.1.9. SQL (обработка записи)


Рисунок 14.1.9. SQL (обработка записи)

Пример скрипта обработки записи

/* Для каждой новой записи о прикреплении добавляем признак "Статус прикрепления", значения которого берем из соответствующего справочника в МИС МЕДИАЛОГ. */

set NOCOUNT on

 

update FM_CLINK_PATIENTS

set USER_CP_STATUS_REF_ID = u_cp_s.USER_CP_STATUS_REF_ID

   from FM_CLINK_PATIENTS as fm_cp

        inner join IMP_INSURANSE as imp_i

                on imp_i._FM_CLINK_PATIENTS_ID = fm_cp.FM_CLINK_PATIENTS_ID

        inner join USER_CP_STATUS_REF as u_cp_s

                on (u_cp_s.STATUS = imp_i.POLICE_TYPE)

where imp_i.IMP_INSURANSE_ID = :IMPORT_RECORD_ID and isnull (imp_i.IS_EXIST, 0) = 0