Как настроить продажу наборов номенклатуры в 1С:Комплексная автоматизация 2.4 с автоматическим списанием комплектующих?

Бизнес-аналитик 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация Управленческий учет Торговля и дистрибуция
← На главную

Рассмотрим классическую задачу управленческого учета, с которой часто сталкиваются торговые и производственные предприятия. Клиент производит мелкоштучную продукцию (например, разноцветные карандаши различных форм, веса и материалов). Учет на производстве ведется поштучно. Однако продаются эти товары не по отдельности, а в разнообразных наборах и комплектах (например, в коробке может быть 5 синих пластиковых карандашей, 6 черных деревянных, ластик и точилка).

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

В этой статье мы подробно разберем, как решить эту задачу в программе 1С:Комплексная автоматизация 2.4 (и более новых версиях 2.5) с помощью стандартных механизмов, а также выясним, в чем заключалась ошибка автора темы на форуме.

В чем ошибка автора темы?

Автор ветки утверждает: «Стандартный вариант набора, который уже есть в программе, не предполагает различие номенклатуры, составляющей набор». Это распространенное заблуждение. На самом деле стандартный механизм «Наборы номенклатуры» в 1С:ERP, 1С:КА и 1С:УТ создан именно для того, чтобы объединять в один виртуальный пакет абсолютно разные номенклатурные позиции.

Программа предоставляет два штатных пути решения этой задачи в зависимости от организации бизнес-процессов на складе. Проанализируем оба варианта подробно.

---

Вариант 1. Динамические наборы (без складского учета коробок)

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

Настроим этот вариант по шагам:

  1. Включение функциональной опции: Перейдем в раздел НСИ и администрирование — Настройка НСИ и разделов — Номенклатура. В раскрывающемся списке Разрезы учета установим флажок Наборы номенклатуры.
  2. Создание Вида номенклатуры: Перейдем в справочник видов номенклатуры и создадим новый вид. В поле Тип номенклатуры обязательно выберем значение Набор.
  3. Создание карточки набора: В справочнике Номенклатура создадим новую позицию (например, «Набор карандашей Юный Художник»). Присвоим ей созданный ранее вид номенклатуры с типом Набор.
  4. Настройка состава набора: В карточке созданного набора перейдем по ссылке Настроить состав набора. Здесь мы можем добавить любые различные комплектующие:
    • Карандаш синий пластиковый — 5 шт.
    • Карандаш черный деревянный — 6 шт.
    • Ластик мягкий — 1 шт.
  5. Настройка печати и ценообразования: В форме настройки набора мы можем указать важные параметры:
    • Вывод в печатные формы: Мы можем выбрать, как набор будет выглядеть в УПД или ТОРГ-12 для клиента. Вариант Только набор позволит выводить одну строку («Набор карандашей»), скрывая состав. Вариант Набор и комплектующие покажет и то, и другое.
    • Цены: Цена может назначаться на сам набор в целом, а может складываться из цен комплектующих. Если цена задается на набор, программа автоматически распределит ее стоимость по комплектующим пропорционально заданным долям стоимости для корректного отражения выручки и себестоимости.

Как это работает при продаже: Менеджер добавляет в документ Реализация товаров и услуг одну строку — «Набор карандашей Юный Художник». При проведении документа программа автоматически списывает со склада физические комплектующие (синие и черные карандаши, ластик). Себестоимость рассчитывается по каждой списанной позиции, а выручка распределяется согласно настройкам долей стоимости.

---

Вариант 2. Складские комплекты (с предварительной сборкой)

Рассмотрим вторую ситуацию. Если наборы собираются (упаковываются в коробки) на складе заранее и хранятся там как готовая продукция, динамические наборы не подойдут. В данном случае нам нужно видеть на складе остаток именно «коробок».

Для этого используется механизм комплектации и документ Сборка (разборка) товаров:

  1. Создание карточки комплекта: Создаем обычную номенклатуру с типом Товар (например, «Коробка карандашей подарочная»).
  2. Настройка спецификации: В карточке этого товара переходим в раздел Варианты комплектации и создаем новую комплектацию. Указываем в табличной части все входящие в комплект карандаши и их количество.
  3. Отражение сборки на складе: Чтобы коробки появились на остатках склада, создаем документ Сборка (разборка) товаров с видом операции Сборка товаров. При выборе нашего комплекта программа автоматически заполнит комплектующие по спецификации. При проведении документа со склада спишутся отдельные карандаши, а оприходуется готовая коробка. Себестоимость коробки будет равна сумме себестоимостей всех списанных комплектующих.
  4. Продажа: В документе Реализация товаров и услуг менеджер указывает товар «Коробка карандашей подарочная». Списывается готовая коробка, себестоимость которой уже сформирована на шаге сборки.

---

Автоматизация процесса: Сборка «на лету»

Если клиенту критически важно вести складской учет готовых коробок (Вариант 2), но при этом он не хочет тратить время на предварительное создание документов сборки вручную, этот процесс можно автоматизировать.

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

Рассмотрим пример программного создания документа сборки при проведении реализации:


// Пример создания документа Сборка товаров на лету
НовыйДокумент = Документы.СборкаРазборкаТоваров.СоздатьДокумент();
НовыйДокумент.Дата = ТекущаяДата();
НовыйДокумент.ВариантИспользования = Перечисления.ВариантыИспользованияСборкиРазборки.СборкаИзКомплектующих;
НовыйДокумент.Организация = СсылкаНаОрганизацию;
НовыйДокумент.Склад = СсылкаНаСклад;
НовыйДокумент.Номенклатура = СсылкаНаКомплект;
НовыйДокумент.Количество = НедостающееКоличество;

// Заполнение комплектующих по умолчанию из спецификации
НовыйДокумент.ЗаполнитьКомплектующие();

Попытка
    НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
Исключение
    ЗаписьЖурналаРегистрации("Ошибка автоматической сборки", УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки());
КонецПопытки;

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

← На главную