Как исправить ошибку «Не определен Менеджер конвертации для версии формата обмена» при синхронизации УТ и БП?

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

При настройке или регулярном выполнении синхронизации данных между конфигурациями 1С:Управление торговлей 11 и 1С:Бухгалтерия предприятия 3.0 через универсальный формат EnterpriseData пользователи и специалисты нередко сталкиваются с аварийным завершением сеанса обмена. В журнале регистрации или в окне сообщений появляется ошибка следующего вида: {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль}: Не определен Менеджер конвертации для версии формата обмена, причем сразу после слова «обмена» ставится точка и отсутствует само наименование версии формата.

Проанализируем природу возникновения этой неисправности, разберем причины сбоя подсистемы БСП и рассмотрим проверенные пошаговые сценарии ее устранения.

Причины сбоя и механизм возникновения ошибки

Для понимания сути проблемы выясним причину ее появления на уровне программного кода подсистемы обмена данными:

  1. Пустое значение версии формата: Ошибка возникает в методе ВыполнитьЗагрузкуДанных обработки КонвертацияОбъектовXDTO. Функция МенеджерОбменаВерсииФормата обращается к внутренней таблице соответствия менеджеров конвертации. Так как переменная версии формата обмена оказалась пустой строкой, система не может сопоставить обработчик и генерирует исключительную ситуацию.
  2. Несоответствие релизов конфигураций: При обновлении одной из баз (например, «Бухгалтерии предприятия») в нее добавляются новые версии формата EnterpriseData, тогда как вторая конфигурация («Управление торговлей») еще не обновлена и работает на более ранних пакетах XDTO. Автоматическое согласование версий в этом случае дает сбой.
  3. Сбой инициализации при прямом подключении: При создании обмена через COM-соединение реквизит ВерсияФормата в узле плана обмена может остаться незаполненным из-за несоответствия разрядностей платформы или отсутствия регистрации библиотеки comcntr.dll.
  4. Зависшие пакеты обмена: В каталоге обмена сохраняются файлы сообщений от предыдущих некорректных сеансов, заголовки которых содержат неинициализированную информацию о формате. База раз за разом пытается их прочитать.

Способ 1. Ручное указание версии формата в узле плана обмена

Разберем по шагам наиболее быстрый способ восстановления работоспособности обмена без отката релизов и глобальной перенастройки узлов.

  1. Откроем информационную базу 1С:Бухгалтерия предприятия под учетной записью с административными правами.
  2. Перейдем в раздел Администрирование, затем выберем Синхронизация данных и откроем Настройки синхронизации данных.
  3. Выделим проблемную настройку обмена с «Управлением торговлей» и нажмем команду Изменить для перехода в форму узла плана обмена.
  4. В открывшейся форме через системное меню Еще перейдем в пункт Изменить форму. Найдем в дереве элементов группу или вкладку с именем Служебная (или технические параметры) и включим для нее флажок видимости, после чего нажмем Применить.
  5. Перейдем на ставшую видимой вкладку Служебная и найдем реквизит Версия формата обмена. Укажем поддерживаемую обеими базами версию формата — как правило, это значение 1.1 или 1.2 (в зависимости от релизов).
  6. Запишем изменения узла плана обмена.
  7. Важный момент: аналогичную проверку и установку значения версии формата обязательно выполним и во второй информационной базе («Управление торговлей»), чтобы узлы обмена имели согласованные значения реквизита ВерсияФормата.
  8. Запустим сеанс синхронизации повторно.

Способ 2. Разблокировка и изменение реквизита «Версия формата обмена»

Нередко на вкладке «Служебная» поле выбора версии формата оказывается серым и недоступным для редактирования пользователем. Посмотрим, как обойти эту блокировку штатными средствами платформы 1С.

  1. Разрешение редактирования ключевых реквизитов: Находясь в форме узла плана обмена, откроем меню Еще в командной панели и выберем пункт Разрешить редактирование реквизитов. Программа выдаст предупреждение подсистемы безопасности — подтвердим действие нажатием кнопки «Разрешить редактирование». После этого поле станет доступным для ручного ввода.
  2. Использование группового изменения реквизитов: Если первый способ недоступен, воспользуемся универсальным инструментом:
    1. Откроем меню Функции для технического специалиста (или «Все функции»).
    2. Найдем и запустим стандартную обработку Групповое изменение реквизитов.
    3. В поле выбора элементов укажем соответствующий план обмена (например, Синхронизация данных через универсальный формат).
    4. Нажмем кнопку Дополнительные параметры, установим флаг Показывать служебные реквизиты и переведем обработку в режим разработчика.
    5. По кнопке отбора выберем узел нужной информационной базы.
    6. В табличной части реквизитов найдем поле ВерсияФормата, установим напротив него флаг и пропишем строку 1.1.
    7. Нажмем Изменить выделенные.
  3. Программная запись значения: Если требуется быстро исправить реквизит во внешней обработке или консоли кода, применим следующий фрагмент:

УзелОбъект = ПланОбменаСсылка.ПолучитьОбъект();
УзелОбъект.ВерсияФормата = "1.1";
УзелОбъект.Записать();

Способ 3. Переход на обмен через сетевой или локальный каталог

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

  1. В настройках синхронизации обеих конфигураций изменим транспорт обмена: переключим прямое подключение на Локальный или сетевой каталог (или общий каталог обмена).
  2. Создадим на локальном диске или файловом сервере общую папку и предоставим учетным записям серверов 1С полные права доступа к ней на чтение и запись.
  3. Очистим каталог обмена: перед первым запуском обязательно убедимся, что папка пуста. Все файлы сообщений вида Message_...xml, созданные предыдущими сеансами с ошибкой, необходимо удалить или переместить в архив, иначе база вновь попытается прочитать некорректный заголовок формата.
  4. Выполним первоначальную выгрузку данных из базы-источника в каталог, после чего выполним загрузку в базе-приемнике.

Способ 4. Корректное пересоздание настройки синхронизации

Если указанные выше методы не помогли, наиболее надежным решением станет полное пересоздание узла плана обмена с правильной последовательностью инициализации:

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