В процессе работы с крупными сетевыми клиентами часто возникает конфликт между их внутренними логистическими процессами и требованиями типового учета в 1С:Управление торговлей 11. Рассмотрим ситуацию, когда контрагент требует оформления УПД на разные КПП филиалов, но при этом осуществляет внутренние перемещения товара между ними, что приводит к некорректным остаткам в вашей базе.
Прежде всего, проанализируем суть конфликта. В 1С:УТ 11 механизм комиссионной торговли опирается на регистр накопления Товары, переданные на комиссию. Система жестко контролирует остатки: если вы передали товар на Склад_Филиал_А, программа не позволит оформить Отчет комиссионера от имени Склад_Филиал_Б, так как возникнет отрицательный остаток.
Важно осознать юридический статус сделки. Если договор заключен с головной организацией, то именно она является вашим основным контрагентом. Требование филиалов указывать разные КПП — это вопрос правильного оформления первичных документов (УПД), а не дробления учета на разных юридических лиц.
Самый простой и правильный путь с точки зрения методологии 1С — это использование функционала Грузополучатель. Рассмотрим этот подход по шагам:
Партнеров или используйте структуру подчиненных элементов, где филиалы выступают как точки доставки.Контрагент всегда указывайте Головную организацию (юридическое лицо), с которой заключен договор.Грузополучатель выбирайте конкретный филиал. Это позволит системе при печати УПД подставлять нужный КПП филиала, как того требует клиент.Складов, соответствующих филиалам, если это необходимо, но помните, что юридически за все отвечает «Голова».Если клиент категорически настаивает на том, что вы должны отражать их внутренние перемещения, необходимо автоматизировать процесс «отзеркаливания». Попытки делать это вручную приведут к ошибкам. Рассмотрим, как это реализовать программно:
Создайте внешнюю обработку, которая будет импортировать данные из файлов (Excel, XML или через API), получаемых от клиента. Алгоритм должен быть следующим:
// Пример логики обработки данных
Для Каждого СтрокаОтчета Из ДанныеКлиента Цикл
Если СтрокаОтчета.БылоПеремещение Тогда
ДокПеремещение = Документы.ПеремещениеТоваров.СоздатьДокумент();
ДокПеремещение.СкладОтправитель = ПолучитьСкладПоКПП(СтрокаОтчета.КПП_Откуда);
ДокПеремещение.СкладПолучатель = ПолучитьСкладПоКПП(СтрокаОтчета.КПП_Куда);
// Заполнение табличной части товарами
ДокПеремещение.Записать();
ДокПеремещение.Провести();
КонецЕсли;
КонецЦикла;
Этот метод позволяет выровнять остатки на складах в 1С до момента ввода Отчета комиссионера. Таким образом, вы соблюдаете требования клиента, не нарушая логику проведения документов в 1С:УТ 11.
Если филиальная структура не является критически важной для вашего управленческого учета, мы рекомендуем договориться с клиентом об использовании одного Склада в системе. В таком случае все Отчеты комиссионера будут оформляться по единому складу, а вопрос с КПП в УПД будет решаться путем выбора правильного Грузополучателя непосредственно в документе реализации.
Совет: Всегда проверяйте текст договора. Если там прописано, что ответственность несет только «Голова», то любые требования филиалов по «перемещениям в вашей базе» являются лишь удобством для клиента, но не вашей прямой обязанностью. Оптимальным вариантом является автоматизация загрузки данных от клиента, чтобы исключить человеческий фактор при отражении их перемещений.