Схема Интеркампани в решениях «1С:Управление торговлей 11», «1С:ERP» и «1С:Комплексная автоматизация» — это мощный инструмент, позволяющий продавать товар одной организации, если фактически он числится на другой. Однако при настройке «длинных» цепочек, например, Организация А -> Организация Б -> Организация В (Продавец), пользователи часто сталкиваются с тем, что система «не видит» остатки в начале цепочки (у Организации А) при попытке продажи от конечного звена (Организации В).
В этой статье мы подробно разберем, почему возникают сложности со сквозными связями, как работает типовой механизм контроля остатков и какими способами можно обеспечить корректное проведение документов реализации по сложным схемам.
Давайте проанализируем ситуацию, описанную в первом сообщении темы. Имеется цепочка владения: ОрганизацияВладелец1 -> ОрганизацияВладелец2 -> ОрганизацияПродавец. Если товар есть на остатках ОрганизацияВладелец2, реализация от ОрганизацияПродавец проводится без проблем. Но если товар есть только у ОрганизацияВладелец1, система может выдать ошибку отсутствия остатка.
Разберем причину этого поведения. Типовой механизм контроля остатков в момент проведения реализации работает по принципу «одного шага назад». Программа проверяет регистр НастройкаПередачиТоваровМеждуОрганизациями и ищет прямых владельцев для продавца. Она не всегда способна рекурсивно простроить в памяти всю цепочку из 3-4 звеньев в реальном времени, чтобы подтвердить возможность продажи. Это связано с производительностью: рекурсивный поиск по графу организаций при каждом проведении реализации существенно замедлил бы работу системы.
Одним из самых эффективных и «чистых» способов решения является оптимизация матрицы настроек Интеркампани. Давайте рассмотрим, как это работает. Вместо того чтобы выстраивать в программе только последовательную юридическую цепочку (А-Б, Б-В), мы можем добавить в настройки прямую связь: Организация А -> Организация В (Продавец).
Что это дает:
Товары организаций к передаче.Этот метод позволяет избежать программирования и сохраняет типовую логику конфигурации, обеспечивая при этом менеджерам возможность беспрепятственной продажи товаров, находящихся в любой точке холдинга.
Если специфика бизнеса требует, чтобы документы передачи «подкладывались» под реализацию мгновенно (например, для немедленной печати комплекта документов от промежуточного звена), можно прибегнуть к программной доработке. Рассмотрим логику запроса, который позволяет определить возможных владельцев товара по цепочке настроек:
ВЫБРАТЬ
НастройкаПередачи.ОрганизацияВладелец КАК Организация
ПОМЕСТИТЬ ВозможныеВладельцы
ИЗ
РегистрСведений.НастройкаПередачиТоваровМеждуОрганизациями КАК НастройкаПередачи
ГДЕ
НастройкаПередачи.ОрганизацияПродавец В (
ВЫБРАТЬ
Подзапрос.ОрганизацияВладелец
ИЗ
РегистрСведений.НастройкаПередачиТоваровМеждуОрганизациями КАК Подзапрос
ГДЕ
Подзапрос.ОрганизацияПродавец = &ОрганизацияПродавец
И Подзапрос.СпособПередачиТоваров = ЗНАЧЕНИЕ(Перечисление.СпособыПередачиТоваров.Продажа)
)
И НастройкаПередачи.СпособПередачиТоваров = ЗНАЧЕНИЕ(Перечисление.СпособыПередачиТоваров.Продажа);
Проанализируем этот код. Здесь мы пытаемся найти владельцев «второго уровня» через промежуточное звено. На основе этого запроса можно создать внешнюю обработку (например, подключаемую как «Создание связанных объектов»), которая будет:
ОрганизацияПродавец.Передача товаров между организациями для всех промежуточных звеньев.Однако стоит помнить, что такой подход требует тщательной обработки Видов запасов. Если в цепочке возникнет несоответствие номеров ГТД или налогообложения, автоматическое проведение может прерваться с ошибкой.
Разберем ситуацию с возвратами, так как это наиболее сложная часть Интеркампани. Типовой механизм рассчитан на зеркальное отражение операций. Если товар прошел путь А -> Б -> В, то возврат должен пройти путь В -> Б -> А.
Важно учитывать следующие моменты:
Вид запасов. Если цепочка передач была сложной, системе крайне важно «раскрутить» её в обратном порядке.Возврат товаров между организациями вручную.Помощник исправления остатков товаров организаций. Он проанализирует возникшие отрицательные остатки (в том числе возникшие из-за возвратов) и предложит оптимальную схему их закрытия.Выясним, какие настройки наиболее критичны для стабильной работы сквозных цепочек:
Во-первых, проверьте Способ передачи товаров. Если одно звено настроено как «Продажа», а другое как «Передача на комиссию», автоматический сквозной резерв может работать некорректно. Для сложных цепочек рекомендуется придерживаться единого способа передачи во всех узлах.
Во-вторых, обратите внимание на Контроль остатков организаций. Начиная с версий 11.4.x, в системе появился регистр Резервы товаров организаций. Новая методика учета позволяет более гибко работать с Интеркампани, но она требует, чтобы все настройки в матрице были актуальны. Если вы перешли со старой версии (где использовался только регистр Товары организаций к передаче), обязательно выполните перенастройку связей в новом интерфейсе.
В-третьих, проанализируйте использование Видов запасов. Зачастую проблема не в отсутствии связи в настройках, а в том, что у организации-владельца товар числится с одним налогообложением (например, «Продажа облагается НДС»), а организация-продавец пытается продать его по другой схеме. В этом случае автоматическая цепочка «оборвется».
Подводя итог, можно сказать, что задача реализации сложных связей в Интеркампани решается преимущественно методическими средствами:
Программные доработки в виде внешних обработок для создания передач оправданы только в тех случаях, когда бизнес-процесс требует наличия всех промежуточных документов строго в момент отгрузки конечному покупателю.