Was this article helpful?

Спасибо за вашу оценку!

Оставляя более подробный отзыв, вы помогаете нам улучшать документацию

Практикум. Банковская информационная система. Интеграция данных.

На платформе GreenData доступны различные инструменты для реализации интеграций.

В Системе реализуется импорт данных из файлов Excel с возможностью создания экземпляров объектов, в том числе дочерних.

В рамках практикума необходимо реализовать загрузку данных из таблицы Excel с помощью шаблона в реестре типа объектов «Целевое назначение». Также для удобства пользователя необходимо реализовать отображение кнопки в этом реестре для запуска процесса интеграции через шаблон.

extracted

Также необходимо реализовать загрузку данных отчетности для экземпляров типа объектов «Клиент» из таблицы Excel с помощью модуля ETL. Для реализации такого функционала необходимо создать интеграцию ETL и настроить схему процесса.

image395

Все необходимые материалы приложены к практикуму.

Внимание! Перед настройкой модуля «Интеграция данных» необходимо предварительно реализовать настройки, описанные в главах:

Настройка загрузки данных по шаблону

Для простой загрузки справочников воспользуйтесь загрузкой данных по шаблону.

Перед началом настройки на платформе, сформируйте Таблицу с экземплярами для типов объектов типа объектов «Целевое назначение» в MS Excel или скачайте готовую (используемая в практикуме таблица «5_Справочник целевое назначение» приложена к нему).

Создание ключа для справочника

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

Ключ – набор атрибутов (столбцов) сущности, который применяется для выполнения системных проверок дублирования данных.

После настройки ключа в процессе загрузки данных система проведет поиск по существующим записям и проверит их ключи. Система не будет сохранять новый объект до тех пор, пока его ключ не будет уникальным.

Создайте ключ для типа объектов «Целевое назначение». Для этого перейдите в реестр типов объектов через пункт главного меню «Администрирование» - «Управление объектами» - «Типы объектов».

extracted

В реестре найдите тип объектов «Целевое назначение» с помощью поиска и откройте его для настройки двойным нажатием в списке.

image397

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

extracted

В модальном окне заполните поля: Наименование – «Ключ по наименованию», Атрибуты – «Наименование».

extracted

Сохраните настройки типа объектов с помощью кнопки сохранения на панели управления.

Создание шаблона

Для реализации загрузки данных из xls-файла через шаблон, необходимо создать новый шаблон в реестре типа объектов «Шаблон загрузки xls-файлов для типов объектов». Для этого перейдите в пункт меню «Администрирование» - «Управление объектами» - «Шаблон загрузки xls-файлов».

extracted

В реестре шаблонов создайте новый объект с помощью кнопки image398.

image402

Заполните поле «Наименование» - значение «Шаблон загрузки элементов реестра Целевое назначение». Сохраните шаблон с помощью кнопки сохранения на панели управления.

В поле «Параметры объекта» создайте новый параметр: в модальном окне выберите тип «Параметры объекта».

extracted

Параметр должен связывать тип объектов «Целевое назначение» и получаемые данные. Для этого заполните поля следующим образом:

  • Наименование – «Связь с целевым назначением»;

  • Идентификатор – «PARAM_PURPOSE»;

  • Тип значения параметра – «Объект»;

  • Тип объекта – «Целевое назначение».

extracted

Сохраните параметр с помощью кнопки «Ок». Сохраните шаблон с помощью кнопки сохранения на панели управления.

Настройка шаблона

Далее необходимо настроить шаблон, для этого нажмите на кнопку «Редактор Excel шаблона» на панели управления.

extracted

В редакторе шаблона необходимо загрузить существующий файл с наполнением, структура которого будет использоваться в дальнейшем. Для этого раскройте список действий, выберите в нем «Выбрать новый файл» и загрузите шаблон.

extracted

В результате вы увидите шаблон файла в правой части редактора, а также информационную панель с указанием выполненной загрузки документа.

