Возможна ли продажа комплектующих из собранного комплекта в «1С:Управление торговлей»?

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

В процессе торговой деятельности у многих компаний возникает ситуация, когда на складе хранится готовый комплект продукции, но клиенту требуется приобрести лишь одну из его составляющих. Типичные примеры — авторазборки (когда из собранного узла автомобиля нужно продать одну деталь), мебельные магазины (продажа одного элемента из гарнитура) или компьютерные фирмы. В этой статье мы подробно разберем, как устроена архитектура учета комплектов в программе «1С:Управление торговлей» (ред. 11 / 3.1), почему стандартными средствами невозможно продать деталь из собранного комплекта напрямую, и какие существуют методические и технические пути решения этой задачи.

Почему стандартная продажа детали из собранного комплекта невозможна?

Для того чтобы понять логику программы, проанализируем, что происходит в системе на уровне регистров и складского учета при проведении документа Сборка товаров со статусом «Собрано»:

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

Таким образом, когда менеджер пытается оформить документ Реализация товаров и услуг на отдельную деталь, программа выдает ошибку проведения из-за нехватки остатков. Контроль остатков справедливо сообщает, что детали на складе отсутствуют. Они уже стали частью другого физического объекта. Продать то, чего нет на остатках, система не позволит.

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

---

Методическое решение №1: Использование «Наборов» вместо «Комплектов»

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

Рассмотрим подробнее, как работают виртуальные наборы:

Если вам понадобится продать деталь отдельно, менеджер просто добавляет в реализацию конкретную деталь (поскольку она физически и по системе лежит на складе). Если же покупается комплект целиком — выбирается номенклатура-набор. Это исключает необходимость совершать какие-либо лишние складские операции сборки и разборки.

---

Методическое решение №2: Правильное оформление разборки комплекта

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

Разберем по шагам, как правильно выполнить эту операцию, чтобы не нарушить расчет себестоимости:

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

---

Техническое решение №3: Автоматизация разборки «на лету»

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

Проанализируем алгоритм работы такой доработки:

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

Ниже представлен пример концептуального кода на языке 1С для программного создания документа разборки комплекта:


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

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

Попытка
    НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
    Сообщить("Комплект успешно разобран для обеспечения продажи.");
Исключение
    Сообщить("Ошибка проведения авторазборки: " + ОписаниеОшибки());
КонецПопытки;

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

---

Резюме и рекомендации

Подводя итоги нашего анализа, дадим практические рекомендации для выбора оптимального сценария работы:

← На главную