Как в 1С:ERP настроить автоподбор серии полуфабриката по серии готовой продукции?

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

В процессе производственного учета часто возникает задача обеспечить сквозную прослеживаемость партий. Один из распространенных сценариев — необходимость выпускать продукцию определенной серии из материалов и полуфабрикатов с точно такой же серией. Например, при производстве "Изделия" с серией "Партия-001" система должна автоматически подобрать для списания "Полуфабрикат" с серией "Партия-001".

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

Анализ стандартных механизмов 1С:ERP

Прежде чем приступать к доработке, важно понять, почему стандартные инструменты не решают нашу задачу в полной мере. Это поможет нам убедиться, что кастомизация действительно необходима, и правильно определить ее цели.

  1. Политики учета серий. 1С:ERP предлагает гибкие политики учета серий. Мы можем вести учет остатков по сериям, учитывать себестоимость в разрезе серий или использовать их как справочную аналитику. Однако ни одна из стандартных политик не содержит логики подбора серии материала по серии выпускаемой продукции. Например, популярная политика FEFO (First Expire, First Out) автоматически подбирает серии с самым ранним сроком годности, что не соответствует нашей задаче.
  2. Обособление под заказ. Это мощный механизм, который позволяет зарезервировать материалы под конкретный Заказ на производство. При обособлении система гарантирует, что именно эти зарезервированные партии материалов будут использованы для выпуска продукции по данному заказу. Это решает задачу обеспечения конкретного заказа конкретными материалами, но не решает задачу унификации номеров серий. Система может обособить материал с серией "Сырье-АБВ" для выпуска продукции с серией "Готово-123". Нам же требуется совпадение самих идентификаторов серий.

Таким образом, мы приходим к выводу, что для реализации логики "серия в серию" потребуется доработка системы.

Решение через доработку: пошаговый план

Основная цель доработки — изменить механизм заполнения серий в производственных документах. Ключевым документом в этой цепочке является Этап на производство, именно в нем происходит списание материалов и полуфабрикатов.

Шаг 1. Определение точки для доработки

Центральным объектом для нашей модификации будет документ Этап на производство. В его табличной части "Материалы и работы" указываются компоненты для списания, и именно здесь необходимо автоматизировать заполнение их серий.

Наиболее удобный способ встроить новую логику — это модифицировать существующую команду заполнения серий или добавить новую. В документе есть кнопка "Заполнить обеспечение" и связанные с ней команды, например, по подбору серий по FEFO. Наша задача — создать аналогичный механизм, но с другим алгоритмом.

Шаг 2. Разработка алгоритма подбора серий

Продумаем логику, которую должен выполнять наш новый механизм. При нажатии на кнопку (например, "Заполнить серии по серии продукции") система должна выполнить следующие действия:

  1. Получить серию продукции. Алгоритм должен определить серию конечного изделия. Эта информация содержится в документе Заказ на производство, который является основанием для создания Этапов на производство. Необходимо из этапа обратиться к связанному заказу и получить значение серии из него.
  2. Найти материалы с совпадающей серией. Для каждой строки в табличной части "Материалы и работы" документа Этап на производство нужно выполнить поиск остатков на складе. Поиск должен идти по номенклатуре и, что самое главное, по серии, наименование которой строго совпадает с серией продукции из заказа.
  3. Автоматически заполнить серию. Если на остатках найдена номенклатура с нужной серией в достаточном количестве, система должна автоматически подставить эту серию в соответствующую строку этапа.
  4. Обработать исключительные ситуации. Важно предусмотреть, что может произойти, если материал с нужной серией отсутствует на складе или его количества недостаточно. В этом случае система не должна "молчать". Правильным поведением будет вывод информативного сообщения пользователю (например, "Для номенклатуры 'Деталь X' не найдена серия 'Партия-001' на остатках") и оставление поля серии пустым для ручного заполнения.

Шаг 3. Реализация и встраивание в интерфейс

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

План действий для программиста:

  1. Создать расширение для конфигурации 1С:ERP.
  2. Заимствовать в расширение форму документа Этап на производство.
  3. Добавить на форму новую кнопку, например, "Заполнить по серии продукции".
  4. Создать обработчик для этой кнопки. В обработчике реализовать описанный выше алгоритм:
    • Получить данные о Заказе на производство (Этап.Распоряжение).
    • Из заказа получить серию продукции (Заказ.Серия).
    • В цикле обойти строки табличной части МатериалыИРаботы.
    • Для каждой строки выполнить запрос к регистру накопления ТоварыНаСкладах для поиска остатков по Номенклатуре, Характеристике и Серии (где имя серии равно серии продукции).
    • При успешном нахождении остатков — заполнить колонку Серия в строке этапа.

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

Заключение

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

← На главную