image407

Далее необходимо разделить шаблон на разные разделы для загрузки. Для этого выберите тип объектов, атрибуты которого будут заполняться значениями из шаблона — раскройте список, выберите тип «Целевое назначение» и добавьте его с помощью кнопки «Добавить».

extracted

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

extracted

Выберите вариант определения начала раздела: в поле «Поиск по» установите значение «Значению в направлении загрузки», для создания экземпляров, данные в шаблоне для которых располагаются по вертикали ниже выбранной ячейки. Создайте связь с ячейкой шаблона «А1 – Целевое назначение».

image410

Выберите вариант определения конца раздела: установите значение «Первая пустая ячейка» и свяжите с последней ячейкой столбца шаблона.

image411

Снимите флаг «Пропускать пустые строки/столбцы». Ниже в группе «Сопоставление записей» заполните поле значением «Обновление», для реализации обновления существующих экземпляров и создания новых, а также укажите ключ для сопоставления объектов и выберите «Ключ по наименованию».

extracted

Ниже расположены группы для настройки атрибутов. Настройте связь с атрибутом Наименование: привяжите его к ячейке «А2 – Пополнение оборотных средств», которая содержит первое справочное значение.

extracted

Сохраните настройки шаблона с помощью кнопки в группе настройки наименования шаблона.

extracted

Запуск загрузки из шаблона

Запуск загрузки данных из шаблона реализуется в настройках шаблона. Раскройте панель действий с помощью кнопки в группе настройки наименования шаблона. Для загрузки данных из текущего файла необходимо выбрать «Загрузить объекты», для нового файла той же структуры – «Загрузить объекты из нового файла».

extracted

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

extracted

Загруженные данные будут отображаться в реестре типа объектов «Целевое назначение».

extracted

Настройка ETL

Настройте интеграцию для загрузки данных отчетности клиента, используя инструменты ETL. Перед началом настройки на платформе, сформируйте Таблицу с данными для Агрегированного отчета в MS Excel или скачайте готовую (используемая в практикуме таблица 6_Данные отчетности приложена к нему).

image417

Для реализации загрузки данных, необходимо создать новый объект в реестре типа объектов «Клиент». В окне создания пользователя заполните обязательно следующие поля:

  • Краткое наименование – ООО «Пример»;

  • ИНН – 7806298113;

  • КПП – 366601001;

  • ОГРН - 1187847030580.

Сохраните настройки клиента, который будет использоваться для загрузки данных.

image418

Создание объекта ETL

Объект ETL – главная сущность ETL-процесса, содержащая в себе основные атрибуты процесса и схему выполнения. Для его создания необходимо открыть реестр объектов ETL: перейдите в пункт главного меню «Интеграция»«ETL».

extracted

В реестре создайте новый объект с помощью кнопки создания на панели управления. Заполните поля: Наименование – «Загрузка данных отчетности клиента», ИдентификаторETL_LOAD_REPORT_DATA_CLIENT. Сохраните объект по кнопке сохранения на панели управления.

image420

В группе «Управление параметрами запуска ETL» в качестве типа стартового объекта можно указать дочерний типа «ETL. Экземпляр объекта ETL», в котором будет храниться информация о текущем процессе, логи запроса. Если оставить это поле пустым, то данные будут автоматически сохраняться в реестре типа объектов «ETL. Экземпляр объекта ETL». Чтобы открыть его реестр, необходимо к главном меню перейти в пункт «Интеграция»«Протокол запуска ETL».

extracted

Оставьте пустыми поля в группе «Управление параметрами запуска ETL».

В группе «Управление логированием» можно настроить уровень логирования:

  • информация по этапам – отображение ошибок (в случае их возникновения) и данных о прохождении этапов процесса.

  • отладочная информация – отображение ошибок (в случае их возникновения), данных о прохождении этапов процесса (включая действия и результат);

  • полный лог – отображение полного лога процесса ETL. Рекомендовано при настройке процесса;

  • только ошибки – отображение ошибок процесса ETL (в случае их возникновения).

