Почему справочник не появляется в списке при добавлении правила регистрации в 1С:Конвертация данных 2.1?

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

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

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

Основная причина проблемы

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

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

Пошаговое решение проблемы

Мы рассмотрим правильную последовательность действий, чтобы успешно добавить новый справочник в обмен и настроить для него правила регистрации.

  1. Изменение конфигурации (в исходной базе, например, ЗУП):

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

    • Откроем нашу конфигурацию (например, 1С:ЗУП) в режиме конфигуратора.
    • Найдем и откроем для редактирования соответствующий план обмена (например, ОбменЗарплата3Бухгалтерия3).
    • В состав плана обмена добавим новый справочник, который хотим обменивать (например, Справочник.Должности).
    • Настроим параметр "Авторегистрация" для этого справочника. Если мы хотим, чтобы изменения регистрировались только по нашим правилам, установим значение "Запретить". Это означает, что мы будем управлять регистрацией вручную через правила регистрации в Конвертации данных или программно.
    • Отредактируем подписки на события "ОбменЗарплата3Бухгалтерия3Регистрация" и "ОбменЗарплата3Бухгалтерия3РегистрацияУдаления" (или аналогичные, если они используются). В эти подписки мы должны добавить новый справочник Справочник.Объект "Должности", чтобы он мог быть зарегистрирован для обмена в соответствии с логикой плана обмена.
    • Обновим базу данных после всех изменений в конфигураторе. Это критически важный шаг, так как он применяет все изменения метаданных к рабочей базе.
  2. Выгрузка актуальных метаданных:

    Теперь, когда наши конфигурации обновлены, нам необходимо получить их актуальное описание метаданных.

    • Критически важный шаг – выгрузить описание структуры метаданных из обеих конфигураций, участвующих в обмене (в нашем случае, из ЗУП и БП).
    • Для этого мы используем специальную обработку MD83Exp.epf (для конфигураций на платформе 1С:Предприятие 8.3 с управляемыми формами) или MD82Exp.epf (для обычных форм). Эту обработку можно найти в составе дистрибутива 1С:Конвертация данных или на ИТС.
    • Запустим эту обработку в режиме 1С:Предприятие для каждой из баз (ЗУП и БП).
    • Укажем путь для сохранения и выгрузим метаданные. В результате мы получим ZIP-архивы или XML-файлы (в зависимости от версии обработки) с описанием структуры метаданных каждой конфигурации.
  3. Загрузка метаданных в 1С:Конвертация данных 2.1:

    Полученные файлы с метаданными необходимо загрузить в нашу рабочую базу 1С:Конвертация данных 2.1.

    • Запустим Конвертацию данных 2.1.
    • Перейдем в раздел "Конфигурации". Здесь мы увидим список конфигураций, для которых настроен обмен.
    • Для каждой из участвующих конфигураций (ЗУП и БП) выберем пункт "Обновить описание конфигурации" или "Загрузить метаданные".
    • Укажем путь к ранее выгруженным ZIP-архивам или XML-файлам с описанием метаданных для соответствующей конфигурации.
    • Подчеркиваем: этот шаг принципиально отличается от загрузки правил обмена или правил регистрации. Мы загружаем не логику обмена, а саму структуру объектов, с которыми эта логика будет работать.
    • После успешной загрузки Конвертация данных 2.1 "узнает" о всех изменениях в метаданных, включая добавленный справочник "Должности".
  4. Работа с правилами обмена и регистрации в 1С:Конвертация данных 2.1:

    Теперь, когда Конвертация данных имеет актуальную информацию о метаданных, мы можем приступить к настройке правил.

    • После обновления метаданных, вернемся к настройке правил обмена.
    • Теперь, при добавлении нового правила конвертации объектов (ПКО), наш справочник "Должности" должен появиться в списках выбора объектов источника и приемника.
    • Создадим или обновим ПКО для справочника "Должности", сопоставив его с аналогичным справочником в конфигурации-приемнике (или создав, если его там нет). Не забудем настроить правила конвертации свойств (ПКС) для всех необходимых реквизитов.
    • Создадим правило регистрации объектов (ПРО) для справочника "Должности". Если мы установили "Авторегистрация: Запретить" в плане обмена, это правило критически важно.
    • Разберем, что ПРО используются для ограничения миграции данных и определения, какие объекты будут зарегистрированы для выгрузки. Они делятся на правила регистрации по свойствам объекта (ПРОБ) и правила регистрации по свойствам плана обмена (ПРОП). Объект будет зарегистрирован к выгрузке только в том случае, если он проходит отбор, установленный ПРОБ, а затем ПРОП. Настроим эти правила в соответствии с нашей логикой обмена.
  5. Загрузка правил обмена в конфигурацию ЗУП:

    После того как все правила настроены и сохранены в Конвертации данных 2.1, их необходимо перенести обратно в рабочую конфигурацию.

    • Сохраним измененные правила обмена (обычно это файл ExchangeRules.xml) и правила регистрации (обычно RegistrationRules.xml) из Конвертации данных 2.1 в файлы.
    • Загрузим эти файлы обратно в базу ЗУП (или ту конфигурацию, где находится план обмена). Обычно это делается через стандартную обработку "Настройка синхронизации данных".
    • Настроим синхронизацию, убедившись, что в составе отправляемых данных теперь отображаются "Должности".
    • Проведем тестовую регистрацию изменений и выгрузку данных, чтобы убедиться в корректности работы.

Отличие метаданных от правил обмена

Важно четко понимать разницу между метаданными конфигурации и правилами обмена:

Если Конвертация данных не "знает" о существовании объекта через свои метаданные, она просто не сможет предложить его для создания ПКО или ПРО, даже если вы загрузили правила, в которых этот объект теоретически упоминается.

Важность правильной последовательности

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

  1. Изменение структуры конфигурации (добавление объекта в план обмена, изменение реквизитов).
  2. Выгрузка актуальных метаданных из измененной конфигурации.
  3. Загрузка этих метаданных в Конвертацию данных 2.1 для обновления ее внутренней информации.
  4. Настройка или корректировка правил обмена и регистрации в Конвертации данных 2.1.
  5. Выгрузка готовых правил обмена и регистрации из Конвертации данных 2.1.
  6. Загрузка правил в рабочую конфигурацию для применения.

Настройка плана обмена и авторегистрация

Параметр "Авторегистрация: Запретить" для справочника "Должности" в плане обмена означает, что изменения этого справочника не будут автоматически регистрироваться для обмена. Это требует от нас создания правил регистрации для него вручную в Конвертации данных 2.1 или программной регистрации.

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

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

← На главную