В процессе ведения складского учета и производственной деятельности часто возникают ситуации, когда необходимо «доработать» уже имеющийся на складе товар. Например, добавить к готовому изделию комплект метизов, произвести оклейку бутылок этикетками или выполнить сушку зерна. На первый взгляд, логика проста: мы берем Товар А, добавляем к нему Винтик и на выходе получаем тот же самый Товар А, но уже в «улучшенном» виде. Однако при попытке отразить это стандартным документом Сборка (комплектация) товаров в 1С:ERP пользователи часто сталкиваются с жестким отказом системы. Разберем подробно, почему так происходит и как правильно решить эту задачу.
Рассмотрим ситуацию, с которой сталкиваются многие специалисты при переходе с 1С:УПП на 1С:ERP. В старых системах (особенно при использовании режима РАУЗ) подобные операции часто «проглатывались», хотя и могли приводить к непредсказуемым результатам при расчете себестоимости. В актуальных версиях 1С:ERP (2.4, 2.5 и выше) при попытке провести документ Сборка товаров, где одна и эта же позиция указана и в шапке (как комплект), и в табличной части (как комплектующая), система выдаст ошибку:
«Один и тот же товар не может являться и комплектом, и комплектующей одновременно».
Выясним причину такого поведения системы. Основная проблема кроется в математическом алгоритме расчета себестоимости. 1С:ERP использует систему линейных уравнений (СЛУ) для определения стоимости выпуска. Если Товар А потребляет Товар А, возникает бесконечный цикл (рекурсия). Чтобы рассчитать стоимость «выходящего» товара, нужно знать стоимость «входящего», а она, в свою очередь, зависит от этого же выпуска. Это приводит к тому, что итерационный расчет может не сойтись, либо себестоимость копеечной позиции из-за математической петли вырастет до астрономических значений.
Проанализируем самый правильный и методически чистый способ решения задачи в рамках 1С:ERP — использование механизма характеристик. Для системы пара Номенклатура + Характеристика является уникальным ключом учета. Если мы разделим товар по состояниям с помощью характеристик, программный запрет на «самосборку» перестанет действовать.
Посмотрим на алгоритм действий:
Базовая комплектация и С доп. комплектом.Сборка товаров укажем в качестве комплектующей Товар А с характеристикой Базовая комплектация.Товар А, но уже с характеристикой С доп. комплектом.Винтики и Болтики.В этом случае документ проведется без ошибок, так как с точки зрения регистров накопления ЗапасыНаСкладах это разные учетные единицы. Себестоимость будет рассчитана корректно: стоимость товара с новой характеристикой сложится из стоимости исходного товара и стоимости добавленных винтиков.
Если бизнес-процесс подразумевает не просто складскую комплектацию, а полноценную доработку, целесообразно использовать документы производства. Рассмотрим работу с документом Производство без заказа.
В производственных документах контроль на уровне проведения менее строгий, чем в складской сборке. Однако здесь нас подстерегает опасность на этапе закрытия месяца. Если в рамках одного подразделения и одного месяца Товар А списывается на выпуск Товара А, расчет себестоимости может выдать ошибку «Обнаружен цикл». Чтобы этого избежать, придерживаемся следующих правил:
Корпус (заготовка) превращается в Корпус (готовый)).Проанализируем ситуацию, когда нам нужно из «недоукомплектованного» товара сделать «годный». В 1С:ERP существует механизм учета по качеству. Мы можем принять товар на склад с качеством Ограниченно годен. Далее, используя документ Сборка товаров, мы «собираем» из позиции с плохим качеством позицию с качеством Новый (Годен), добавляя недостающие детали. Для системы это будут разные объекты учета, и петля себестоимости будет разорвана.
Разберем пример с сушкой зерна, который часто упоминается как классический случай «товара из самого себя». Зерно влажное поступает на элеватор, проходит сушку и превращается в зерно сухое. Вес при этом уменьшается, а стоимость единицы возрастает.
В 1С:ERP это реализуется следующим образом:
Зерно.Влажное и Сухое.Производство без заказа, где в затратах указываем Зерно (Влажное), а в выпуске — Зерно (Сухое).Такой подход позволяет избежать проблем со сходимостью системы линейных уравнений при выполнении регламентной операции Расчет себестоимости товаров.
Подводя итог, можно сказать, что 1С:ERP намеренно ограничивает пользователя в создании рекурсивных связей. Это не «баг» системы, а «фича», защищающая данные от некорректного расчета стоимости. Если вам необходимо собрать товар из него самого:
Номенклатура, либо через Характеристики.Производство, а не складскую Сборку.Помните, что корректно настроенная нормативно-справочная информация (НСИ) — залог быстрой и безошибочной работы механизмов закрытия месяца в 1С:ERP.