Как выполнить доукомплектацию номенклатуры, если в составе комплекта есть прослеживаемые товары

Программист 1С v8.3 (Управляемые формы) Бухгалтерский учет
← На главную

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

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

Выясним причину ошибки: анализ программного кода

Для начала проанализируем ситуацию с технической точки зрения. Рассмотрим фрагмент кода в модуле документа Комплектация номенклатуры, который отвечает за проверку заполнения табличной части при работе с прослеживаемыми товарами. В процедуре ОбработкаПроверкиЗаполнения система выполняет следующий алгоритм:


// Проверка наличия прослеживаемых комплектующих в табличной части
ПрослеживаемыйТовар = Комплектующие.НайтиСтроки(Новый Структура("ПрослеживаемыйТовар", Истина));
ЕстьПрослеживаемыйТовар = ПрослеживаемыйТовар.Количество <> 0;

Если ЕстьПрослеживаемыйТовар И Не ПрослеживаемыйКомплект Тогда
    // Здесь код для случая, когда комплектующие прослеживаемые, а комплект — нет
ИначеЕсли ПрослеживаемыйКомплект И Не ЕстьПрослеживаемыйТовар Тогда
    // Ошибка: комплект должен содержать прослеживаемые товары, но в ТЧ их нет
    ТекстСообщения = НСтр("ru = 'Для комплекта установлен признак ""Прослеживаемый товар(ы) в составе комплекта"", но в составе нет прослеживаемых комплектующих'");
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, ЭтотОбъект, "Номенклатура", "Объект", Отказ);
КонецЕсли;

Проанализировав этот код, мы видим, что система проверяет наличие прослеживаемых товаров только внутри текущей табличной части документа. Программа «не знает», что вы пытаетесь «добавить» что-то к уже существующему комплекту. С точки зрения логики 1С:Бухгалтерии, документ Комплектация номенклатуры — это всегда создание новой партии готовой продукции из набора материалов. Если в карточке номенклатуры (выходного изделия) стоит флаг «Прослеживаемый товар в составе», программа жестко требует, чтобы хотя бы один компонент в списке материалов также был прослеживаемым.

Методика 1: Полная пересборка через Разукомплектацию

Это самый корректный способ с точки зрения методологии бухгалтерского и налогового учета. Разберем его по шагам:

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

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

Методика 2: Создание вложенной комплектации (Многоуровневая структура)

Иногда возникают ситуации, когда период, в котором был собран первый комплект, уже закрыт, и делать Разукомплектацию нежелательно. В этом случае мы можем рассмотреть вариант вложенной сборки. Проанализируем этот путь:

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

Важный нюанс: Поскольку исходный комплект сам по себе уже имеет признак ПрослеживаемыйКомплект = Истина, система воспримет его как прослеживаемый компонент. В итоге условие ЕстьПрослеживаемыйТовар в коде примет значение Истина, и документ проведется без ошибок. С точки зрения ФНС, информация о РНПТ «протянется» через иерархию, и при продаже такого сложного набора в счетах-фактурах будут отражены все необходимые номера РНПТ.

Почему нельзя просто «дописать» товар в существующий комплект?

Рассмотрим, почему разработчики 1С не реализовали механизм простой доукомплектации. Основная причина — партионный учет и прослеживаемость. Когда вы выпускаете комплект, он получает свою себестоимость и свои признаки прослеживаемости на дату документа. Если бы мы просто «добавили» деталь, возникли бы следующие вопросы:

Документ Комплектация по своей сути является аналогом производственной операции. Он списывает старые активы и приходует новый актив. Поэтому механизм «разборки-сборки» (Методика 1) является единственным способом сохранить чистоту учета.

Рекомендации по автоматизации процесса

Если в вашей организации операции доукомплектации происходят часто, рекомендуем рассмотреть возможность написания небольшой обработки. Она может автоматизировать создание пары документов Разукомплектация + Комплектация одним нажатием кнопки. Это позволит избежать ошибок ручного ввода и обеспечит корректное заполнение всех реквизитов прослеживаемости.

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

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

← На главную