При настройке обмена данными в конфигурациях на базе УПП 1.3 или старых версиях БСП нередко возникают ситуации, когда ручной запуск универсального обмена работает корректно, а автоматизированный обмен через справочник НастройкиОбменаДанными выдает ошибки формата или конфликты номеров сообщений. Давайте разберем, как локализовать эти проблемы и настроить стабильный процесс обмена.
Одной из наиболее частых причин сбоев при запуске обмена из справочника является отсутствие инициализации переменных в МодульОбъекта плана обмена. Если вы создали собственный план обмена, убедитесь, что в процедурах инициализации определены все необходимые переменные, которые ожидаются обработками обмена. Рассмотрим пример необходимых инициализаций:
мТипУдалениеДанных = Тип("УдалениеОбъекта");
мИнформацияОНаличиеОрганизацииВРегистре = Новый Соответствие;
мИнформацияОБазовыхТипах = Новый Соответствие;
мСтарыйТипОбъектаОтправки = Неопределено;
мСоответствиеОрганизацийИУзлов = Неопределено;
Если эти переменные не заданы, при вызове методов из Обработка.ОбменДаннымиXML или Обработка.КонвертацияОбъектовИнформационныхБаз система может попытаться обратиться к объекту, который равен Неопределено, что приведет к ошибке Значение не является значением объектного типа.
Ошибка Ошибка формата сообщения обмена часто указывает на несовместимость версий библиотеки Конвертации данных или различия в конфигурациях (БСП). Если в приемнике используется очень старая версия БСП, она не поддерживает служебные теги, генерируемые более новыми механизмами выгрузки. Разберем, как действовать в такой ситуации:
ФайлОбмена. Если ИмяКонфигурацииИсточника и ИмяКонфигурацииПриемника не совпадают с ожидаемыми, или версия формата 2.01 не поддерживается, это приведет к ошибке формата.Обработка.УниверсальныйОбменДаннымиXML может быть устаревшей. Попробуйте заменить ее на более свежую версию из актуального релиза Конвертации данных 2.0.Эта ошибка возникает из-за нарушения счетчика сообщений в узле ПланОбмена. Чтобы восстановить обмен, нужно убедиться, что номера сообщений в источнике и приемнике синхронизированы.
Важно: Никогда не сбрасывайте номера сообщений в ноль в «боевой» базе без предварительного создания копии. Если обмен зациклился, проверьте регистры сведений, в которых хранятся настройки обмена, и убедитесь, что в них нет «зависших» записей о незавершенных сеансах обмена.
При возникновении ошибок вида Поле объекта не обнаружено ({КлючПоискаВИБИсточнике}), в первую очередь обращайтесь к Журналу регистрации в базе-приемнике. Часто причина скрывается не в самом файле, а в логике обработчиков ПослеЗагрузкиОбъекта или ПередЗагрузкойОбъекта, которые пытаются использовать параметры, не переданные в текущем сеансе обмена.
Полезный совет: Если вы используете обмен через Настройки обмена данными, всегда помните, что эта система использует свои алгоритмы для записи НомерПринятогоСообщения и НомерОтправленногоСообщения. При ручном копировании файлов через проводник эти счетчики не обновляются, что ведет к ошибкам при следующем автоматическом запуске.
Таким образом, для успешной настройки обмена данными между УПП 1.3 и другой конфигурацией на БСП 2.x, мы рекомендуем:
Универсальный обмен в обеих базах идентичны.Конвертации данных 2.0 для отладки выгрузки одного объекта, чтобы исключить влияние некорректных правил.