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