Почему в 1С:Конвертация данных 2.1 не отображаются реквизиты, добавленные через расширение?

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

При разработке правил обмена в 1С:Конвертация данных 2.1 (КД 2.1) программисты часто сталкиваются с ситуацией: в основную конфигурацию через расширение добавлены новые реквизиты, описание метаданных выгружено и загружено в базу конвертации, но при создании правил конвертации свойств (ПКС) эти реквизиты отсутствуют в списке выбора. Кажется, что система игнорирует изменения, хотя в самой конфигурации-источнике всё работает корректно. Разберем детально причины этого поведения и пошагово восстановим процесс синхронизации.

Проанализируем работу обработки выгрузки метаданных

Первая и самая частая причина — использование устаревшей или неподходящей версии обработки MD82Exp.epf. Рассмотрим, на что нужно обратить внимание при подготовке файла описания конфигурации:

  1. Версия обработки: Убедимся, что используется актуальная версия MD82Exp.epf, входящая в комплект поставки вашего релиза КД 2.1. Старые версии обработки, выпущенные до появления механизмов расширений, физически не умеют обращаться к объектам, которые не входят в состав основной конфигурации.
  2. Настройки выгрузки: В современных версиях обработки существует специальная опция (флаг), позволяющая включать объекты и свойства расширений в файл выгрузки. Если этот флаг не установлен, обработка выгрузит только «чистую» метаданную основной конфигурации.
  3. Режим запуска: Выгрузку необходимо запускать именно в той информационной базе, где расширение подключено и активно. Если запустить выгрузку в «пустой» конфигурации без расширений, реквизиты, естественно, не попадут в XML.

Проверим содержимое файла выгрузки (XML)

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

  1. Откроем сформированный файл .xml любым текстовым редактором (например, Notepad++).
  2. Воспользуемся поиском (Ctrl+F) по имени добавленного реквизита.
  3. Если поиск не находит имя реквизита в файле — проблема в обработке выгрузки или настройках расширения.
  4. Если имя реквизита в файле присутствует, значит, данные успешно экспортированы, и проблему нужно искать на этапе загрузки в базу КД.

Разберем нюансы импорта метаданных в базу Конвертации

Когда файл описания готов, мы загружаем его в конфигурацию КД 2.1. На этом этапе часто совершается ошибка в настройках загрузки. Рассмотрим правильный алгоритм:

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

Выясним причину «магического» исчезновения и появления данных

Часто разработчики замечают, что реквизиты появляются в списке только «на следующий день» или после перезагрузки. Это объясняется особенностями кэширования платформы «1С:Предприятие» и интерфейсными механизмами КД 2.1. Проанализируем, как ускорить этот процесс:

Влияние префиксов расширений

Существует мнение, что отсутствие префикса у реквизитов расширения может мешать КД 2.1. На самом деле, технически для Конвертации это не имеет значения. Проанализируем ситуацию:

Для КД 2.1 реквизит — это просто строка с именем. Если в XML-файле свойство называется НовыйРеквизит, оно будет загружено именно так. Однако использование префиксов (например, ПРФ_НовыйРеквизит) является критически важным стандартом разработки 1С. Это предотвращает конфликты имен, если в будущем фирма «1С» добавит реквизит с таким же именем в типовое решение. Рекомендуется всегда использовать префиксы, даже если КД «видит» свойства и без них.

Как поступить, если реквизит всё равно не выбирается

Если метаданные загружены, но реквизит упорно не отображается в списке выбора ПКС, мы можем прибегнуть к «ручному» способу настройки. Посмотрим, как это сделать:

В форме настройки ПКС поле Свойство приемника или Свойство источника можно заполнить вручную, просто вписав туда программное имя реквизита (с учетом регистра и префикса). Если в объекте метаданных этот реквизит фактически существует, выгрузка и загрузка данных отработают корректно. КД 2.1 при выполнении обмена обращается к свойствам объектов через обращение к свойству по имени или через Выполнить(), поэтому наличие реквизита именно в визуальном списке выбора не является жестким техническим ограничением для работы обмена. Чтобы не выполнять повторную выгрузку всей конфигурации, для быстрого создания нужного реквизита подойдёт обработка для добавления и изменения свойств метаданных прямо в базе конвертации.

Проанализировав все этапы — от выгрузки метаданных актуальной обработкой MD82Exp.epf с включенным флагом расширений до корректной загрузки в базу КД с обновлением существующих объектов — вы сможете успешно использовать любые дополнительные реквизиты в своих правилах обмена.

← На главную