Решение «Перенос данных»

23 0

Идея данного решения не нова. Еще в конце 2021 года, компания Directum выпустила решение "Утилита для переноса справочных данных Directum RX", которое позволяет переносить данные коробки между системами, а в рамках Directum Awards 2022 был представлен анонс текущего решения.
Время с анонса прошло достаточно и поэтому пришло время рассказать о решении и его новых возможностях.

Описание решения

Решение "Перенос данных" реализовано по принципу NoCode и представляет собой инструмент, позволяющий администраторам систем или интеграторам переносить данные между контурами Directum RX, например с ПРОД-а на тестовый контур, или на контур разработки и наоборот. Дополнительно с добавлением функционала экспорта шаблонов, появилась возможность импорта данных из других систем.

Обложка модуля

 Для решения доступна отдельная обложка "Перенос данных".


Рис. Обложка модуля "Перенос данных"

Действия обложки:

  • Экспортировать записи - позволяет выгрузить все и отдельные записи выбранного справочника в XML или Excel формат;
  • Экспортировать шаблон - позволяет сформировать шаблон импорта с полным реквизитным составом в XML или Excel формате;
  • Импортировать записи - позволяет загрузить в систему или обновить свойства текущих записей справочника.

Экспорт записей

При нажатии на на кнопку "Экспортировать записи", открывается диалог экспорта.


Рис. Диалог "Экспорт записей"

На выбор доступно два формата экспорта: XML и Excel.
Внимание: Если не планируется редактирование экспортируемых данных, то рекомендуется выбрать XML формат, т.к. он работает быстрее. 


Рис. Поле выбора формата экспорта

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


Рис. Поле выбора типа справочника

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


Рис. Поле экспорта


Для корректного импорта в другую систему, необходимо заполнить список ключевых полей, по сочетанию которых будет осуществляться поиск дублей при импорте записей.
Например, при экспорте большого количества записей справочника "Персоны", можно указать только одно ключевое свойство "ФИО", но в этом случае, все персоны с такими же Ф.И.О. не будут загружены в систему и будут распознаны, как дубликаты существующей записи. Чтобы избежать таких ситуаций, рекомендуется указывать два и более ключевых свойства, сочетание которых, будет уникально для каждой записи. Для персон это могут быть свойства "ФИО" + "Табельный номер" или  "ФИО" + "Эл. почта".
Внимание: Для выбора не доступны свойства-ссылки, свойства-коллекции, а так же свойства с системными типами данных (BinaryData, Image, Component).


Рис. Заполнение ключевых свойств

В результате экспорта, браузер, предложит сохранить XML или Excel файл.


Рис. Пример экспортированного XML файла

Импорт записей

При нажатии на на кнопку "Импортировать записи", открывается диалог импорта.


Рис. Диалог "Импорта записей"

При нажатии на поле "Файл", открывается окно выбора документа для экспорта в XML и Excel формате.


Рис. Окно выбора файла для импорта

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


Рис. Диалог "Импорта записей" с загруженным файлом

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


Рис. Выбор свойств для обновления

После импорта записей сформируется отчет "Результат импорта записей".


Рис. Отчет "Результаты импорта записей"

Экспорт шаблона

Механизм генерации шаблонов объектов, призван отчасти упростить процесс миграции данных в Directum RX из "любых" сторонних систем (Directum 5, DocsVision и т.д.).

Шаблоны формируются в двух форматах:

  • XML - для сторонних систем в которых можно организовать экспорт данных в заданную XML структуру;
  • Excel - для ручного заполнения данными.

Примечание: чтобы экспортировать данные в XML формате из сторонней системы, как правило, требуется привлечение прикладного разработчика этой системы. Для импорта данных в Directum RX, прикладной разработчик не требуется.

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


Рис. Диалог "Экспорт шаблона"

В результате экспорта, браузер, предложит сохранить XML или Excel файл.


Рис. Пример экспортированных Excel и XML файлов

В экспортируемые шаблоны попадает следующая информация:

  • Данные о реквизитном составе справочника;
  • Данные о коллекциях и их реквизитном составе;
  • Для каждого свойства экспортируется: имя свойства, локализированное имя, имя в БД, тип данных, признак обязательности, а так же признак ключевого свойства для импорта;
  • Для свойств типа "Перечисление" экспортируются все возможные значения этого свойства;
  • Для свойств типы "Ссылка" экспортируется Guid типа объекта, хранимого в этом свойстве.

Пример XML шаблона справочника "Виды документов":
Прикреплен файл: Шаблон импорта Виды документов.xml
Внимание: признак "IsRequired" обозначает обязательные свойства, признак "Meaningful" обозначает ключевые свойства, выбранные в диалоге экспорта шаблона.

Пример Excel шаблона справочника "Виды документов":
Прикреплен файл: Шаблон импорта Виды документов.xlsx
Внимание: "красным" (коралловым) цветом выделены обязательные свойства, подчеркнутые заголовки обозначают ключевые свойства, выбранные в диалоге экспорта шаблона.

Дополнительные особенности

  1. Из коробки поддерживаются изменения добавленные с систему прикладными разработчиками на этапе внедрения (новые справочники, новые свойства, перекрытия справочников);
  2. Поддерживается перенос данных свойств-коллекций;
  3. Если при импорте записи не удалось заполнить обязательные свойства, запись справочника создается и заполняется доступными данными, в последствии эти свойства можно заполнить повторным импортом.
  4. Решение работает в версии Directum RX 3.6 и выше (работа в версиях до 3.6 не тестировалась).

Ограничения

  1. В текущей версии решения экспорт/импорт документов не доступен;
  2. Решение не поддерживает перенос следующих типов свойств: BinaryData, Component;
  3. Длинна данных, при экспорте в *.xlsx файл, ограничена размером в 32767 символа на Excel ячейку;
  4. По умолчанию, отключен экспорт/импорт следующих справочников: «Ассистенты руководителей», «Настройки видимости организационной структуры»;
  5. Максимальный размер загружаемого файла, в диалоге импорта, по умолчанию ограничен размером в 60Мб. 

Быстродействие

Нагрузочное тестирование и замеры скорости проводились на тестовом справочнике объемом 7000 записей.


Рис. Пример записи тестового справочника

Запись справочника содержит следующие свойства:

  • Строки - 2 свойства;
  • Ссылки - 3 свойства;
  • Перечисления - 1 свойство;
  • Логические типы - 2 свойства.

Результаты импорта 7000 записей:

  • Загрузка и анализ Xml или Excel файла, в диалоге импорта - 30 секунд;
  • Импорт данных в систему с генерацией отчета - 120 секунд.

Заключение

Технические вопросы Вы можете задать в комментариях к статье.
По остальным вопросам, Вы можете обратиться к нашему руководителю отдела продаж Хрусталеву Георгию Викторовичу.
E-mail: hrustalev@starkovgrp.ru
Телефоны: +7 (343) 385-75-85 (106), +7 (922) 119-49-48.

Другие наши решения

Решение "Конструктор условий и ролей в регламентах"
Решение "Вспомогательные инструменты" (Service Kit)

Пока комментариев нет.

Авторизуйтесь, чтобы написать комментарий