При необходимости обработки импортируемых данных перед добавлением их в базу данных МЕДИАЛОГ в модуле статистики (DBKernel.pdf) следует сформировать SQL-запрос импорта. Результат выполнения такого запроса должен приводить данные к формату, указанному в требованиях к файлу импорта.
Запрос может использоваться в случае, когда данные импортируются из нескольких файлов импорта с разной структурой или различной информацией.
SQL-запрос импорта должен иметь простую структуру и выполняться быстро.
В запросе импорта не должно быть сложных подзапросов и условий. Все необходимые для запроса данные следует подготовить скриптом инициализации.
Настраиваемый SQL-запрос обязательно должен содержать следующие поля (настроенные параметры):
_DM_MEDS_ID int | – ID товара, который был найден или создан в базе данных МЕДИАЛОГ; |
_DM_DOC_ID int | – ID накладной, которая была найдена или создана в базе данных МЕДИАЛОГ; |
_DM_TRANSERS_ID int | – ID позиции накладной, которая была найдена или создана в базе данных МЕДИАЛОГ; |
_STATUS int | – статус обработки записи; |
_ERR_TEXT varchar (2000) | – текст ошибки обработки импортируемой записи. |
При настройке конфигурации импорта в поле Файл модуля статистики для преобразования данных (рис. 9.5.7) следует указать название соответствующего ini-файла созданного SQL-запроса. Если запрос не указан, то в процессе импорта он формируется автоматически в виде:
SELECT * FROM [основная таблица импорта]
При необходимости обработки импортируемых данных в определенном порядке в конфигурации могут быть указаны Поля сортировки для таблицы импорта (рис. 9.5.7). Поля сортировки IMP_FIELD1, IMP_FIELD2,...,IMP_FIELDn следует перечислять через запятую, что соответствует добавлению в SQL-запрос выражения:
ORDER BY IMP_FIELD1, IMP_FIELD2,...IMP_FIELDn
Рисунок 9.5.7. SQL-запрос импорта и поля сортировки для таблицы импорта