Также можно оставить комментарий с описанием входных данных и результата интеграции.

Заполните поля следующим образом:

  • Уровень логирования в лог экземпляра«Полный лог»;

  • Записывать в протокол результирующие структуры данных этапов«Да».

Сохраните настройки объекта ETL.

extracted

Создание схемы ETL

Схема ETL определяет ход процесса ETL.

Перейдите к настройке схемы с помощью кнопки «Схема ETL», расположенной на панели управления.

extracted

Работа со схемой процесса ETL аналогична настройке схем бизнес-процессов: создание схемы процесса ETL осуществляется на рабочей области посредством перетаскивания необходимых элементов с панели и установления между ними связи.

extracted

Создайте следующую схему:

extracted

Наименования элементов задаются на самой схеме процесса ETL после двойного клика по нему. Заполните наименования для этапов.

extracted

Настройте типы элементов, выбрав необходимые в списке панели действий этапа.

extracted

Укажите следующие типы этапов:

  • Загрузка данных отчета из файла, тип – Источник. Файл;

  • Преобразовать дату и найти клиента, тип – Преобразователь;

  • Преобразовать код клиента, тип – Преобразователь;

  • Загрузка в форму отчетности, тип – Приемник. Форма отчетности.

extracted

Сохраните настройки схемы ETL с помощью кнопки на рабочей области.

Настройка этапа «Загрузка данных отчета из файла»

Перейдите к настройке этапа «Загрузка данных отчета из файла», выбрав соответствующее действие на панели действий элемента.

На этом этапе данные файла принимаются и распределяются согласно заданной структуре.

extracted

В настройках этапа на вкладке «Параметры источника» заполните поле «Расширение файла» и выберите значение из списка «XLS», для реализации загрузки файла в соответствующем формате.

extracted

Заполните появившееся поля следующим образом:

  • Заполнять отсутствующие элементы пустыми значениями – «Нет»;

  • Файл содержит заголовки – «Нет»;

  • Номер первой строки с данными – «1»;

  • Пропускать пустые строки – «Да».

extracted

На вкладке «Описание структуры» в поле «Формат описания структуры данных» выберите значение «XML». В поле «WSDL/JSON» введите следующую структуру:

<obj_name>abc</obj_name>

<obj_inn>abc</obj_inn>

<date>abc</date>

<standart_name>abc</standart_name>

<form_name>abc</form_name>

<part_name>abc</part_name>

<row_code>1234</row_code>

<row>abc</row>

<pok>abc</pok>

<nvalue>123</nvalue>

extracted

Сохраните настройки этапа по кнопке сохранения на панели управления.

Настройка этапа «Преобразовать дату и найти клиента»

Перейдите к настройке этапа «Преобразовать дату и найти клиента», выбрав соответствующее действие на панели действий элемента.

На этом этапе данные из файла должны соотноситься со справочником клиентов, чтобы сохранять значение кода клиента, а также дата должна преобразоваться из строкового типа в дату для дальнейшего сохранения формы отчетности.

На вкладке «Основное» добавьте существующую структуру с сохранением иерархии, воспользовавшись соответствующей кнопкой.

image432

В выходной структуре разверните структуру и добавьте новое поле для сохранения кода клиента для формы отчетности.

image433

В модальном окне Наименование«client_obj», Тип поля«OBJECT».

extracted

Для добавленного поля структуры добавьте еще одно поле. В модальном окне заполните поля: Наименование«obj_code», Тип поля«STRING».

extracted

Настройте трансформатор данных для реализации поиска кода клиента в справочнике на основе входящих данных из файла, полученных на предыдущем этапе.

На вкладке «Дополнительно» создайте новый экземпляр в реестре «Трансформаторы данных» типа «ETL. Трансформатор данных. Поиск объекта в справочнике».

extracted

