Как реализовать обособление остатков под каналы продаж в 1С:Управление торговлей 11 без виртуальных складов?

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

При работе с маркетплейсами по схемам FBS или FBO, а также при наличии нескольких каналов продаж, часто возникает задача "разложить товар по кучкам" внутри одного физического склада. Главная сложность заключается в том, чтобы эти "кучки" (резервы) были недоступны для свободной продажи, легко перемещались между каналами и при этом не превращали складской учет в хаос из сотен виртуальных складов. Рассмотрим, как решить эту задачу, используя типовой функционал 1С:Управление торговлей 11.

Основа решения: Механизм «Назначения»

В современных версиях УТ 11 (начиная с 11.4 и особенно в 11.5) основным инструментом обособления является технический справочник Назначения. Этот механизм позволяет системе "понимать", что конкретная единица товара на полке лежит не просто так, а под конкретную цель. Разберем по шагам, как это работает на уровне регистров.

Когда товар поступает на склад без указания назначения, он попадает в "свободный остаток". В регистре Запасы на складах (или Товары на складах) поле Назначение остается пустым. Если же мы резервируем товар под конкретный канал, в этом поле появляется ссылка на объект-основание. Проанализируем два основных способа создания таких назначений.

Способ 1: Использование Направлений деятельности (НД)

Это самый изящный способ для версий 11.5 и выше. Рассмотрим ситуацию: у нас есть три канала продаж — "Озон FBS", "Вайлдберриз" и "Розничный магазин".

  1. Настройка НД: Включаем в настройках системы использование Направлений деятельности. Для каждого канала продаж создаем отдельную карточку Направления деятельности. В настройках НД важно указать, что по нему ведется обособленный учет запасов.
  2. Обособление остатка: Чтобы выделить товар под канал, мы используем документ Корректировка назначения товаров. Выбираем вид операции "Снятие резерва и резервирование" или "Резервирование под направление деятельности".
  3. Результат: Товар остается на том же складе и в той же ячейке, но в отчетах (например, Остатки и доступность товаров) мы видим его в колонке "В наличии" с заполненным полем Назначение, при этом в колонку "Доступно" для свободной продажи он не попадает.

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

Способ 2: Схема с «Заказами-резервуарами»

Если ваша версия конфигурации не поддерживает полноценный учет запасов по НД или вы не хотите усложнять финансовый учет, можно воспользоваться методом "Заказов-контейнеров".

Проанализируем этот алгоритм:

  1. Создаем для каждого канала продаж один фиктивный документ Заказ клиента. Этот заказ никогда не будет отгружен, его цель — "держать" остаток.
  2. В табличной части заказа устанавливаем действие "Резервировать на складе".
  3. Когда нужно переместить товар между каналами, мы используем все тот же документ Корректировка назначения товаров.

Разберем пример операции: нужно перекинуть 50 шт. товара с "Озона" на "Вайлдберриз". В документе Корректировка назначения товаров в одной строке мы указываем "Снять резерв" с заказа Озона, а во второй — "Зарезервировать" под заказ Вайлдберриз. Это происходит мгновенно и без лишних складских перемещений.

Техническая реализация и отчетность

Для программиста важно понимать, как извлекать эти данные. Обычный запрос к остаткам без учета измерений может выдать общую цифру, что приведет к ошибкам. Рассмотрим пример запроса для получения остатков в разрезе назначений (каналов):


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

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

Оперативная работа оператора

Для удобства работы оператора рекомендуется создать простую обработку — "Рабочее место управления остатками МП". В ней следует реализовать:

Нюансы себестоимости

Важный момент, который стоит проанализировать — это расчет себестоимости. В УТ 11 при использовании обособленного учета по назначениям, себестоимость может считаться отдельно для каждой партии внутри назначения. Если вы просто перемещаете товар между каналами "бумажно" (через корректировку назначения), убедитесь, что в учетной политике настроено корректное распределение стоимостных показателей, иначе вы можете столкнуться с тем, что на одном канале товар "дешевый", а на другом "дорогой", хотя физически это одна партия закупки.

Таким образом, использование Назначений является наиболее правильным и архитектурно верным способом обособления остатков в УТ 11, позволяющим избежать избыточного количества складов и упростить контроль товарных запасов.

← На главную