Наверное уже большинство разработчиков разобрались что такое EnterpriseData и с чем его едят.
Но порой перед тем как делать новый обмен между типовым конфигурациями или даже не типовыми там, где реализован обмен через универсальный формат, мы хотели бы получить мэппинг объектов, например:
ОбъектКонфигурацииERP |
Направление |
ОбъектФормата |
Направление |
ОбъектКонфигурацииЗУП 3.1 | |
ДокументСсылка.ВыработкаСотрудников | ОП |
|
П | ДокументСсылка.ДанныеДляРасчетаЗарплаты |
где:
О - отправка
П - получение
ОП - получение и отправка
Т.е. в приведенном примере мы видим, что в ERP документ ВыработкаСотрудников выгружается в формат обмена Документ.ВыработкаСотрудников, а на стороне конфигурации ЗУП загружается в документ ДанныеДляРасчетаЗарплаты.
Если нужного объекта в обмене нет, мы понимаем, что нам требуется доработка формата.
Для получения мэппинга я использую типовые инструменты. В данном случае нам нужна конфигурация Конвертация 3, которая хранит в себе структуру метаданных и правила обмена EnterpriseData.
Если вы используете версию Конвертации 3.0, то необходимо исправить ошибку в форме обработки ЗагрузкаПравилСинхронизацииИзФайлов в процедуре ЗагрузитьПКО строку
ТекПКО.ВариантИдентификации = Перечисления.ВариантыИдентификацииОбъектов[СтруктураАтрибутов.ВариантИдентификации];
убрать в условие
Если ТекПКО.ИспользоватьДляПолучения Тогда
ТекПКО.ВариантИдентификации = Перечисления.ВариантыИдентификацииОбъектов[СтруктураАтрибутов.ВариантИдентификации];
КонецЕсли;
В версии 3.1 эту ошибку исправили. Можно закрыть конфигуратор конвертации, он нам больше не понадобится.
Подготовим данные конфигураций источников, по которым мы будем строить мэппинг.
Следуем типовой инструкции конвертации и действиям, описываемым в Этапе 1.
Выгрузка/загрузка структуры метаданных и структуры формата обмена
- Выгрузка структуры информационных баз УП и БП.
- Экспорт xml-схемы формата обмена
- Загрузка структуры информационных баз в конфигурацию КД 3.0
- Загрузка структуры формата обмена в конфигурацию КД 3.0
Далее нам нужно получить текущие правила обмена.
- Обработкой "Выгрузка правил синхронизации.epf", входящей в комплект конфигурации Конвертация 3.0, выгружаем правила обмена
- Открываем в конфигураторе общий модуль МенеджерОбменаЧерезУниверсальныйФормат и выгружаем его в файл
- В конвертации в разделе Конвертации открываем обработку "Загрузка правил синхронизации из файлов" где указываем ранее выгруженные файлы.
В итоге в базе Конвертация мы получаем для исследуемых баз
- Структуру конфигурации
- Правила обмена
Теперь у нас есть все данные, чтобы построить мэппинг объектов между двумя конфигурациями.
Открываем консоль запросов, указываем запрос ниже и заполняем два параметра, конфигурацию 1 (Conf1) и конфигурацию 2 (Conf2).
ВЫБРАТЬ
ПравилаConf2.ОбъектФормата КАК ОбъектФормата,
ВЫБОР
КОГДА ПравилаConf2.ОбъектФормата ПОДОБНО "Справочник.%"
ТОГДА 1
КОГДА ПравилаConf2.ОбъектФормата ПОДОБНО "Документ.%"
ТОГДА 2
ИНАЧЕ 3
КОНЕЦ КАК Порядок,
ВЫБОР
КОГДА ПравилаConf2.ОбъектФормата ПОДОБНО "Справочник.%"
ТОГДА "Справочник"
КОГДА ПравилаConf2.ОбъектФормата ПОДОБНО "Документ.%"
ТОГДА "Документ"
ИНАЧЕ "Прочее"
КОНЕЦ КАК Тип,
МАКСИМУМ(ПравилаConf2.ИспользоватьДляПолучения) КАК ИспользоватьДляПолучения,
МАКСИМУМ(ПравилаConf2.ИспользоватьДляОтправки) КАК ИспользоватьДляОтправки,
ПравилаConf2.ОбъектКонфигурации КАК ОбъектКонфигурации
ПОМЕСТИТЬ ПравилаConf2
ИЗ
Справочник.ПравилаКонвертацииОбъектов КАК ПравилаConf2
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СоставыКонвертаций КАК СоставыКонвертацийConf2
ПО (ПравилаConf2.Ссылка = СоставыКонвертацийConf2.ЭлементКонвертации)
И (СоставыКонвертацийConf2.Владелец = &Conf2)
СГРУППИРОВАТЬ ПО
ПравилаConf2.ОбъектФормата,
ПравилаConf2.ОбъектКонфигурации
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ПравилаConf1.ОбъектФормата КАК ОбъектФормата,
ВЫБОР
КОГДА ПравилаConf1.ОбъектФормата ПОДОБНО "Справочник.%"
ТОГДА 1
КОГДА ПравилаConf1.ОбъектФормата ПОДОБНО "Документ.%"
ТОГДА 2
ИНАЧЕ 3
КОНЕЦ КАК Порядок,
ВЫБОР
КОГДА ПравилаConf1.ОбъектФормата ПОДОБНО "Справочник.%"
ТОГДА "Справочник"
КОГДА ПравилаConf1.ОбъектФормата ПОДОБНО "Документ.%"
ТОГДА "Документ"
ИНАЧЕ "Прочее"
КОНЕЦ КАК Тип,
МАКСИМУМ(ПравилаConf1.ИспользоватьДляПолучения) КАК ИспользоватьДляПолучения,
МАКСИМУМ(ПравилаConf1.ИспользоватьДляОтправки) КАК ИспользоватьДляОтправки,
ПравилаConf1.ОбъектКонфигурации КАК ОбъектКонфигурации
ПОМЕСТИТЬ ПравилаConf1
ИЗ
Справочник.ПравилаКонвертацииОбъектов КАК ПравилаConf1
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СоставыКонвертаций КАК СоставыКонвертацийConf1
ПО ПравилаConf1.Ссылка = СоставыКонвертацийConf1.ЭлементКонвертации
И (СоставыКонвертацийConf1.Владелец = &Conf1)
СГРУППИРОВАТЬ ПО
ПравилаConf1.ОбъектФормата,
ПравилаConf1.ОбъектКонфигурации
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ЕСТЬNULL(ПравилаConf1.Порядок, ПравилаConf2.Порядок) КАК Порядок,
ЕСТЬNULL(ПравилаConf1.Тип, ПравилаConf2.Тип) КАК Тип,
ПравилаConf1.ОбъектКонфигурации КАК ОбъектКонфигурацииConf1,
ВЫБОР
КОГДА ПравилаConf1.ИспользоватьДляОтправки
И ПравилаConf1.ИспользоватьДляПолучения
ТОГДА "ОП"
КОГДА ПравилаConf1.ИспользоватьДляОтправки
ТОГДА "О"
КОГДА ПравилаConf1.ИспользоватьДляПолучения
ТОГДА "П"
КОНЕЦ КАК НаправлениеConf1,
ЕСТЬNULL(ПравилаConf1.ОбъектФормата, ПравилаConf2.ОбъектФормата) КАК ОбъектФормата,
ВЫБОР
КОГДА ПравилаConf2.ИспользоватьДляОтправки
И ПравилаConf2.ИспользоватьДляПолучения
ТОГДА "ОП"
КОГДА ПравилаConf2.ИспользоватьДляОтправки
ТОГДА "О"
КОГДА ПравилаConf2.ИспользоватьДляПолучения
ТОГДА "П"
КОНЕЦ КАК НаправлениеConf2,
ПравилаConf2.ОбъектКонфигурации КАК ОбъектКонфигурацииConf2
ИЗ
ПравилаConf2 КАК ПравилаConf2
ПОЛНОЕ СОЕДИНЕНИЕ ПравилаConf1 КАК ПравилаConf1
ПО ПравилаConf2.ОбъектФормата = ПравилаConf1.ОбъектФормата
И (ПравилаConf2.ОбъектФормата <> "")
ГДЕ
ПравилаConf1.ОбъектФормата <> ""
И НЕ ПравилаConf1.ОбъектКонфигурации ЕСТЬ NULL
И НЕ ПравилаConf2.ОбъектКонфигурации ЕСТЬ NULL
УПОРЯДОЧИТЬ ПО
Порядок,
ОбъектФормата,
ПравилаConf1.ОбъектКонфигурации,
ПравилаConf2.ОбъектКонфигурации
ИТОГИ ПО
Тип
В результате получаем мэппинг объектов между конфигурациями и информацию к размышлению и дальнейшей работе.
В приложенном файле готовый отчет, который фактически использует приведенный выше запрос.