Создайте объект «Поиск кода клиента по справочнику». В поле «Коллекция входных данных» выберите коллекцию входных данных «$.row.row.row.obj_inn», поочередно раскрывая структуру входных данных.

extracted

В поле «Тип объекта» необходимо выбрать справочник, экземпляры которого будут сопоставляться с входными данными. Заполните поле значением «Клиент».

В поле «Атрибут типа» необходимо казать уникальный атрибут настраиваемого справочника Системы – для клиента таковым является «ИНН».

extracted

В поле «Атрибут с необходимым значением» указывается наименование атрибута, значение которого заимствуется. Чтобы в дальнейшем запустить загрузку в форму отчетности для определенного клиента, необходимо передавать его код. Так как в списке доступных атрибутов типа объектов «Клиент» нет атрибута «Код», создайте технический атрибут, который будет копировать и хранить код клиента и не будет отображаться на визуале. Для этого перейдите в настройки типа объектов «Клиент»: в поле «Тип объекта» разверните панель дополнительных действий и выберите «Открыть в новой вкладке».

В настройках типа объектов «Клиент» создайте новый атрибут:

  • Наименование«Код (тех.)»;

  • Наименование поля для таблицы«CLIENT_CODE»;

  • Тип«Целое число».

extracted

Сохраните настройки типа объектов.

Создайте выражение, которое будет копировать значение кода клиента в новый технический атрибут. Создайте алгоритм «Копирование кода для тех. атрибута клиента» [COPY_CODE_CLIENT_ALG], базовый тип объектов – «Клиент». Заполните поле формулы алгоритмом атрибутом «Код», для этого воспользуйтесь функцией attr в группе «Источники». Сохраните настройки алгоритма.

image440

В окне настройки выражения активируйте переключатель «Установить результаты в атрибут», в поле «Атрибут» выберите «Код (тех.)», а в поле ниже «При изменении любых атрибутов данного типа». Сохраните настройки выражения, а затем тип объектов.

extracted

Для того чтобы заполнить атрибут для существующих экземпляров типа объектов, выделите выражение и воспользуйтесь кнопкой «Пересчитать экземпляры типа».

image442

В появившемся модальном окне воспользуйтесь кнопкой «Запустить пересчет», а затем в диалоговом окне подтвердите его.

extracted

После выполнения пересчета появится всплывающее уведомление об этом.

Сохраните настройки типа объектов и вернитесь к настройке трансформатора. Заполните оставшиеся поля следующим образом:

  • Атрибут с необходимым значением – «Код (тех.)»;

  • Коллекция выходных данных – «$.rows.row.$.client_obj.obj_code».

extracted

Сохраните настройки трансформатора по кнопке «Ок», затем текущего этапа по кнопке на панели управления.

Аналогично добавьте поле для хранения преобразованной даты и настройте трансформатор.

Вернитесь на вкладку «Основное» и добавьте новое поле «rep_date», тип – «DATETIME».

extracted

На вкладке «Дополнительно» создайте новый трансформатор типа «ETL. Трансформатор данных. По алгоритму».

extracted

Создайте объект «Преобразование строки в дату». В поле «Коллекция входных данных» выберите коллекцию входных данных «$.row.row.row», поочередно раскрывая структуру входных данных.

extracted

В качестве коллекции для выходных данных укажите «$.rows.rows.$.rep_date». Добавьте алгоритм в поле «Алгоритм» раскройте панель дополнительных действий и выберите «Добавить».

extracted

Выберите тип алгоритма «Алгоритм. ETL».

extracted

Создайте алгоритм «Преобразовать строку в дату» [STRING_TO_DATE_ALG], поля с указанием типов объектов оставьте пустыми. Алгоритм будет извлекать значение структуры ETL из поля «date» и преобразовывать в формат даты.

Заполните полу формы алгоритма:

extracted

Воспользуйтесь следующими функциями:

