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