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