Как реализовать сложные цепочки передачи товаров между организациями (Интеркампани) в 1С:УТ 11?

Программист 1С v8.3 (Управляемые формы) Управленческий учет Торговля и дистрибуция
← На главную

Схема Интеркампани в решениях «1С:Управление торговлей 11», «1С:ERP» и «1С:Комплексная автоматизация» — это мощный инструмент, позволяющий продавать товар одной организации, если фактически он числится на другой. Однако при настройке «длинных» цепочек, например, Организация А -> Организация Б -> Организация В (Продавец), пользователи часто сталкиваются с тем, что система «не видит» остатки в начале цепочки (у Организации А) при попытке продажи от конечного звена (Организации В).

В этой статье мы подробно разберем, почему возникают сложности со сквозными связями, как работает типовой механизм контроля остатков и какими способами можно обеспечить корректное проведение документов реализации по сложным схемам.

Анализ проблемы: почему типовой механизм «спотыкается» на длинных цепочках

Давайте проанализируем ситуацию, описанную в первом сообщении темы. Имеется цепочка владения: ОрганизацияВладелец1 -> ОрганизацияВладелец2 -> ОрганизацияПродавец. Если товар есть на остатках ОрганизацияВладелец2, реализация от ОрганизацияПродавец проводится без проблем. Но если товар есть только у ОрганизацияВладелец1, система может выдать ошибку отсутствия остатка.

Разберем причину этого поведения. Типовой механизм контроля остатков в момент проведения реализации работает по принципу «одного шага назад». Программа проверяет регистр НастройкаПередачиТоваровМеждуОрганизациями и ищет прямых владельцев для продавца. Она не всегда способна рекурсивно простроить в памяти всю цепочку из 3-4 звеньев в реальном времени, чтобы подтвердить возможность продажи. Это связано с производительностью: рекурсивный поиск по графу организаций при каждом проведении реализации существенно замедлил бы работу системы.

Вариант 1: Настройка матрицы связей «для видимости» (Архитектурное решение)

Одним из самых эффективных и «чистых» способов решения является оптимизация матрицы настроек Интеркампани. Давайте рассмотрим, как это работает. Вместо того чтобы выстраивать в программе только последовательную юридическую цепочку (А-Б, Б-В), мы можем добавить в настройки прямую связь: Организация А -> Организация В (Продавец).

Что это дает:

  1. В момент проведения реализации от Организации В система мгновенно видит остатки Организации А.
  2. Документ реализации проводится, формируя записи в регистре Товары организаций к передаче.
  3. Для целей юридического оформления и бухгалтерского учета мы все равно можем оформить последовательные передачи (А -> Б и Б -> В), используя штатное рабочее место «Оформление передач и возвратов».

Этот метод позволяет избежать программирования и сохраняет типовую логику конфигурации, обеспечивая при этом менеджерам возможность беспрепятственной продажи товаров, находящихся в любой точке холдинга.

Вариант 2: Программное формирование документов передачи

Если специфика бизнеса требует, чтобы документы передачи «подкладывались» под реализацию мгновенно (например, для немедленной печати комплекта документов от промежуточного звена), можно прибегнуть к программной доработке. Рассмотрим логику запроса, который позволяет определить возможных владельцев товара по цепочке настроек:


ВЫБРАТЬ
    НастройкаПередачи.ОрганизацияВладелец КАК Организация
ПОМЕСТИТЬ ВозможныеВладельцы
ИЗ
    РегистрСведений.НастройкаПередачиТоваровМеждуОрганизациями КАК НастройкаПередачи
ГДЕ
    НастройкаПередачи.ОрганизацияПродавец В (
        ВЫБРАТЬ
            Подзапрос.ОрганизацияВладелец
        ИЗ
            РегистрСведений.НастройкаПередачиТоваровМеждуОрганизациями КАК Подзапрос
        ГДЕ
            Подзапрос.ОрганизацияПродавец = &ОрганизацияПродавец
            И Подзапрос.СпособПередачиТоваров = ЗНАЧЕНИЕ(Перечисление.СпособыПередачиТоваров.Продажа)
    )
    И НастройкаПередачи.СпособПередачиТоваров = ЗНАЧЕНИЕ(Перечисление.СпособыПередачиТоваров.Продажа);

Проанализируем этот код. Здесь мы пытаемся найти владельцев «второго уровня» через промежуточное звено. На основе этого запроса можно создать внешнюю обработку (например, подключаемую как «Создание связанных объектов»), которая будет:

Однако стоит помнить, что такой подход требует тщательной обработки Видов запасов. Если в цепочке возникнет несоответствие номеров ГТД или налогообложения, автоматическое проведение может прерваться с ошибкой.

Работа с возвратами в сложных цепочках

Разберем ситуацию с возвратами, так как это наиболее сложная часть Интеркампани. Типовой механизм рассчитан на зеркальное отражение операций. Если товар прошел путь А -> Б -> В, то возврат должен пройти путь В -> Б -> А.

Важно учитывать следующие моменты:

  1. Связь с документом продажи: При оформлении возврата от клиента программа пытается найти исходный Вид запасов. Если цепочка передач была сложной, системе крайне важно «раскрутить» её в обратном порядке.
  2. Период закрытия: Если реализация была в прошлом месяце, а возврат в текущем, и документы передачи уже сформированы, автоматическое сторнирование может не сработать. В этом случае придется оформлять документы Возврат товаров между организациями вручную.
  3. Корректировки: При использовании сложных схем рекомендуется регулярно запускать Помощник исправления остатков товаров организаций. Он проанализирует возникшие отрицательные остатки (в том числе возникшие из-за возвратов) и предложит оптимальную схему их закрытия.

Методические рекомендации по настройке

Выясним, какие настройки наиболее критичны для стабильной работы сквозных цепочек:

Во-первых, проверьте Способ передачи товаров. Если одно звено настроено как «Продажа», а другое как «Передача на комиссию», автоматический сквозной резерв может работать некорректно. Для сложных цепочек рекомендуется придерживаться единого способа передачи во всех узлах.

Во-вторых, обратите внимание на Контроль остатков организаций. Начиная с версий 11.4.x, в системе появился регистр Резервы товаров организаций. Новая методика учета позволяет более гибко работать с Интеркампани, но она требует, чтобы все настройки в матрице были актуальны. Если вы перешли со старой версии (где использовался только регистр Товары организаций к передаче), обязательно выполните перенастройку связей в новом интерфейсе.

В-третьих, проанализируйте использование Видов запасов. Зачастую проблема не в отсутствии связи в настройках, а в том, что у организации-владельца товар числится с одним налогообложением (например, «Продажа облагается НДС»), а организация-продавец пытается продать его по другой схеме. В этом случае автоматическая цепочка «оборвется».

Резюме

Подводя итог, можно сказать, что задача реализации сложных связей в Интеркампани решается преимущественно методическими средствами:

Программные доработки в виде внешних обработок для создания передач оправданы только в тех случаях, когда бизнес-процесс требует наличия всех промежуточных документов строго в момент отгрузки конечному покупателю.

← На главную