Механизм извлечения данных с использованием обработок plug-in’ов (модулей получения данных)
3 минутное чтение
Для придания большей гибкости конфигурации в части механизмов получения данных, так как именно эта часть является часто изменяемой, был разработан механизм «Модулей получения данных». На низком уровне он представляет из себя «Дополнительные обработки» библиотеки стандартных подсистем 1С, которые предоставляют стандартный API для простого использования в конфигурации программного продукта.
Последовательность настройки описана ниже.
- Создать обработку для получения данных (например, используя сторонние web-сервисы).
- Добавить внешнюю обработку в список «Дополнительных обработок».
При добавлении следует особое внимание обратить на режим работы: если предполагается работать с внешними ресурсами, то режим должен быть «Не безопасный».
- Добавить обработку в качестве «Модуля получения данных».
При создании нового «Модуля получения данных», в списке «Обработок» отображаются все «Дополнительные обработки». Заполнение таблицы с информацией об обработчиках, предоставляемых Модулем, заполняется с использованием программного интерфейса (API) дополнительной обработки.
Обязательными обработчиками являются:
- «Обработчик получения данных» — вызывается при обработке очереди получения данных.
- «Обработчик получения параметров при постановке в очередь» — функция,которая формирует коллекцию параметров, в разрезе которых возможнопостроить очередь. Минимально коллекция должна быть из одного параметра, чтобы очередь могла состоять из одного элемента. Параметрами могут быть любые сущности, которые зависят не от пользователя (например, список «Организаций», по которым требуется получить информацию, или список «Видов спорта», по которым нужно получить список действующих тренеров).
Необязательными обработчиками являются:
- «Обработчик получения списка полей таблицы» — функция формирования списка типизированных поле, которые являются полями результирующей таблицы данных. В контексте запроса – это поля запроса. Поля используются для сопоставления полей источника и полей приемника в документе «Установка правил выгрузки».
- «Обработчик получения списка параметров пользователя» — функция, формирующая список параметров, которые нужно указать пользователю для корректного получения данных.
- Настроить правило выгрузки с использованием нового «Модуля получения данных». Для этого в «Виде запроса» выбираем «Произвольный код». На вкладке «Данные модуля» выбираем «Модуль получения данных».
После выбора «Модуля получения данных», автоматически будет заполнен список доступных «Идентификаторов групп обработчиков». Это строки табличной части «Модуля» для упрощенной настройки кода вызова обработчиков.
После заполнения Идентификатора будет предложено автоматически заполнить соответствующие страницы с программным кодом вызова обработчиков.
Важно! Программный код вызова обработчиков можно заполнить и вручную, механизм модулей — это лишь помощь в настройке.
Код может быть произвольным. Контекст вызова каждого обработчика можно посмотреть в «Подсказке» (символ «?» на форме).
- Настроить «Состав выгрузки» для правила (более подробно о настройке написано в п. 7).
Ниже приведен пример алгоритма работы получения данных с использованием «Модулей получения данных».
Пусть состав настроен для «Набора источников» который состоит из 6 «Источников» (здесь источник — это просто абстрактная сущность для деления данных на порции в очереди) и «Правила получения данных» по образовательным учреждениям с использованием механизма «Модуля получения данных».
- При формировании очереди вызывается обработчик «Перед постановкой в очередь» из состава выгрузки (в данном обработчике пусть получается список Идентификаторов образовательных учреждений, к примеру, список состоит из 1200 образовательных учреждений). Список из 1200 образовательных учреждений делится на 6 «Источников» и записывается очередь в разрезе Источников.
- При получении данных из очереди для каждого источника вызывается «Обработчик получения данных» из «Установки правила выгрузки данных» в контексте 200 образовательных учреждений из очереди, данные формализуются в виде таблицы значений и отдаются механизму сопоставления полей и записи в «Хранилище данных (DWH)».