Как выгрузить метаданные расширений 1С для работы в Конвертации данных

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При активном внедрении расширений в экосистему 1С разработчики часто сталкиваются со следующей проблемой. Конфигурация клиента возвращается к полностью типовому состоянию («на замок»), а весь кастомный функционал — новые справочники, документы и реквизиты — переносится в расширение базы данных. Однако бизнес-процессы требуют обмена данными между этой базой и другими информационными системами. Возникает резонный вопрос: как подружить новые объекты из расширения со средствами интеграции, такими как «Конвертация данных 2.1» или «Конвертация данных 3.x»? Ведь стандартные правила обмена ничего не знают об объектах, добавленных вне основной конфигурации.

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

Механизм работы КД 2.1: Почему стандартная обработка видит расширения

Начнем с классического инструментария. Для подготовки правил обмена в «Конвертации данных 2.1» традиционно используется внешняя обработка MD83Exp.epf (Выгрузка описания структуры конфигурации). У многих разработчиков возникает опасение, что старая обработка не сможет распознать новые объекты, созданные в расширении конфигурации.

Выясним причину, почему это опасение напрасно. Обработка MD83Exp.epf запускается непосредственно в пользовательском режиме («1С:Предприятие»). При обращении к метаданным она использует стандартный программный интерфейс платформы. В момент работы предприятия платформа компилирует основную конфигурацию со всеми активными расширениями базы данных, формируя единую, общую структуру метаданных. Для платформы (и, соответственно, для запущенной обработки) нет разницы, где физически описан справочник — в основной конфигурации или в подключенном расширении.

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


// Пример обхода метаданных платформой в пользовательском режиме
Для Каждого СправочникИзМетаданных Из Метаданные.Справочники Цикл
    Сообщить("Обнаружен справочник: " + СправочникИзМетаданных.Имя);
    // Сюда попадут как типовые справочники, так и добавленные в расширении
КонецЦикла;

Таким образом, стандартная обработка MD83Exp.epf без проблем выгрузит структуру вашей конфигурации вместе со всеми реквизитами и объектами расширений. Главное условие — в момент запуска обработки расширение должно быть активно и успешно применено к базе данных.

Пошаговая инструкция выгрузки метаданных для КД 2.1

Рассмотрим по шагам процесс подготовки структуры метаданных для «Конвертации данных 2.1»:

  1. Откройте информационную базу-источник (где установлены расширения) в режиме «1С:Предприятие». Убедитесь, что расширение активно, не заблокировано профилями безопасности и все новые объекты доступны пользователю.
  2. Через меню «Файл» -> «Открыть» запустите обработку MD83Exp.epf (ее актуальную версию всегда можно взять из каталога шаблонов установленной конфигурации «Конвертация данных»).
  3. В открывшемся окне укажите имя файла, в который будет сохранено описание структуры метаданных (например, Metadata_Source.xml).
  4. Нажмите кнопку «Выгрузить». Обработка сформирует XML-файл, содержащий полную структуру, включая ваши новые справочники, документы и добавленные к типовым объектам реквизиты.
  5. Повторите операцию для базы-приемника, если там также используются расширения с новыми объектами.
  6. Запустите информационную базу «Конвертация данных 2.1», перейдите в справочник «Конвертации» и загрузите полученные файлы описания структуры метаданных для источника и приемника. Теперь вы можете настраивать правила конвертации объектов (ПКО) и свойств (ПКС) для новых сущностей в стандартном режиме.

Современный подход: Конвертация данных 3.x и формат Enterprise Data

Если ваша интеграция строится по современным стандартам 1С с использованием технологии Enterprise Data и программного продукта «Конвертация данных 3.x», методология работы с метаданными расширений будет принципиально иной.

В КД 3.x разработчики отказались от использования внешней обработки MD83Exp.epf. Вместо этого структура метаданных выгружается напрямую из Конфигуратора в формате XML/EDT. Проанализируем, как правильно выгрузить структуру метаданных расширения в данном случае:

1. **Выгрузка структуры основной конфигурации.** Откройте Конфигуратор основной базы, выберите пункт меню Конфигурация -> Выгрузить конфигурацию в файлы... и укажите каталог для сохранения.

2. **Выгрузка структуры расширения.** Чтобы получить структуру объектов расширения, выполните следующие действия:

3. **Загрузка в КД 3.** В базе «Конвертация данных 3» сначала загружается структура основной конфигурации, а затем в качестве дополнения загружаются файлы структуры конфигурации расширения. Это позволяет объединить их логику в рамках одной настройки обмена.

4. **Расширение формата XDTO.** Обмен через Enterprise Data базируется на схемах XDTO. Чтобы передавать новые реквизиты, добавленные в расширении, вам потребуется создать собственный пакет XDTO внутри вашего расширения. Он будет дополнять стандартную схему обмена (например, через свойства типа AdditionalInfo). Вся логика заполнения этих свойств описывается в модуле менеджера обмена, который также можно вынести в расширение. Таким образом, основная конфигурация остается нетронутой.

Особенности регистрации изменений в планах обмена

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

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

  1. Откройте конфигурацию расширения.
  2. Найдите в основной конфигурации план обмена, который используется для вашей интеграции (например, ОбменУправлениеТорговлейБухгалтерияПредприятия), нажмите по нему правой кнопкой мыши и выберите команду «Добавить в расширение».
  3. В расширении откройте свойства заимствованного плана обмена и перейдите на вкладку «Состав».
  4. Найдите добавленные вами в расширении справочники или документы и установите для них флаг использования в составе плана обмена. Настройте режим авторегистрации (например, «Разрешить»).

Теперь при записи новых элементов справочника или проведении документов, созданных в расширении, платформа будет автоматически регистрировать их к обмену на узлах данного плана обмена. Это гарантирует бесперебойную и автоматическую передачу данных. Для автоматической передачи сообщений по расписанию на основе правил Конвертации данных 2 пригодится программа автоматического обмена данными между базами 1С.

Мы подробно разобрали все аспекты интеграции баз данных, использующих расширения. Как видим, современные механизмы платформы 1С:Предприятие 8.3 предоставляют все необходимые инструменты для бесшовной выгрузки метаданных и настройки стабильного обмена, сохраняя при этом основную конфигурацию на замке.

← На главную