Настройка и траблшутинг синхронизации 1С:УТ и 1С:Бухгалтерия (EnterpriseData)
При работе типового обмена УТ 11 — БП 3.0 возникают следующие ошибки:
- Документы реализации/поступления загружаются, но не проводятся автоматически с ошибкой
Счет учета не заполнен. - Ошибки XDTO-сериализации:
Значение поля 'СтавкаНДС' не соответствует формату EnterpriseData. - Избыточная регистрация изменений: выгружаются миллионы исторических документов при закрытии месяца.
- Зависание обмена на этапе
Отправка данных...при выгрузке через прямое подключение или каталог.
1. Архитектура формата EnterpriseData (XML/XSD)
Обмен EnterpriseData построен на событийно-ориентированной модели. Конфигурация-источник выгружает бизнес-сущности в каноническом формате XML. Конфигурация-приемник использует собственные модули интеграции (МенеджерОбменаЧерезУниверсальныйФормат) для трансляции данных в свои объекты.
2. Настройка правил регистрации объектов (ПРО) для исключения исторических данных
Чтобы закрытие прошлых периодов не вызывало повторную отправку документов, настройте дату запрета загрузки и фильтрацию в правилах регистрации:
// Обработчик правил регистрации объекта (ПРО) перед выгрузкой
Если ЗначениеЗаполнено(Объект.Дата) И Объект.Дата < Дата("20230101") Тогда
Отказ = Истина; // Запрет регистрации старых документов
КонецЕсли;3. Программная диагностика ошибок проведения загруженных документов в БП
&НаСервере
Процедура ПроверитьНепроведенныеДокументыПослеСинхронизации(ДатаСинхронизации)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Реализация.Ссылка КАК Документ,
| Реализация.Номер КАК Номер,
| Реализация.Дата КАК Дата,
| Реализация.Контрагент КАК Контрагент
|ИЗ
| Документ.РеализацияТоваровУслуг КАК Реализация
|ГДЕ
| Реализация.Дата >= &ДатаСинхронизации
| И НЕ Реализация.Проведен
| И НЕ Реализация.ПометкаУдаления";
Запрос.УстановитьПараметр("ДатаСинхронизации", ДатаСинхронизации);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.Документ.ПолучитьОбъект();
Попытка
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
Исключение
ЗаписьЖурналаРегистрации("Синхронизация_Ошибки", УровеньЖурналаРегистрации.Ошибка,,,
СтрШаблон("Документ %1 от %2 не проведен: %3", Выборка.Номер, Выборка.Дата, ОписаниеОшибки()));
КонецПопытки;
КонецЦикла;
КонецПроцедуры Частые вопросы (FAQ)
Почему в 1С:Бухгалтерии не заполняются счета учета при загрузке из 1С:УТ?
В 1С:УТ нет счетов бухгалтерского учета. Счета заполняются в 1С:БП автоматически по регистру сведений 'Счета учета номенклатуры' и 'Счета учета расчетов с контрагентами'. Если регистры не заполнены, документ загружается непроведенным.
Как передать договор контрагента, если в УТ он не ведется (только соглашения)?
В настройках синхронизации БСП включите опцию 'Создавать договоры автоматически при их отсутствии' — БП создаст служебный договор 'Основной договор' с типом расчетов, указанным в соглашении.
Как обновить версию формата EnterpriseData между базами?
Версия формата выбирается автоматически по наименьшей поддерживаемой обеими базами (например, EnterpriseData 1.13). Обновите релизы конфигураций УТ и БП до актуальных.
Как очистить очередь выгрузки, если в нее попали лишние 500 000 объектов?
Используйте обработку 'Регистрация изменений для обмена' из состава БСП: выделите нужные метаданные и нажмите 'Отменить регистрацию изменений'.