При разработке обменов данными между современными конфигурациями, такими как 1С:ERP Управление предприятием, и другими системами, разработчики часто сталкиваются с ситуацией, когда в конфигурации «Конвертация данных 2.1» при настройке правил регистрации объектов (ПРО) в списке выбора метаданных отсутствуют нужные объекты: регистры накопления (РН), регистры бухгалтерии (РБ) или регистры сведений (РС). Разберем детально причины возникновения этой проблемы и найдем способы её решения.
Первая и самая распространенная причина, по которой объекты могут «пропасть» — использование неподходящей обработки для выгрузки структуры конфигурации. Рассмотрим подробнее, почему это происходит. Существует два принципиально разных подхода к интеграции:
MD83exp.epf (для платформы 8.3).EnterpriseData и формате XDTO. Обработка выгрузки для этой версии формирует структуру, ориентированную на схемы XDTO.Проанализируем ситуацию: если вы по ошибке воспользуетесь обработкой из поставки КД 3.0 для создания правил в КД 2.1, вы получите файл, в котором могут отсутствовать регистры. Это связано с тем, что в технологии XDTO-обмена регистры практически не используются как самостоятельные единицы обмена — данные передаются через документы. Поэтому, приступая к работе, обязательно убедитесь, что вы используете обработку именно для версии 2.1.
Даже если структура метаданных выгружена правильно, объект может не появиться в списке для создания Правил регистрации объектов (ПРО). Выясним причину этого поведения платформы. Механизм регистрации изменений в 1С жестко завязан на объект метаданных ПланОбмена.
Рассмотрим пошагово, что необходимо проверить в конфигураторе:
План обмена, для которого создаются правила.Хозрасчетный или любой РегистрНакопления) в этот список.Если объекта нет в составе плана обмена, платформа физически не сможет регистрировать изменения по нему для данного узла. Следовательно, «Конвертация данных» не предлагает создавать правила регистрации для объектов, которые в принципе не могут быть зарегистрированы. Важно: для регистров с режимом записи «Подчинение регистратору» часто регистрируется сам документ-регистратор, а не записи регистра. Однако, если вам нужна регистрация именно движений, объект должен быть в составе плана обмена.
При выгрузке метаданных из ERP важно правильно выставить настройки в самой обработке. Посмотрим на ключевые флаги, которые влияют на результат:
xml.Проанализируем типичный сценарий: разработчик добавил новый регистр в расширение или основную конфигурацию, забыл включить его в план обмена и запустил выгрузку с установленным фильтром по плану обмена. В итоге в КД 2.1 объект не виден. Решение — либо добавить объект в состав плана обмена, либо снять флаг фильтрации при выгрузке (хотя для ПРО первый вариант является обязательным).
Стоит затронуть вопрос архитектурного выбора. Использование КД 2.1 для 1С:ERP в сообществе часто считается «странным» выбором. Это связано с тем, что ERP — тяжелая система, и стандартный механизм обмена через XML (который использует КД 2.1) может работать медленнее, чем современная синхронизация через КД 3.0.
Однако, существуют ситуации, когда КД 2.1 оправдана:
УПП 1.3), где нет поддержки КД 3.0.Если вы все же решили использовать КД 2.1, помните о подписках на события. В ERP регистрация часто управляется не «авторегистрацией», а через программный код в подписках. При создании ПРО убедитесь, что в правилах указан верный режим регистрации изменений.
Подведем итог и составим четкий алгоритм действий, чтобы нужный объект появился в справочнике метаданных КД 2.1:
РегистрБухгалтерии.Хозрасчетный) включен в состав вашего Плана обмена.Разрешить (или вы планируете управлять ею программно).MD83exp.epf из комплекта Конвертации данных 2.1. Не используйте обработки от версии 3.0 или старые версии для платформы 8.2.После выполнения этих шагов при создании новой записи в справочнике «Правила регистрации объектов» и выборе типа объекта, ваш регистр гарантированно появится в списке. Это позволит вам гибко настроить условия, при которых данные регистра будут попадать в очередь на выгрузку, например, используя обработчики ПередОбработкой или ПриОбработке.
Пример программной проверки условия регистрации в ПРО (код пишется в обработчиках КД):
// Пример в обработчике "Перед обработкой" правила регистрации
// Проверяем организацию для регистра бухгалтерии
Если Объект.Организация <> Параметры.ОрганизацияОбмена Тогда
Отказ = Истина;
КонецЕсли;
Соблюдение этих технических нюансов сэкономит время при настройке сложных систем интеграции и обеспечит корректную работу миграции данных в экосистеме 1С.