Рассмотрим частую ситуацию при настройке обмена данными: синхронизация между конфигурациями «Управление торговлей» 11 (УТ) и «Бухгалтерия предприятия» 3 (БП) настроена через папку на диске. При запуске обмена процесс доходит до 100%, но файл выгрузки в каталоге так и не появляется. При этом в интерфейсе может отображаться общая ошибка о том, что при формировании сообщения обмена данными произошли ошибки. Для настройки регулярной синхронизации по расписанию без изменения самих конфигураций применяется программа для автоматического обмена данными между базами 1С.
Чтобы понять, куда копать, проанализируем журнал регистрации. Общая ошибка формата ВызватьИсключение НСтр("ru = 'При формировании сообщения обмена данными произошли ошибки.'"); малоинформативна. Выясним причину, заглянув глубже в логи, где обычно кроются конкретные ошибки формата EnterpriseData. Разберем две наиболее распространенные ошибки, которые блокируют создание файла выгрузки.
В журнале регистрации мы можем обнаружить ошибку следующего вида при выгрузке документа (например, заказа поставщику):
Ошибка проверки данных XDTO:
Структура объекта '/КлючевыеСвойства' не соответствует типу: {http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.8}КлючевыеСвойстваЗаказПоставщику Проверка свойства 'Контрагент':
форма: Элемент
имя: {http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.8}Контрагент тип: {http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.8}КлючевыеСвойстваКонтрагент Отсутствует обязательное свойство
Данная ошибка означает, что при конвертации данных в универсальный формат система не смогла заполнить базовый, обязательный тег для описания контрагента. Разберем по шагам, почему это происходит и как это исправить:
Контрагенты нет ссылки на партнера, или наоборот, в справочнике Партнеры нет корректной связи с контрагентом. Откройте карточку проблемного контрагента, перевыберите партнера и перезапишите элемент.КлючевыеСвойстваКонтрагент.Для диагностики рекомендуется с помощью обработки регистрации изменений посмотреть состав отправляемых данных узла обмена. Исключите из выгрузки проблемные документы или контрагентов, чтобы подтвердить, что проблема именно в них, после чего детально сравните заполнение «больного» контрагента со «здоровым». Для оперативного отключения выгрузки конкретных документов подойдёт расширение для выборочного переноса документов из УТ.
Вторая популярная проблема связана с документами товародвижения (например, «Приобретение товаров и услуг»). В логах она выглядит так:
Ошибка выполнения обработчика.
Преобразование значения к типу Булево не может быть выполнено
{ОбщийМодуль.МенеджерОбменаЧерезУниверсальныйФормат.Модуль(49806)}: Если НДСПоСтавкам2и4 Тогда
{ОбщийМодуль.МенеджерОбменаЧерезУниверсальныйФормат.Модуль(18926)}: ОпределитьСтавкуНДС_Отправка(Товары, НДСПоСтавкам2и4);
Разберем подробнее суть этой ошибки. В обработчике ПриОтправкеДанных система пытается определить, используются ли в документе специфические ставки НДС (2% или 4%). Для этого вызывается процедура, которая должна вернуть логическое значение (Истина или Ложь) в переменную НДСПоСтавкам2и4. Условие падает с ошибкой преобразования, потому что в эту переменную попадает значение Неопределено или NULL.
Посмотрим, как решить эту проблему:
МенеджерОбменаЧерезУниверсальныйФормат) не умеют корректно обрабатывать или распознавать.Подводя итог: при сбоях обмена без формирования файла всегда начинайте с детального изучения журнала регистрации. Ищите конкретные тексты ошибок XDTO или сбои обработчиков (как правило, они идут перед общей ошибкой выгрузки). Исправление данных в справочниках и документах согласно требованиям формата обмена позволит успешно завершить синхронизацию. Для выгрузки данных без прерывания процесса при ошибках можно использовать обработку выгрузки и загрузки EnterpriseData с фиксацией ошибок.