В практике торговых предприятий часто возникает ситуация, когда часть ассортимента числится на одном юридическом лице (например, основная компания), а часть — на другом (например, ИП для розницы или отдельное юрлицо для подакцизных товаров). При этом менеджер или кассир хочет работать в режиме «одного окна», не задумываясь о том, какой товар кому принадлежит. Разберем основные способы реализации такой схемы в конфигурации 1С:Управление торговлей 11.
Важно понимать фундаментальное ограничение платформы: документ РеализацияТоваровУслуг в шапке содержит реквизит Организация. Это означает, что один документ может сделать движения по регистрам (например, ТоварыОрганизаций, ВыручкаИСебестоимостьПродаж) только от имени одного юридического лица. Следовательно, для отражения продаж от двух организаций в системе в любом случае должно появиться два документа. Наша задача — максимально автоматизировать их создание.
Это наиболее популярный штатный метод. Он позволяет одной организации продавать товар, который фактически принадлежит другой. Проанализируем, как это работает по шагам:
РеализацияТоваровУслуг, выбирает в шапке «Организацию №1» и подбирает все товары. Система позволит провести документ, даже если части позиций нет на остатках «Организации №1», но они есть у «Организации №2».ПередачаТоваров. Таким образом, «Организация №1» официально «купит» товар у «Организации №2» перед тем, как продать его конечному клиенту.Плюсы: Клиент получает одну печатную форму (УПД/Счет-фактуру) от одного лица. Менеджеру не нужно разделять корзину.
Минусы: С точки зрения налогового учета это продажа от одного лица. Если необходимо, чтобы клиент получил разные документы от разных юрлиц, этот способ не подойдет.
Если работа ведется в рознице через Рабочее место кассира (РМК), в 1С реализован механизм автоматического разделения чеков. Это часто применяется при продаже алкоголя и сопутствующих товаров.
Рассмотрим алгоритм настройки:
Чек ККМ от разных организаций.Для оптовых продаж удобно использовать ЗаказКлиента. Это промежуточное звено, которое позволяет собрать потребности покупателя в одном месте, а затем распределить их по фактическим отгрузкам.
Проанализируем процесс:
ЗаказКлиента. В нем могут быть товары, принадлежащие разным фирмам.РеализацияТоваровУслуг.Чтобы этот механизм работал автоматически без ручного выбора строк, часто прибегают к разделению по складам. Например, если «Товары №1» лежат на «Складе №1», который закреплен за «Организацией №1», программа при генерации реализаций сама разделит документы по складскому признаку.
Если штатные механизмы не подходят (например, склад один, а организаций две, и Интеркампани запрещен), придется воспользоваться доработкой. Рассмотрим логику, которую можно внедрить через расширение конфигурации:
Создадим процедуру, которая при нажатии кнопки «Оформить продажу» в заказе или специальной обработке будет анализировать принадлежность номенклатуры. Разберем пример кода для понимания логики разделения:
// Пример логики разделения одного списка товаров на два документа
Процедура СоздатьРеализацииНаОснованииЗаказа(ЗаказСсылка)
// Получаем таблицу товаров из заказа
ТаблицаТоваров = ЗаказСсылка.Товары.Выгрузить();
// Создаем соответствие для группировки товаров по организациям
// ОрганизацияОпределитель - ваш алгоритм (например, доп. реквизит номенклатуры)
Для Каждого СтрокаТовара Из ТаблицаТоваров Цикл
ОрганизацияПродавец = ОпределитьОрганизациюПоТовару(СтрокаТовара.Номенклатура);
// Логика создания или поиска существующего черновика реализации
// для данной ОрганизацияПродавец и копирование туда строки...
КонецЦикла;
КонецПроцедуры
В этом случае пользователю достаточно нажать одну кнопку, а система сама создаст два документа РеализацияТоваровУслуг, заполнит их соответствующими товарами и подставит нужные организации в шапку. В результате у каждой реализации будет своя печатная форма, свои движения по регистрам Товары на складах и Выручка и себестоимость продаж.
Подводя итог, выделим главное: