Конвертация данных с мэппингом объектов



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

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

В качестве исходной информации для разработки использовалась обработка переноса исходных данных из базы "Зарплата и Управление Персоналом, редакция 2.5" в базу "Зарплата и Управление Персоналом, редакция 3.1".

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

Обработка выгрузки работает в базе с режимом запуска "Обычное приложение", обработка загрузки — в базе с режимом запуска "Управляемое приложение".

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

Для выгрузки необходимо:

  • выбрать каталог, в который будут помещены файлы;
  • выбрать файл с правилами конвертации;
  • выбрать месяц начала эксплуатации, соответствующий реквизиту "Дата начала" обработки "Универсальный обмен данными в формате XML;
  • номера начального и конечного обрабатываемого правила выгрузки данных.

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

Обработка загрузки является доработанной обработкой "Универсальный обмен данными в формате XML" конфигурации "Зарплата и Управление Персоналом, редакция 3.1".

Перед загрузкой необходимо:

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

Таблицы мэппинга представляют собой файлы MXL с именами, совпадающими с именами объектов конфигурации базы приемника. Основными колонками файлов являются "ГУИД" и "ГУИД эталона".

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

В колонку "ГУИД" помещается уникальный идентификатор элемента базы источника, а в колонку "ГУИД эталона" уникальный идентификатор соответствующего элемента, уже существующего в базе приемнике.

В правиле конвертации мэппингуемого объекта должен быть установлен признак "Искать объект приемника по внутреннему идентификатору объекта источника".

Разработка велась и тестировалась на конфигурациях "Зарплата и Управление Персоналом, редакция 2.5" (релиз 2.5.128.1) и "Зарплата и Управление Персоналом, редакция 3.1" (релиз 3.1.4.169). Обработки должны работать на любой конфигурации-источнике, в состав которой входит обработка "Универсальный обмен данными в формате XML".

7 Comments

  1. leosoft

    Вы бы хоть написали для чего этот механизм (тэппинг) может потребоваться?

    Reply
  2. vladismi

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

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

    Само определение мэппинга (мапирования) достаточно хорошо описано в Википедии (https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0­%BD%D0%B8%D0%B5).

    Reply
  3. leosoft

    В Вашей обработке эти таблицы соответствий как создаются?

    Reply
  4. vladismi

    (3) Ручками и Excel-ем.

    Из исходной базы и из базы получателя выгружаются таблицы с уникальными идентификаторами и наименованиями элементов мэппингуемых объектов, помещаются в Excel, применяется ВПР, что не определилось или где ВПР соврал — устанавливается вручную…

    Reply
  5. tambu

    Добрый день!

    равильно я понял, что Вы изменили типовые обработки по выгрузке данных? А не получится это сделать внося изменения только лишь в правила обмена? Всё же не хочется «ломать» логику типовых обработок.

    Reply
  6. vladismi

    Логика типовой обработки не изменена.

    В обработку внесена возможность подмены ГУИДа для поиска объектов приемника по внутреннему идентификатору объекта источника.

    Ну и, конечно, добавлен механизм использования таблиц соответствия внутренних идентификаторов объектов источника и объектов приемника.

    Reply
  7. tambu

    (6) Понял, спасибо за ответ! Мы сейчас пытаемся решить эту задачку без изменения обработок, зашив подмену в правила. Если не получится, придется «украсть» Вашу идею.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *