Как распределить материальные затраты пропорционально плановой себестоимости в 1С:УПП 1.3 без спецификаций?

Программист 1С v8.3 (Обычные формы) Бухгалтерский учет Промышленность, строительство и АПК
← На главную

При оформлении выпуска готовой продукции в конфигурации «1С:Управление производственным предприятием 1.3» часто возникает ситуация, когда на предприятии еще не внедрены технологические спецификации или нормативы расхода сырья. При этом в документе Отчет производства за смену требуется списать фактически израсходованные материалы (например, доски) на несколько видов выпущенной продукции (табуретки и стулья) пропорционально их плановой стоимости выпуска.

Рассмотрим архитектурные особенности подсистемы учета затрат 1С:УПП 1.3 в режиме партионного учета и разберем практические способы решения этой задачи.

Особенности распределения прямых материальных расходов в 1С:УПП

Проанализируем, почему типовая кнопка Заполнить на закладке Распределение материалов документа Отчет производства за смену не выполняет расчет пропорционально плановым суммам:

  1. Жесткая привязка к спецификациям: стандартный алгоритм заполнения табличной части распределения опирается исключительно на нормы, заданные в справочнике Спецификации номенклатуры. Если спецификации в строках продукции не указаны, типовой механизм не может определить базу для распределения физического количества сырья.
  2. Количественный учет в НЗП: для статей с характером Материальные расходы в партионном режиме ведется строгий количественно-суммовой учет в регистре накопления Незавершенное производство. Программа требует четкого указания: какое именно количество единиц сырья пошло на конкретное количество единиц готовой продукции.

Разберем основные варианты реализации требуемого распределения.

Вариант 1. Внешняя обработка заполнения табличной части (рекомендуемый способ)

Наиболее надежный и правильный с точки зрения архитектуры УПП метод — разработка подключаемой внешней обработки заполнения табличной части для документа Отчет производства за смену или Распределение материалов на выпуск. Это позволяет сохранить конфигурацию на полной типовой поддержке и гарантирует корректность движений по регистрам затрат.

Разберем алгоритм работы такой обработки по шагам:

  1. Считываем строки табличной части Продукция и услуги текущего документа. Для каждой строки рассчитываем плановую базу выпуска: БазаСтроки = Количество * ПлановаяЦена (или берем готовую сумму из реквизита СуммаПлановая).
  2. Вычисляем общую плановую стоимость выпуска по документу путем суммирования плановых баз всех строк продукции: ОбщаяБаза = Сумма(БазаСтроки).
  3. Определяем долю каждой позиции продукции: КоэффициентРаспределения = БазаСтроки / ОбщаяБаза.
  4. Считываем материалы из табличной части Материалы. Для каждой строки материала выполняем пропорциональный расчет: КоличествоНаПродукцию = ОбщееКоличествоМатериала * КоэффициентРаспределения.
  5. Очищаем и перезаполняем табличную часть Распределение материалов рассчитанными строками с контролем погрешностей округления (разницу относим на последнюю строку выпуска).

Посмотрим на пример фрагмента кода, реализующего расчет коэффициентов и распределение количества:


ОбщаяБаза = 0;
Для Каждого СтрПродукция Из ДокументОбъект.Продукция Цикл
    ОбщаяБаза = ОбщаяБаза + (СтрПродукция.Количество * СтрПродукция.ЦенаПлановая);
КонецЦикла;

Если ОбщаяБаза > 0 Тогда
    ДокументОбъект.РаспределениеМатериалов.Очистить();
    
    Для Каждого СтрМатериал Из ДокументОбъект.Материалы Цикл
        ОстатокКоличества = СтрМатериал.Количество;
        ВсегоСтрок = ДокументОбъект.Продукция.Количество();
        НомерСтроки = 0;
        
        Для Каждого СтрПродукция Из ДокументОбъект.Продукция Цикл
            НомерСтроки = НомерСтроки + 1;
            
            НоваяСтрока = ДокументОбъект.РаспределениеМатериалов.Добавить();
            ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрМатериал);
            
            НоваяСтрока.Продукция = СтрПродукция.Номенклатура;
            НоваяСтрока.ХарактеристикаПродукции = СтрПродукция.ХарактеристикаНоменклатуры;
            НоваяСтрока.СерияПродукции = СтрПродукция.СерияНоменклатуры;
            
            Если НомерСтроки = ВсегоСтрок Тогда
                // Относим погрешность округления на последнюю позицию
                НоваяСтрока.Количество = ОстатокКоличества;
            Иначе
                БазаВыпуска = СтрПродукция.Количество * СтрПродукция.ЦенаПлановая;
                Доля = БазаВыпуска / ОбщаяБаза;
                КоличествоПоДоле = Окр(СтрМатериал.Количество * Доля, 3);
                НоваяСтрока.Количество = КоличествоПоДоле;
                ОстатокКоличества = ОстатокКоличества - КоличествоПоДоле;
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
КонецЕсли;

Такой подход обеспечивает корректное закрытие регистра Незавершенное производство без зависания остатков по количеству сырья.

Вариант 2. Автоматическое распределение документом «Расчет себестоимости выпуска»

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

  1. Настройка параметров учета: в настройках параметров учета на вкладке Себестоимость должен быть выбран единый Тип цен плановой себестоимости.
  2. Установка цен: документом Установка цен номенклатуры для всех позиций выпускаемой продукции должны быть зарегистрированы плановые цены.
  3. Оформление выпуска: в документе Отчет производства за смену заполняются только вкладки Продукция и услуги (с обязательным заполнением плановой стоимости) и Материалы. Вкладка Распределение материалов остается пустой либо материалы предварительно списываются в цех документом Требование-накладная.
  4. Регистр способов распределения: в регистре сведений Способы распределения статей затрат организаций для соответствующей статьи затрат задается правило с базой распределения По плановой себестоимости.

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

Вариант 3. Использование укрупненных спецификаций

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

  1. Создаем для номенклатуры «Табуретка» спецификацию, где на 1 шт. расходуется 1 доска.
  2. Создаем для номенклатуры «Стул» спецификацию, где на 1 шт. расходуется 2 доски (пропорционально отношению плановых цен 100 руб. и 200 руб.).
  3. В документе Отчет производства за смену выбираем эти спецификации и нажимаем Заполнить -> Заполнить по спецификации на вкладке распределения материалов. Программа автоматически разделит физический расход сырья в нужном весовом соотношении.
← На главную