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