Выгрузка данных выбирает данные из информационной базы, преобразует их в формат данных ST-Mobi.com, и передает их на сервер согласно настроек транспорта. состав выгружаемых данных (набор правил) определяется при запуске выгрузке:

  • в ручном режиме обмена - все отмеченные флажком правила выгрузки (на закладке "Настройка выгрузки")
  • в автоматическом режиме обмена - все правила выгрузки для которых наступило время согласно заданному расписанию автообмена (на закладке "Настройка выгрузки")

Запуск выгрузки данных осуществляется по нажатию кнопки "Выгрузка данных" или вызову команды объекта "Выгрузка данных в ST-МобиКом" (Объект.ВыполнитьКоманду("ВыгрузкаДанных")) или "Обмен данными с ST-МобиКом" (Объект.ВыполнитьКоманду("ОбменДанными")). В последнем случае, выгрузка данных выполняется после загрузки данных.

Реализация функционала

Выгрузка данных выполняется в три этапа:

  1. Подготовка выгрузки
  2. Получение данных
    1. Выгрузка файлов в ST-Drive
  3. Отправка данных в сервис

Перед запуском выгрузки и после её выполнения из правил вызываются обработчики событий "ПередВыгрузкой" и "ПослеВыгрузки"

Подготовка выгрузки

При подготовке выгрузки для каждого правила подготавливаются служебные структуры.
Если на текущее правило выгрузки есть ссылки из правил выгрузки ST-Drive, то происходит и подготовка правил ST-Drive.
Выполняется обработчик события "ПередВыгрузкойОбъектов".

Получение данных

Данные выбираются из базы запросом указанным в правилах. После выполнения запроса его результат помещается в ДеревоЗначений.

Выгрузка файлов в ST-Drive

Для каждого правила выгрузки ST-Drive который ссылается на текущее правило, выполняется формирование имени файла, отправка файла в сервис с присвоением сформированного имени файла, и установкой сформированного имени файла в соответствующую строку и колонку полученных данных выгрузки.

За один запуск процедуры выгрузки на сервер ST-Drive отправляется не более указанного количества файлов (по умолчанию 100).

Выполняется обработчик события "ПослеВыгрузкиОбъектов".
Если после выполнения обработчика события ДеревоЗначений не содержит строк, то обработка записывает предупреждение "Нет данных в выборке", и дальнейшая обработка правила не выполняется.

Отправка данных в сервис

После получения данных, начинается формирование файла (файлов) для выгрузки в сервис с использованием указанного в настройках транспорта.
В целях оптимизации нагрузки на сервис, обработка разбивает выгружаемые данные по файлам, с учетом максимального количества файлов в объектах (по умолчанию 100500).
При подсчете количества объектов в файле учитываются и вложенные объекты (например строки документов).

Если в правиле указан режим замещения объектов при выгрузке (флаг "Замещать объекты"), то этот флаг будет установлен только для первого файла данных, для всех последующих файлов данных этого правила флаг будет сброшен.

  • Нет меток