Почему в 1С:УПП 1.3 не списываются затраты из регистра НЗП при использовании документа «Корректировка НЗП»?

Программист Управленческий учет Промышленность, строительство и АПК
← На главную

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

Анализ проблемы: почему «Корректировка НЗП» не всегда подходит

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

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

Решение №1: Использование направлений выпуска (внутренние услуги)

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

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

При такой схеме система четко увидит производственную цепочку: Упаковка -> Тестирование -> Упаковка. Это создаст дополнительные переделы, и РСВ успешно спишет остатки из регистра НЗП.

Решение №2: Использование промежуточного выпуска на склад

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

Выпускаем полуфабрикат из первого подразделения на склад документом ОПзС. Затем передаем его во второе подразделение документом Требование-накладная. После завершения работ (тестирования) снова выпускаем его на склад или сразу в следующее подразделение. Это «чистый» метод с точки зрения методологии 1С, который исключает ошибки при расчете себестоимости, так как каждое движение подтверждено первичным документом выпуска и потребления.

Технический разбор: ошибки в коде РСВ и зацикливание

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

Выясним причину: если в одном переделе встречаются записи с разными признаками (например, одновременно КорректировкаНЗП и ВозвратИзНЗП), запрос может некорректно вычислить поля через функцию МИНИМУМ. В результате признак того, что это корректировка, теряется (возвращается Ложь), и алгоритм списания «пролетает» мимо этой записи.

Также стоит обратить внимание на циклические ссылки. Проанализируем пример: если в документе Поступление из переработки или ОПзС номенклатура выпуска совпадает с номенклатурой затраты (Товар1 состоит из Товара1), система не может распределить затраты по переделам. Посмотрим на критический участок кода:


Процедура РасчетПрямыхЗатрат(СтруктураШапкиДокумента, СтруктураТаблицДвижений, СпособРасчета...) Экспорт
    ...
    ПолучитьНачальныйИКонечныйНомерПередела(СтруктураШапкиДокумента, СпособРасчета, НачальныйПередел, КонечныйПередел);
    
    Если НачальныйПередел = 0 ИЛИ КонечныйПередел = 0 Тогда
        Возврат; // Если есть циклы, переделы не определятся, и списания не будет!
    КонецЕсли;
    ...
КонецПроцедуры

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

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

Для корректного списания затрат из регистра НЗП в УПП 1.3 придерживайтесь следующих правил:

Соблюдение этих методических принципов позволит вам добиться того, чтобы регистр НЗП закрывался полностью, а себестоимость выпускаемой продукции была максимально точной.

← На главную