Синхронизация данных между Управлением торговлей (УТ 11) и Бухгалтерией предприятия (БП 3.0) — это сложный процесс, который нередко сопровождается ошибками сериализации XDTO. Одной из наиболее частых проблем является ошибка структуры объекта, когда система сообщает о несоответствии типа или отсутствии обязательного свойства (например, контрагента) внутри документа.
Ошибка Ошибка проверки данных XDTO означает, что данные, которые мы пытаемся передать из базы-источника в базу-приемник, не соответствуют правилам конвертации (XDTO-пакету). Когда вы видите сообщение о том, что не найдено «обязательное свойство» (например, Контрагент), это чаще всего говорит не о программной ошибке платформы, а о логической ошибке в самих данных.
Чаще всего ситуация выглядит так: в документе Поступление товаров и услуг поле Контрагент визуально заполнено, но на уровне записи в базе данных объект является «пустой ссылкой» или содержит критически важные пустые реквизиты. Это часто происходит, если документы создавались не интерактивно, а через сторонние обработки, которые не выполняют полноценную проверку заполнения всех обязательных полей.
Первым делом необходимо выявить, какой именно документ вызывает сбой. Если синхронизация «валится» на определенном этапе, попробуйте следующие действия:
Регистрацию изменений для обмена данными. Посмотрите, какие объекты сейчас стоят в очереди на выгрузку.Универсальные обработки редактирования объектов или Консоль запросов.В современных релизах УТ 11 существует жесткая связь между объектами Партнер и Контрагент. В документах поступления часто используется ссылка на Партнера, а уже через него программа определяет Контрагента для Бухгалтерии.
Проанализируйте карточку Контрагента, указанного в проблемном документе:
После того как вы обнаружили проблемный документ, примените один из методов исправления:
Если визуальный осмотр не помогает, используйте возможности отладки. Вы можете поставить Точку останова в модулях обмена, в частности в модуле ОбменДаннымиXDTOСервер. Рассмотрим, как выглядит процесс проверки:
// Приблизительный метод для анализа структуры
Процедура ПроверитьОбъектXDTOПоСхеме(ОбъектXDTO, ПравилоКонвертации)
// Здесь происходит проверка соответствия данных схеме XDTO
// Если свойство не заполнено, вызывается исключение
КонецПроцедуры
При отладке обязательно включите «Автоматическое подключение фоновых заданий» и «Внешних соединений». Это позволит вам «поймать» момент, когда происходит сериализация документа в XML, и увидеть, на каком именно свойстве контрагента срабатывает отказ в проверке. Часто выясняется, что поле, которое кажется заполненным в Конфигураторе, на самом деле содержит значение Неопределено или пустую ссылку типа СправочникСсылка.Контрагенты.
Проблемы с XDTO при обмене между УТ 11 и БП 3.0 почти всегда решаются приведением данных в соответствие с требованиями правил конвертации. Не ищите «мифический» GLN, если он не является критичным для вашего учета — скорее всего, проблема кроется в классической «битой» ссылке или неполном заполнении карточки партнера. Всегда начинайте с перевыбора проблемных реквизитов в интерактивном режиме — это решает 90% подобных инцидентов.