При работе в крупных торговых компаниях часто встречается сценарий «Интеркампани», когда товары закупаются на одно юридическое лицо, а продаются от имени другого. В системе 1С:Управление торговлей 11 (УТ 11) для этого используется механизм передачи товаров между организациями. Однако при попытке синхронизировать эти данные с 1С:Бухгалтерия предприятия 3.0 (БП 3.0), особенно если учет разных организаций ведется в разных информационных базах, пользователи сталкиваются с тем, что документы «теряются» при обмене.
В этой статье мы подробно разберем, почему типовой обмен может игнорировать передачи товаров, проанализируем логику работы фильтров и найдем способы решения этой технической коллизии.
Для начала проанализируем, как система «видит» документ ПередачаТоваровМеждуОрганизациями. В торговой базе это один документ. Однако при выгрузке через универсальный формат Enterprise Data он должен трансформироваться в зависимости от роли организации в базе-приемнике:
Проблема возникает в тот момент, когда мы разделяем учет: Организация А ведется в одной базе БП, а Организация Б — в другой. Рассмотрим ситуацию подробнее.
Разберем типичный сценарий. У нас есть Организация-отправитель (К) и Организация-получатель (Т). Мы настроили два отдельных обмена из УТ 11: один в базу БП(К), другой в базу БП(Т). В каждом обмене установлен жесткий фильтр: «Выгружать данные только по конкретной организации».
Проанализируем поведение системы:
Передача товаров в реквизите Организация указана именно организация К. Система видит соответствие фильтру и отправляет объект.Организация в шапке документа. Там стоит «К», а фильтр настроен на «Т». Система игнорирует тот факт, что «Т» указана в реквизите Организация-получатель.Таким образом, типовая логика обмена «одна торговая база — много бухгалтерских» дает сбой, так как правила регистрации объектов не учитывают специфику интеркампани.
Самый корректный с точки зрения архитектуры способ — изменить логику регистрации документа в плане обмена. Нам необходимо, чтобы документ попадал в состав отправки, если хотя бы одна из организаций (отправитель или получатель) совпадает с организацией, указанной в фильтре обмена.
Рассмотрим, как это реализовать. Нам нужно внести изменения в правила регистрации (через расширение или напрямую в конфигурации, если она снята с поддержки):
// Пример логики проверки для правил регистрации
Если (Объект.Организация = ФильтрОрганизация) Или (Объект.ОрганизацияПолучатель = ФильтрОрганизация) Тогда
// Объект должен быть зарегистрирован для обмена
ВыполнитьСтандартнуюРегистрацию();
КонецЕсли;
После внесения таких изменений система начнет «видеть» документ в обоих обменах, и он корректно дойдет до обеих баз БП.
Если мы не хотим «строгать» правила обмена, стоит рассмотреть изменение бизнес-процесса в самой УТ 11. В последних версиях (11.4 и 11.5) существует возможность использовать схему «Выкуп товаров» вместо простой передачи.
Разберем отличия: при схеме выкупа в системе создаются два отдельных документа: Реализация товаров (отправитель) и Приобретение товаров (получатель). В каждом из этих документов в основной шапке указана «своя» организация. В этом случае стандартные фильтры синхронизации отработают идеально без всяких доработок, так как каждый документ привязан к своей организации.
В некоторых случаях помогает изменение настроек самого узла обмена. Проанализируем настройки на стороне УТ 11:
Передача товаров для нужного узла обмена.Важный нюанс: если вы используете формат Enterprise Data, убедитесь, что в настройках синхронизации на стороне БП включена возможность приема документов с операциями межфирменных продаж. Также стоит проверить, включена ли функциональность комиссионной торговли, если передача идет по схеме «на комиссию».
Иногда документ передается, но «не виден» в БП из-за несовпадения видов операций. Проанализируем ситуацию: если в УТ выбрана операция «Передача на комиссию», а в базе 1С:Бухгалтерия в настройках параметров учета отключен флаг «Вести учет комиссионной торговли», документ может загрузиться, но не создаст движений или вовсе выдаст ошибку при загрузке XML-пакета.
Рассмотрим шаги для проверки:
Контрагенты должна быть создана карточка, связанная с этой организацией.Мы выяснили, что основная причина отсутствия документа Передача товаров между организациями в бухгалтерской базе — это конфликт фильтра по организации и структуры самого документа. Для решения проблемы мы рекомендуем либо доработать правила регистрации (чтобы учитывался реквизит ОрганизацияПолучатель), либо пересмотреть схему документооборота в пользу Выкупа товаров, что является более прозрачным методом для раздельного учета в нескольких базах.