С переходом на версии конфигураций 1С:Управление торговлей 11.5 и 1С:ERP 2.5 многие пользователи столкнулись с существенным изменением логики обеспечения заказов. Основная проблема заключается в том, что при установке статуса «Резервировать по мере поступления» система автоматически забирает товар из текущего свободного остатка на складе, даже если менеджер планировал дождаться будущей поставки. Рассмотрим подробно, почему так происходит и как мы можем повлиять на это поведение.
Прежде всего, нам необходимо понять концептуальное изменение, которое внедрили разработчики 1С. В версиях ниже 2.5.7 (для ERP) и 11.5.7 (для УТ) существовали так называемые «мягкие резервы». Теперь же работает динамический механизм распределения. Проанализируем основные правила, по которым система распределяет товар:
ДатаОтгрузки ближе к текущему моменту. Если у старого заказа дата отгрузки через месяц, а новый заказ пришел сегодня с датой отгрузки «завтра», система перебросит резерв на новый заказ.Для системы логика «зарезервировать только из будущего поступления, оставив склад нетронутым» считается неэффективной. Программа стремится максимально быстро обернуть товар, находящийся на складе. Однако в реальном бизнесе это мешает выполнять обязательства по срочным заказам, для которых и держится свободный остаток.
Выясним, как управлять этим процессом через настройки системы. Ключевым инструментом здесь является Граница обеспечиваемого периода, которая задается в Способе обеспечения потребностей. Рассмотрим этот механизм по шагам:
Если в вашей базе используется упрощенная схема обеспечения, эти настройки скрыты. Чтобы получить к ним доступ, необходимо перейти в НСИ и администрирование — Склад и доставка — Обеспечение потребностей и включить расширенную настройку.
В настройках способа обеспечения (например, «Покупка у поставщика») найдите параметры:
Посмотрим на логику работы программы: пока желаемая дата отгрузки в заказе клиента находится за границей обеспечиваемого периода, система не будет пытаться захватить под него складской остаток. Она будет лишь «планировать» его обеспечение. Как только дата отгрузки приближается и попадает в границы периода, заказ становится претендентом на полноценный резерв, включая остатки на складе.
Если настройка способов обеспечения кажется слишком сложной или не дает нужного результата в конкретной ситуации, разберем альтернативный метод, который часто используют практикующие менеджеры. Посмотрим, как можно «обмануть» алгоритм распределения через реквизиты даты.
Проанализируем ситуацию: менеджер хочет поставить резерв из будущего прихода, но не хочет, чтобы система трогала текущие 10 штук на складе. Чтобы система не считала этот заказ приоритетным для склада, выполним следующие действия:
Заказе клиента в поле «Дата отгрузки» установим пустую дату или дату, сильно удаленную в будущее (например, конец следующего квартала).Рассмотрим, что произойдет дальше: когда товар от поставщика поступит на склад, менеджер сможет изменить дату отгрузки на актуальную и перевести действие в статус «Резервировать на складе» (или это сделает регламентное задание распределения запасов).
Если вам требуется стопроцентная гарантия того, что конкретный товар, заказанный у поставщика, уйдет конкретному клиенту, разберем метод Обособления. Это единственный способ «разорвать» общий котел распределения запасов в 1С 11.5.
Посмотрим на алгоритм действий:
Заказе клиента для строки товара устанавливаем действие «Обеспечивать обособленно».Заказа поставщику указываем этот заказ клиента в качестве Назначения.В этом случае система создает жесткую связь. Даже если придет новый заказ клиента с более ранней датой отгрузки и более высоким приоритетом, он не сможет забрать этот товар, так как у товара в регистре будет заполнено измерение Назначение. Этот товар будет «невидим» для всех остальных заказов.
Важное ограничение: Если вы работаете с импортом и цепочкой документов (Заказ поставщику — Приобретение товаров и услуг — Таможенная декларация), назначение должно быть протащено через всю цепочку. Если документы уже находятся в закрытом периоде, изменить назначение будет крайне проблематично.
Чтобы проанализировать, как распределились ваши запасы, всегда используйте отчет «Остатки и доступность товаров». В нем важно смотреть не только на колонку «В наличии», но и расшифровывать данные до регистра РаспределениеЗапасов.
Посмотрим, какие данные нам важны:
Если вы видите, что товар «ушел» не тому клиенту, проверьте регламентное задание РаспределениеЗапасов. В крупных базах оно работает в фоновом режиме, и изменения в отчетах могут появляться с задержкой в несколько минут. Выясним причину задержки, проверив консоль регламентных заданий:
// Пример программного вызова распределения (для разработчиков)
РаспределениеЗапасов.РаспределитьЗапасыПоВсемНоменклатурамСклада(СкладСсылка);
В заключение отметим, что механизм «Резервировать по мере поступления» в современных версиях 1С — это не жесткая бронь, а очередь. Чтобы успешно работать с ней, необходимо либо строго соблюдать дисциплину заполнения дат отгрузки, либо использовать механизм обособленного обеспечения для критически важных поставок.