В процессе производства часто возникает задача прослеживаемости «генеалогии» продукции. Типичный пример: на склад поступает лист материала (серия 001), который затем разрезается на несколько частей (серия 002), а те, в свою очередь, проходят дальнейшую обработку или деление (серия 003). Для бизнеса критически важно видеть всю цепочку преобразований в виде иерархического отчета. Рассмотрим подробнее, как реализовать такую структуру в 1С:ERP Управление предприятием, используя как стандартные возможности, так и кастомные доработки.
Прежде чем приступать к разработке новой архитектуры, проанализируем штатный функционал системы. В типовом решении 1С:ERP уже заложены механизмы прослеживаемости, которые работают при условии правильной настройки Политики учета серий.
Для того чтобы система фиксировала связи между сериями сырья и сериями выпуска, необходимо:
Если эти настройки выполнены, данные о связи серий будут автоматически записываться в систему через документы Этап производства. На вкладке «Обеспечение материалами» указывается серия исходного компонента, а на вкладке «Выпуск» — серия полученного полуфабриката или изделия.
Разберем основные отчеты, которые позволяют увидеть эти связи:
Выясним причину, почему стандартные отчеты иногда кажутся недостаточными. Зачастую пользователям требуется специфический вид иерархии, объединяющий данные из разных переделов в одну таблицу. В 1С:ERP ключевые данные для таких отчетов хранятся в регистре накопления Движения Номенклатура - Номенклатура.
Проанализируем структуру этого регистра. Когда мы отражаем выпуск продукции, система фиксирует связь между потребленным материалом и выпущенным изделием. Если на каждом этапе выпуска генерируется новая серия, мы получаем цепочку записей. Построение отчета в этом случае сводится к рекурсивному запросу по данному регистру, где серия выпуска одного этапа становится серией потребления для следующего.
Если стандартных механизмов недостаточно (например, при сложной перемаркировке или необходимости хранить дополнительные свойства связи), рассмотрим вариант создания собственной архитектуры. Посмотрим на два подхода:
1. Использование иерархического справочника
Создадим вспомогательный справочник (например, ПартииПроизводства), где в качестве реквизитов будут выступать Номенклатура и Серия. Ключевым моментом здесь является наличие реквизита Родитель (ссылка на этот же справочник).
// Пример заполнения связи при выпуске
НоваяПартия = Справочники.ПартииПроизводства.СоздатьЭлемент();
НоваяПартия.Наименование = СерияВыпуска.Наименование;
НоваяПартия.Серия = СерияВыпуска;
НоваяПартия.Номенклатура = НоменклатураВыпуска;
НоваяПартия.РодительскаяПартия = СсылкаНаПартиюИсходногоСырья;
НоваяПартия.Записать();
2. Использование регистра сведений (метод графа)
Более гибкий вариант — регистр сведений ИсторияПреобразованияСерий со следующими измерениями:
ИсходнаяСерияПроизведеннаяСерияКонечнаяПродукцияСерия (опционально, для быстрого поиска всей цепочки к готовому изделию)Такой подход позволяет избежать глубокой рекурсии при построении отчетов. Если мы записываем в каждую строку не только непосредственного «родителя», но и ссылку на «голову» всей цепочки (Top-Parent), мы сможем получить всю историю трансформации одним простым запросом по фильтру КонечнаяПродукцияСерия.
Разберем по шагам, как построить отчет, если мы решили использовать стандартные данные или свой регистр. Наилучшим инструментом будет Система компоновки данных (СКД).
СерияПриемник, а в поле «Приемник связи» — СерияИсточник.Это позволит платформе автоматически сформировать иерархический вид дерева любой вложенности без написания сложного программного обхода в коде 1С.
Проанализируем ситуацию, когда из одной серии получается несколько других (деление листа). В 1С:ERP это может быть оформлено разными документами:
А) Производственный процесс:
Используется документ Этап производства. Это самый правильный путь для сохранения полной стоимости и прослеживаемости. Связь серий фиксируется жестко в регистрах распределения материалов.
Б) Складская операция:
Используется документ Сборка (разборка) товаров. Здесь также можно указать серии для исходного комплекта и для полученных комплектующих. Отчеты по прослеживаемости серий в ERP поддерживают данные документы «из коробки».
В) Корректировка серий:
Если происходит просто смена номера серии без изменения физических свойств, используется документ Отражение прочих доходов и расходов или специализированные обработки. В этом случае проследить связь сложнее, и именно здесь может потребоваться кастомный регистр сведений, о котором мы говорили выше.
Подводя итог, можно сказать, что в 1С:ERP 2.4 задача прослеживаемости серий решаема. Рассмотрим последовательность действий для внедрения:
Структура серии номенклатуры — возможно, он уже решает вашу задачу.Движения Номенклатура - Номенклатура.Помните, что поддержание иерархии серий требует строгой дисциплины ввода данных от кладовщиков и мастеров производства. Без указания серий в документах Этап производства никакая архитектура не сможет восстановить разорванную цепочку прослеживаемости.