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