Чтобы повторить алгоритм, выполните последовательность действий:

  1. Создайте новую переменную, которая будет хранить извлеченное значение из структуры ETL. В группе «Алгоритмы» воспользуйтесь функцией «var» - в модальном коне создайте переменную «string»;

  2. С помощью клавиатуры введите знак присваивания (:=);

  3. Укажите элемент структуры ETL откуда необходимы взять значение. В группе «Интеграция» выберите функцию «etlValue». В качестве аргумента функции, в кавычках введите название поля «date», значение которого будет извлекаться;

  4. Для преобразования строки в дату, в поле ввода формула алгоритма с помощью клавиатуры введите функцию «parseDate». В качестве первого аргумента вставьте переменную «string» с помощью функции «var». В качестве второго аргумента в кавычках введите формат даты «dd.MM.yyyy».

Сохраните настройки алгоритма.

extracted

Сохраните настройки трансформатора. Сохраните настройки этапа. Вернитесь к схеме ETL.

Настройки этапа «Преобразовать код клиента»

Перейдите к настройке этапа «Преобразовать код клиента», выбрав соответствующее действие на панели действий элемента. На этом этапе значение кода клиента в строковом формате будет переводиться в числовой.

На вкладке «Основное» добавьте существующую структуру с сохранением иерархии, воспользовавшись соответствующей кнопкой.

В выходной структуре разверните структуру и добавьте новое поле для организации отдельного поля для сохранения кода клиента для формы отчетности.

Добавьте новое поле «client_code», тип – «NUMBER».

На вкладке «Дополнительно» создайте новый трансформатор типа «ETL. Трансформатор данных. По алгоритму».

Создайте объект «Преобразовать строку в числовой тип». В поле «Коллекция входных данных» выберите коллекцию входных данных «$.rows.row.$.client_obj».

extracted

В качестве коллекции для выходных данных укажите «$.rows.row.$.client_code».

Добавьте алгоритм в поле «Алгоритм» раскройте панель дополнительных действий и выберите «Добавить». Выберите тип алгоритма «Алгоритм. ETL».

Создайте алгоритм «Преобразовать строку в число» [STRING_TO_NUMBER_ALG], поля с указанием типов объектов оставьте пустыми. Алгоритм будет извлекать значение структуры ETL из поля «obj_code» и преобразовывать в числовой формат.

Заполните поле формулы алгоритма:

image453

Воспользуйтесь следующими функциями:

Чтобы повторить формулу алгоритма выполните следующую последовательность:

  1. Создайте новую переменную, которая будет хранить извлеченное значение из структуры ETL. В группе «Алгоритмы» воспользуйтесь функцией «var» - в модальном коне создайте переменную «string»;

  2. С помощью клавиатуры введите знак присваивания (:=);

  3. Укажите элемент структуры ETL откуда необходимы взять значение. В группе «Интеграция» выберите функцию «etlValue». В качестве аргумента функции, в кавычках введите название поля «obj_code», значение которого будет извлекаться;

  4. Для того, чтобы значение сохранялось в числовом формате, в поле ввода алгоритма с помощью клавиатуры введите «.toInteger()».

Сохраните настройки алгоритма. Сохраните настройки трансформатора и этапа.

extracted

Настройка этапа «Загрузка в форму отчетности»

Перейдите к настройке этапа «Загрузка в форму отчетности», выбрав соответствующее действие на панели действий элемента.

На этом этапе преобразованные данные сохраняются в форму отчетности типа объектов «Клиент».

Настройте связи с формой отчетности, куда будут загружаться данные. Для этого в поле «Настройка связывания форм отчетности» разверните панель дополнительных действий и выберите «Добавить».

Если у вас нет такой возможности, то необходимо создать копию текущего визуала и перейти в режим редактирования.

extracted

В режиме редактирования визуала для атрибута «Настройка связывания форм отчетности» настроить возможность создания экземпляров.

extracted

