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