Настройка правил выгрузки данных - Публичная база знаний Modus
Функциональная возможность «Правила выгрузки» позволяет:
- получать данные из источника (базы данных, 1С, файла и т.д.), подробнее см. раздел «Источники данных»;
- получить данные при помощи SQL запроса, 1С запроса, «Системы компоновки данных» (СКД) или кода на python;
- сохранить данные в конкретную базу данных или таблицу.
Правила выгрузки для определенного набора данных могут меняться в зависимости от потребностей или в связи с изменением структуры данных в источниках данных, поэтому предусмотрена возможность хранить историю правил выгрузки.
Настройка собственно правил получения данных зависит от вида правила выгрузки.
Объект «Правило выгрузки» хранится в справочнике «Правила выгрузки», а настройки, привязанные к определенному правилу выгрузки, устанавливаются документом «Установка правил выгрузки».

Каждый следующий документ с одним и тем же правилом, отменяет действие предыдущего. В Modus ETL реализован механизм версионирования объектов, который фиксирует изменения пакетов, сценариев и правил выгрузки, предоставляя доступ к истории правок и сравнению версий объектов, подробнее см. раздел «Версионирование объектов в Modus ETL».
Документ «Установка правил выгрузки» содержит текст запроса и параметры для получения данных из источника, а также правила записи этих данных в таблицу-приемник.
Чтобы создать новый или отредактировать существующий документ перейдите в раздел «Главное/ Настройки/ Установить правила выгрузки» или «Начальная страница/Сбор данных/ Установка правил выгрузки».

В диалоговом окне «Установить правила выгрузки», для формирования нового правила нажмите кнопку «Создать».

В диалоговом окне «Установить правило выгрузки (создание)» заполните:
- «Тип правила» («Рабочее», «Разовое» и т.п.) — пользовательский справочник, служит для удобства группировки и поиска правил.
- «Тип приемника» — выберите из вариантов:
- «Таблица произвольной СУБД (ADO)» — используется по умолчанию для большинства баз данных (PostgreSQL, MS SQL, ClickHouse и др.), не требует дополнительных настроек.
- «Таблица внешнего источника данных» — требует настройки внешнего источника в конфигураторе 1С, применяется для записи в базу, отличную от основной (например, в стороннюю БД через COM-соединение). Используется для поддержки соместимости для старых версий etl.
- «Правило выгрузки» —выберите существующее правило из справочника, если подходящего нет, нажмите кнопку «Создать» и настройте новое. Подробнее см. раздел «Использование существующей таблицы БД в правиле выгрузки» подраздел «Настройка правила выгрузки».
- «Вид правила» — от вида правила зависит способ получения данных. Виды правил выгрузки:
- «Запрос» — подробнее см. раздел БЗ «Настройка правила вида «Запрос»»;
- «Произвольный код» — подробнее см. раздел БЗ «Настройка правила вида «Произвольный код»»;
- «Загрузка из файла» — подробнее см. раздел БЗ «Настройка правила вида «Загрузка из файла»»;
- «Схема источника (СКД)» — подробнее см. раздел БЗ «Настройка правила вида «Схема источника (СКД)» для 1С-источника»;
- «Модули на стороне источника» — подробнее см. раздел БЗ «Внешние обработки в 1С через Адаптер»;
- «Модули python» — подробнее см. раздел БЗ «Настройка правила вида «Модуль python»»;
- «Загрузка из очереди сообщений» — это режим получения данных, при котором Modus ETL выступает в роли «подписчика». Он подключается к брокеру сообщений и обрабатывает события в реальном времени, как только они возникают в системе-источнике. Подробнее см. разделы БЗ «Агент ETL», «Настройка взаимодействия Агента ETL и информационной базы ETL», «Установка адаптера ETL».
- «Конфигурация» —
настройки конфигурации объектов метаданных, свойства и значения объектов, подробнее см. раздел «Исторические данные. Версионирование таблиц баз данных».
- «Проект» — при необходимости укажите «Проект», подробнее см. раздел «Технические настройки для подготовки к работе» подраздел «Проекты».
- «Загрузка изменений по плану обмена (для 1С)» — инкрементальная выгрузка данных из 1С: ETL забирает только то, что изменилось с прошлого раза. Настраивается через штатные механизмы 1С (планы обмена). Ускоряет загрузку и снижает нагрузку на источник. Подробнее см. раздел базы знаний «Настройка инкрементальной загрузки из 1С».

