При переходе с конфигурации «Конвертация данных 2.1» на «Конвертацию данных 3.0» разработчики часто сталкиваются с непониманием базовых принципов работы новой системы. Типичная ситуация: на руках есть привычный архив с файлами ExchangeRules.xml, CorrespondentExchangeRules.xml и RegistrationRules.xml, однако попытка загрузить их в базу КД 3.0 заходит в тупик. Разберем по шагам, почему эти файлы не подходят для КД 3.0, как устроен обмен через универсальный формат EnterpriseData и как правильно настроить интеграцию между базами.
Выясним причину, по которой файлы правил из архива невозможно напрямую использовать в КД 3.0:
ExchangeRules.xml и CorrespondentExchangeRules.xml — это готовые правила конвертации данных (ПКО, ПКС, алгоритмы), выгруженные исключительно из конфигурации «Конвертация данных 2.1». Механизм КД 2.0 основан на выгрузке правил в файл формата XML, который затем считывается универсальной обработкой или планом обмена БСП. В КД 3.0 концепция полностью изменена: правила конвертации формируются в виде чистого программного кода на встроенном языке 1С и помещаются непосредственно в общий модуль конфигурации.RegistrationRules.xml — это правила регистрации объектов на узлах плана обмена. В отличие от правил конвертации, правила регистрации по-прежнему используются подсистемой обмена данными БСП в виде XML. Их можно настраивать как в КД 2.0, так и в блоке правил регистрации КД 3.0, а затем загружать в макет соответствующего плана обмена или регистр сведений ПравилаДляОбменаДанными.Таким образом, если перед нами стоит задача загрузить и отредактировать имеющиеся файлы ExchangeRules.xml, для этого обязательно потребуется развернуть информационную базу Конвертация данных 2.1. Конфигурация КД 3.0 с такими файлами правил конвертации не работает.
Рассмотрим, как устроен механизм EnterpriseData внутри конфигурации. В КД 3.0 правила описывают трансформацию данных между метаданными конкретной базы и универсальной схемой XML (XDTO-пакетом EnterpriseData). Результатом работы в КД 3.0 является сгенерированный программный код, который встраивается в конфигурацию.
Для выполнения обмена БСП использует специальный общий модуль. В типовых решениях (например, 1С:ERP, 1С:Комплексная автоматизация, 1С:Управление торговлей) этот модуль обычно называется МенеджерОбменаЧерезУниверсальныйФормат (или имеет суффикс версии формата). Если же мы изучаем демонстрационную базу библиотеки стандартных подсистем (БСП), обратим внимание на имена объектов метаданных: в демо-базе БСП модуль называется с префиксом — _ДемоМенеджерОбменаЧерезУниверсальныйФормат.
Именно в этот модуль переносится код процедур инициализации правил конвертации (обработчики событий, таблицы соответствия объектов и свойств), сгенерированный обработкой выгрузки правил из КД 3.0.
Проанализируем задачу: одна база является полностью самописной, а вторая — типовой конфигурацией 1С, находящейся на официальной поддержке. Требуется настроить обмен данными между ними. Стоит ли использовать КД 3.0 в таком сценарии?
Это классический и наиболее эффективный сценарий для внедрения технологии EnterpriseData. Разберем его преимущества:
Разберем по шагам последовательность действий при разработке синхронизации:
EnterpriseData_1_8_2);Посмотрим на ситуацию, когда в самописной конфигурации присутствуют собственные реквизиты или документы, не предусмотренные типовой схемой EnterpriseData. Здесь есть два пути решения:
ДополнительныеРеквизиты. В КД 3.0 можно настроить передачу нестандартных полей именно в эту структуру. Если база-приемник использует механизм дополнительных реквизитов БСП, данные заполнятся автоматически без снятия базы с поддержки.