В торговой практике часто возникает необходимость привезти товар под заказ конкретного покупателя. При этом важно гарантировать, что пришедший на склад товар не будет случайно отгружен другому клиенту. Кроме того, часто возникает более сложная задача: зарезервировать товар из конкретной физической партии (например, закупленной по определенной цене), чтобы именно ее себестоимость списалась при продаже.
В этой статье мы подробно разберем, как реализовать оба сценария в программе 1С:Управление торговлей 11 (УТ 11) с использованием исключительно типового функционала системы.
Для жесткой связки цепочки «Заказ клиента — Заказ поставщику — Поступление — Реализация» в 1С:УТ 11 используется механизм обособленного обеспечения. Он позволяет «намертво» закрепить товар за конкретной потребностью на всех этапах его движения.
Давайте разберем по шагам, как настроить и использовать этот функционал:
НСИ и администрирование — Настройка НСИ и разделов — Склад и доставка. В раскрывающемся блоке Обеспечение потребностей установим флаг напротив опции Обособленное обеспечение заказов.Заказ клиента. В табличной части «Товары» для необходимых позиций в колонке «Действие» выберем вариант Обеспечивать обособленно. В этот момент система автоматически создает уникальный аналитический разрез — Назначение, жестко привязанный к текущему документу Заказ клиента.Заказ поставщику. Это можно сделать как вручную непосредственно на основании заказа покупателя, так и с помощью автоматизированной обработки Формирование заказов по потребностям. Обратите внимание: в табличной части созданного документа закупки в колонке Назначение автоматически пропишется ссылка на исходный заказ клиента.Приобретение товаров и услуг товар приходуется на склад под конкретное назначение. Физически он лежит на складе, но программно заблокирован под нашего клиента. Ни один другой менеджер не сможет выписать его на своего покупателя.Важный нюанс: Снятие обособленного резерва.
Если клиент отказался от сделки, зарезервированный под него товар нельзя просто так отгрузить кому-то другому — программа выдаст ошибку проведения. Чтобы вернуть товар в свободный остаток, необходимо воспользоваться специальным документом Корректировка назначения товаров, выбрав операцию Снятие резерва.
Ниже рассмотрим пример программного кода, который позволяет разработчику проанализировать остатки товаров на складах в разрезе активных обособленных назначений:
// Запрос для анализа складских остатков под конкретные назначения
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
| ТоварыНаСкладахОстатки.Назначение КАК Назначение,
| ТоварыНаСкладахОстатки.ВНаличииОстаток КАК ОстатокВНаличии
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
|ГДЕ
| ТоварыНаСкладахОстатки.Назначение <> ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)";
РезультатВыбора = Запрос.Выполнить().Выбрать();
Пока РезультатВыбора.Следующий() Цикл
// Обработка полученных данных
Сообщить("Товар: " + РезультатВыбора.Номенклатура + " зарезервирован под назначение: " + РезультатВыбора.Назначение);
КонецЦикла;
Теперь рассмотрим более сложный вопрос: как зарезервировать товар из конкретной партии поступления, если на складе одновременно хранятся одинаковые товары, пришедшие в разное время по разным ценам?
По умолчанию в 1С:УТ 11 финансовая партия (конкретный документ закупки) рассчитывается программой автоматически «задним числом» при закрытии месяца (по методу FIFO или Средней). Менеджер при проведении заказа не может вручную указать, из какой именно строки поступления списать товар. Однако решить эту задачу в режиме реального времени можно с помощью механизма серийного учета.
Проанализируем алгоритм настройки этой схемы:
НСИ и администрирование — Номенклатура — Разрезы учета и установим флаг Серии товаров.Учет себестоимости по сериям. В поле идентификации серии укажем Партия товаров.Вид номенклатуры для товаров, требующих партионного учета, включим использование серий и укажем созданную нами политику.Приобретение товаров и услуг) программа обяжет нас указать серию. Каждая новая поставка — это новая серия (например, «Партия №123 от 15.11.2023» или номер накладной поставщика). На каждую такую серию система при закрытии месяца распределит свою уникальную себестоимость закупки.Заказ клиента, он выбирает действие Резервировать на складе и в обязательном порядке указывает нужную серию (партию) из списка доступных остатков на складе.Важное ограничение: Если в виде номенклатуры настроен учет себестоимости по сериям, менеджер не сможет провести заказ клиента в статусе «Резервировать» без указания конкретной серии. Система должна точно знать физический источник списания уже в момент резервирования.
Если ваша деятельность связана не с разовыми продажами, а с ведением крупных проектов (когда в рамках одного контракта идет несколько поставок и несколько отгрузок), использовать обособление под конкретный заказ клиента может быть неудобно. В таких сценариях лучше привязать учет к Сделкам.
Выясним, как активировать этот функционал:
НСИ и администрирование — Настройка НСИ и разделов — Финансовый результат и контроллинг. В группе Учет товаров активируем опцию Обособленный учет себестоимости по сделкам.Сделки с клиентами создадим карточку проекта и установим в ней признак Обособленный учет товаров по сделке.Чтобы окончательно закрепить материал, сопоставим варианты поведения системы при различных настройках обеспечения в табличной части Заказа клиента:
Назначение. Перерезервировать его под другого клиента без создания специального корректирующего документа невозможно. Это идеальный выбор для дорогостоящего или уникального оборудования.Мы подробно разобрали, как гибко настроить процессы закупок и резервирования в 1С:УТ 11 под любые нужды вашего бизнеса. Выбирайте тот инструмент, который наиболее точно соответствует вашим внутренним регламентам работы.