Вкладка «База данных»:
- «БД для выгрузки» — выберите из справочника баз данных базу-приемник.
- «Таблица выгрузки» — выберите таблицу-приемник. Эта таблица может уже существовать в базе-приемнике или возможно ввести название еще несуществующей таблицы, а в последствии, когда ее поля будут описаны в представлении полей таблицы (см. рисунок ниже, п.4).
- «Настроить таблицу выгрузки» — кнопка открывает окно для создания и настройки целевой таблицы. Здесь вы указываете её имя, сопоставляете поля источника с колонками (кнопка «Заполнить соответствие полей»), задаете типы и слои данных. Подробнее см. настройке смотрите в разделах «Использование существующей таблицы БД в правиле выгрузки» и «Получение данных из зарплатных отчетов (ЗУП)».
Примечание: для разовых выгрузок (отчет, файл) настройку таблицы можно не выполнять.
Важно: флаг «Изменять объект в базе» (внутри окна) разрешает или запрещает ETL автоматически менять структуру существующей таблицы при последующих выгрузках.
- Структура таблицы выгрузки.

Вкладка «Служебные поля»:
Используется для настройки аудиторских полей. После выбора режима в поле «Режим заполнения служебных полей», при создании таблицы поля будут добавлены в нее вместе с полями на вкладке «База данных». По умолчанию используется режим — «Основной». Подробнее см. раздел «Настройка служебных полей».
Вкладка «Обработчики»:
Используется для настройки постобработки данных в особых случаях. Например, для преобразования/ форматирования полученных значений; заполнения геокоординат по адресу и т.д.

Вкладка «Настройки»:
- Флаг «Не замещать существующие объекты» — при установленной галочке, система пропустит этап изменения или пересоздания целевой таблицы, если она уже существует в базе данных. Это полезно, когда структура таблицы уже настроена, и вы не хотите, чтобы ETL сбросил её по умолчанию (например, удалил индексы или изменил типы полей).
- Флаг «Выполнять замену символов» — при установленной галочке доступна настройка замены символов в строковых полях получаемых данных (например, удаление или замена недопустимых символов, не поддерживаемых целевой СУБД). Используется для предотвращения ошибок при загрузке «грязных» данных;
- «Таблица модели» — выберите объект метаданных, описывающий структуру таблицы в хранилище (DWH). Обычно заполняется автоматически после настройки таблицы выгрузки (кнопка «Настроить таблицу выгрузки»).

Вкладка «Настройка обезличивания» — настройка маскировки персональных данных «на лету» при загрузке в DWH. Позволяет обезличить поля (ФИО, телефон etc) по заданному правилу.

Подробнее см. раздел базы знаний «Технические настройки для подготовки к работе».

- «Провести и закрыть» — при проведении происходит запись («Период», «Регистратор», «Правило») в регистр «Правила выгрузки». Этот регистр служит для хранения истории документов-регистраторов для конкретного правила и получения актуального правила и актуального регистратора, что используется, например, в «Обработке выгрузки данных».
- «Записать» — записать изменения.
- «Провести» — поведение аналогично «Провести и закрыть».
- «Настроить параметры» — позволяет задать значения для параметров, используемых в запросе (например, дату начала и окончания периода), подробнее см. раздел «Настройка состава выгрузки данных».
- «Консоль запросов» — предназначена для выполнения SQL-запросов к подключённым базам данных, проверки правильности синтаксиса, получения предварительных результатов, отладки запросов, отработки правил выгрузки и анализа структуры данных, подробнее о работе в консоли запросов см. раздел «Консоль запросов».
Примечание — Если вам необходимо использовать существующую таблицу БД в правиле выгрузки, подробнее см. раздел «Использование существующей таблицы БД в правиле выгрузки».