Сохраните настройки визуала с помощью кнопки «Ок» и вернитесь к настройке этапа. Создайте новую настройку связывания форм отчетности, если не сделали этого ранее.

extracted

Заполните наименование «Настройки связи с формой отчетности Клиента» и сохраните экземпляр с помощь кнопки сохранения на панели управления, чтобы продолжить настройку связи.

extracted

Создайте новый экземпляр в поле «Привязки форм». В модальном коне заполните поля:

  • Форма отчетности – «Агрегированный отчет»;

  • Способ привязки – «По наименованию»;

  • Способ привязки стандарта – «По наименованию».

Сохраните настройки объекта с помощью кнопки на панели управления.

extracted

В группе «Разделы» создайте новый экземпляр «Привязки разделов». В модальном окне заполните поля:

  • Раздел формы отчетности – «Основной раздел»;

  • Способ привязки – «По наименованию».

extracted

Перейдите на вкладку «Показатели» и заполните поле «Способ привязки показателей» значением «По наименованию».

extracted

Перейдите на вкладку «Строки» и заполните поле «Способ привязки строк» значением «По коду статьи (Только для строк)».

extracted

Сохраните настройки текущего экземпляра настроек. Вернитесь на вкладку «Показатели» и добавьте новый объект «Привязки показателей». В модальном окне в поле «Показатель формы отчетности» выберите «Значение».

extracted

Сохраните настройки текущего экземпляра настроек. Вернитесь на вкладку «Строки» и добавьте новый объект «Привязки показателей». В модальном окне заполните поля:

  • Строка формы отчетности – «Чистая прибыль/убыток»;

  • Строка сопоставления – «1».

extracted

Аналогично привяжите остальные строки:

  • Комиссионные доходы – 2;

  • Комиссионные расходы – 3;

  • Процентные доходы – 4;

  • Процентные расходы – 5.

image465

Сохраните настройки связей. Вернитесь к настройке этапа сохранения.

Для того чтобы создать экземпляр формы отчетности, в котором будут храниться данные, необходимо связать поля структуры ETL с атрибутами: выберите поле слева и атрибут справа, затем воспользуйтесь кнопкой «Связать».

image466

Настройте связи коллекций структуры ETL и атрибутами форм отчетности:

  • Объект (OBJECT) - $.rows.row.$.client_code;

  • Отчетная дата (REPORT_DATE) - $.rows.row.$.rep_date;

  • Стандарт (STANDARD) - $.rows.row.$.standart_name;

  • Форма (FORM) - $.rows.row.$.form_name;

  • Раздел (FORM_PART) - $.rows.row.$.part_name;

  • Строка (ROW ) - $.rows.row.$.row_code;

  • Показатель (POK) - $.rows.row.$.pok;

  • Значение (число) (NVALUE) - $.rows.row.$.nvalue.

extracted

Ниже заполните поле «Заполнять отсутствующие элементы пустыми значениями» значением «Нет», также снимите флаг для поля «Очистить лог при успешном выполнении этапа».

extracted

Сохраните настройки этапа.

Запуск загрузки отчетности

Запустите отчетность по файлу. Для этого перейдите к объекту ETL и на панели управления воспользуйтесь кнопкой «Выполнить ETL по файлам».

extracted

После нажатия на кнопку появится модальное окно, в котором необходимо выбрать файл с устройства с помощью соответствующей кнопки. После выбора файла его название отобразится в модальном окне. Запуск процесса интеграции реализуется с помощью кнопки «Запустить». По окончанию процесса модальное окно закроется.

image470

После выполнения загрузки у клиента появится новый отчет.

Для того, чтобы проверить как выполнилась интеграция, нужно перейти в реестр запусков через пункт меню «Интеграция» - «Протокол запуска ETL».

extracted

В экземпляре запуска интеграции отображается ETL и объект, по которому он был запущен, а также информация о признаке активности и ошибках при выполнении. В логе отображается выполнение этапа и ошибки, возникающие во время выполнения.

image472