При использовании типовой синхронизации данных между конфигурациями «Управление торговлей» (ред. 11.4) и «Бухгалтерия предприятия» (ред. 3.0) специалисты часто сталкиваются с ситуацией, когда в справочнике Договоры контрагентов на стороне БП самопроизвольно появляются новые элементы с наименованиями вида «Основной договор», «С покупателем» или «С покупателем, руб.». При этом в исходной базе УТ у контрагента заведен только один договор, а ручной ввод данных в БП отключен.
Проанализируем механику работы универсального формата обмена EnterpriseData и COM-соединения, выясним технические причины такого поведения и разберем способы устранения дублирующих элементов.
Создание системных договоров на стороне 1С:БП происходит не из-за ошибки пользователя, а в результате работы внутренних алгоритмов загрузки данных. Рассмотрим основные факторы:
60 или 62) технически невозможно с пустым реквизитом Договор. В «Управлении торговлей» учет может вестись в разрезе заказов или соглашений без явного указания договора. Когда обработчик загрузки EnterpriseData получает документ без привязки к конкретному договору, он вынужден сгенерировать его программно со стандартным наименованием «Основной договор», иначе документ не проводится.GUID) объекта не совпал, система пытается найти договор по комбинации ключевых реквизитов: Контрагент + Организация + Вид договора + Валюта расчетов. Если хотя бы один из этих параметров отличается (например, различие в коде валюты RUB / руб. или расхождение в организации), БП считает договор ненайденным и создает новый элемент.Соответствие объектов информационных баз. В результате теряются связи между уникальными идентификаторами УТ и БП, и система выполняет повторное создание объектов.Для того чтобы точно убедиться, что создание элемента происходит в процессе обмена, выполним следующие действия:
Журнале регистрации базы БП для событий записи справочника Договоры контрагентов.Журнал регистрации по объекту договора. В поле Пользователь будет указана учетная запись, под которой выполняется обмен, либо фоновое задание синхронизации.Чтобы предотвратить создание дублей при последующих сеансах обмена, выполним ручную привязку справочников:
Для корректной очистки базы от уже созданных лишних договоров используем штатный механизм слияния элементов:
Владелец (Контрагент) и наименованию.Для окончательного исключения повторных сбоев выполним проверку нормативно-справочной информации:
Валюты в обеих базах содержит одинаковые цифровые и символьные коды.