Синхронизация данных между 1С:Управление торговлей ред. 11 (УТ 11) и 1С:Бухгалтерия предприятия ред. 2.0 (БП 2.0) часто сопровождается техническими сложностями. Это связано с тем, что УТ 11 построена на управляемых формах, а БП 2.0 использует обычные формы, и механизмы обмена в ранних релизах этих конфигураций требовали тщательной ручной настройки. Рассмотрим подробнее, как решить основные проблемы, возникающие при обмене.
Часто при попытке загрузить данные через обработку УниверсальныйОбменДаннымиXML возникает ошибка компиляции в обработчике ПередЗагрузкойДанных. Код сообщения 22 указывает на неопределенную переменную УзелОбменаЗагрузкаДанных. Проанализируем ситуацию: эта ошибка возникает из-за того, что правила обмена, встроенные в конфигурацию, жестко ориентированы на работу через механизм Планов обмена, а не через внешние обработки.
Для решения этой проблемы не следует использовать «Универсальный обмен». Вместо этого разберем по шагам правильный алгоритм:
Если стандартный обмен выдает ошибки несоответствия типов или не находит нужные объекты, выясним причину. Зачастую релизы УТ и БП обновляются неравномерно, и встроенные правила перестают подходить. В этом случае воспользуемся проверенным методом ручной подгрузки правил из каталогов шаблонов. Проанализируем схему «перекрестного» обновления правил:
Шаг 1. Настройка на стороне УТ 11
Запустим создание плана обмена в УТ для БП 2.0. На этапе настройки, когда план уже создан, нам нужно заменить правила. В управляемом интерфейсе УТ 11 это делается следующим образом:
.../AppData/Roaming/1C/1Cv82/tmplts/1c/Accounting/[Номер_Релиза]/Обмены данными/Обмен с конфигурацией Управление торговлей, ред. 11.Шаг 2. Настройка на стороне БП 2.0
Зайдем в БП и продолжим настройку обмена. Здесь нам также нужно подгрузить актуальные правила:
.../trade/[Номер_Релиза_УТ]/Обмены данными/Обмен с конфигурацией Бухгалтерия предприятия, ред. 2.0.Такой подход гарантирует, что базы «понимают» друг друга на уровне актуальных метаданных текущих релизов.
Рассмотрим ситуацию, когда документы переносятся без ошибок, но в Бухгалтерии во всех строках подставляется некорректный счет учета (например, 10-й счет вместо 41-го). Выясним причину: программа УТ 11 не хранит бухгалтерские счета. При загрузке в БП счета подставляются автоматически исходя из настроек в самой Бухгалтерии.
Для исправления проанализируем настройки в БП 2.0:
После настройки счетов в БП новые документы при загрузке будут заполняться корректно. Для уже загруженных документов можно воспользоваться групповой обработкой пересчета счетов.
Часто пользователи жалуются, что обмен «затирает» данные прошлых периодов или выгружает всё с начала ведения учета. Разберем, как работает механизм регистрации изменений. В 1С 8 существует специальная таблица, где фиксируются все измененные объекты. Пока объект «зарегистрирован», он будет пытаться уйти во вторую базу при каждом сеансе связи.
Рассмотрим, как ограничить выгрузку:
Особое внимание уделим поиску договоров. В УТ 11 используются «Соглашения», а в БП 2.0 — «Договоры». Чтобы избежать дублирования, проанализируем фрагмент кода типовых правил, который отвечает за поиск договора в приемнике (БП):
Запрос.Текст = "ВЫБРАТЬ
| ДоговорыКонтрагентов.Ссылка
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
| ДоговорыКонтрагентов.ВидДоговора = &ВидДоговора
| И ДоговорыКонтрагентов.Организация = &Организация
| И ДоговорыКонтрагентов.Владелец = &Владелец
| И ДоговорыКонтрагентов.ВалютаВзаиморасчетов = &ВалютаВзаиморасчетов";
Как мы видим, поиск идет по сочетанию Организации, Контрагента (Владелец), Вида договора и Валюты. Если хотя бы один параметр в УТ 11 отличается (например, валюта соглашения), БП создаст новый договор. Рекомендуем строго следить за идентичностью этих реквизитов в обеих базах.
Проанализируем общие советы для системных администраторов:
Тип не определен (ПеречислениеСсылка.НДСВидСчетаФактуры).comcntlev.dll нужной версии платформы.Соблюдение этих правил позволит вам настроить надежный и прозрачный обмен данными между торговой и бухгалтерской системами.