Как организовать учет серий в этапе производства, если кладовщик определяет серию по факту отгрузки?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет Промышленность, строительство и АПК
← На главную

В процессе внедрения 1С:ERP мы часто сталкиваемся с тем, что типовой механизм учета серий в производстве вступает в конфликт с реальностью складских процессов. Стандартная логика программы требует от мастера указания серии уже на этапе планирования обеспечения в ЭтапПроизводства. Однако на практике мастер зачастую не знает, какая именно серия физически будет выдана кладовщиком, а принудительный выбор серии ведет к лишним операциям на складе — необходимости поиска конкретной партии вместо взятия ближайшей.

Давайте разберем, как адаптировать систему под реальный бизнес-процесс, сохранив при этом точность учета себестоимости и возможность прослеживаемости партий.

Анализ проблемы и логики типового функционала

Суть конфликта заключается в том, что в 1С:ERP ЭтапПроизводства выступает распоряжением для склада. Когда мы устанавливаем действие «Отгрузить», система резервирует конкретные товары под конкретные серии. Если политика учета серий настроена на управление остатками, программа требует жесткой привязки. Это создает проблему «поднятия нижнего горшка»: склад вынужден выполнять требования системы, даже если физически это нецелесообразно.

При этом, с точки зрения учета себестоимости, компании важно знать, какая именно партия была списана, чтобы корректно сформировать стоимость готовой продукции и обеспечить контроль качества через рекламации.

Решение задачи через расширение конфигурации

Наиболее эффективным способом обхода данного ограничения без внесения изменений в типовую логику проведения документов является использование расширения. Суть подхода заключается в делении процесса на два шага: предварительное планирование и фактическое уточнение.

  1. Создание «вспомогательной» серии: Мы вводим техническую серию, например, с наименованием «НЕ УКАЗАНА». Мастер в ЭтапПроизводства при запросе материалов всегда указывает эту серию. Это позволяет избежать необходимости выбора конкретной партии на этапе планирования.
  2. Фактическая отгрузка: Когда кладовщик оформляет документ ПередачаМатериаловВПроизводство (на основании этапа), он указывает в документе именно ту серию, которая была физически отпущена со склада.
  3. Автоматическая актуализация: При проведении документа передачи мы программно инициируем процесс обновления данных в исходном этапе.

Реализация механизма автоматического изменения серии

Для реализации этого механизма необходимо внедрить обработчик в событие записи или проведения документа ПередачаМатериаловВПроизводство. Рассмотрим логику, которую следует реализовать в модуле менеджера или через расширение.

При проведении документа система должна выполнить следующие действия:

  1. Определить распоряжение, на основании которого создан документ.
  2. Проверить табличную часть материалов, чтобы выявить, какие серии были фактически списаны.
  3. Выполнить корректировку табличной части МатериалыИРаботы в документе ЭтапПроизводства, заменив вспомогательную серию на фактическую.

Примерная логика работы программного кода:


// В обработчике события при проведении документа передачи
Для Каждого СтрокаМатериала Из Объект.Материалы Цикл
    Если СтрокаМатериала.Серия <> СсылкаНаВспомогательнуюСерию Тогда
        // Получаем ссылку на этап производства
        ЭтапПроизводства = СтрокаМатериала.Распоряжение;
        
        // Выполняем поиск нужной строки в этапе и замену серии
        // Важно: учитываем блокировку объекта для исключения конфликтов
        ОбъектЭтап = ЭтапПроизводства.ПолучитьОбъект();
        Для Каждого СтрЭтапа Из ОбъектЭтап.Материалы ИЗ Цикл
            Если СтрЭтапа.Номенклатура = СтрокаМатериала.Номенклатура Тогда
                СтрЭтапа.Серия = СтрокаМатериала.Серия;
            КонецЕсли;
        КонецЦикла;
        ОбъектЭтап.Записать();
    КонецЕсли;
КонецЦикла;

Важные замечания и риски

При использовании данного подхода необходимо учитывать несколько критических аспектов:

В конечном итоге, решение через вспомогательную серию позволяет мастеру сфокусироваться на производственных задачах, а кладовщику — эффективно работать с остатками на складе, при этом сохраняя все преимущества детализированного учета себестоимости в 1С:ERP.

← На главную