В практике производственного учета в 1С:УПП 1.3 (режим РАУЗ) часто возникает задача «разукомплектации» изделия. Классический пример: на складе числится «Насос» стоимостью 100 рублей. Нам необходимо получить из него тот же самый «Насос», но уже стоимостью 95 рублей, и «Шланг от насоса» стоимостью 5 рублей. Казалось бы, стандартный документ КомплектацияНоменклатуры с видом операции «Разборка» должен решить вопрос. Однако при использовании РАУЗ мы сталкиваемся с тем, что расчет себестоимости (РСВ) начинает «усреднять» значения, перекидывая суммы обратно на шланг или насос, создавая нелепые цифры и «зависание» стоимости.
В этой статье мы подробно разберем, почему возникает эта проблема, и рассмотрим несколько надежных способов ее решения — от методических до программных.
Для начала проанализируем математику РАУЗ. В отличие от партионного учета, РАУЗ строит систему линейных алгебраических уравнений (СЛАУ), где узлами графа являются сочетания аналитик: Номенклатура, Склад, Характеристика и т.д.
Когда мы пытаемся разобрать «Насос» на «Насос» и «Шланг», в системе возникает математическая петля (зацикливание). Для алгоритма это выглядит так: объект «А» потребляет сам себя для производства объекта «А» и объекта «Б». Пытаясь распределить затраты, система не может найти точку выхода и начинает бесконечно усреднять стоимость по кругу. Результат — некорректная корректировка себестоимости в конце месяца, когда «Насос» может внезапно стать стоимостью в 3 рубля, а «Шланг» — в 97.
Самый простой и методически верный способ решить задачу без переписывания конфигурации — это использование Характеристик номенклатуры. Рассмотрим этот метод по шагам:
КомплектацияНоменклатуры (Разборка) укажем:
Для РАУЗ «Насос (В сборе)» и «Насос (Без шланга)» — это разные узлы учета. Граф затрат становится линейным: стоимость перетекает из одного узла в другие без образования цикла. Это позволяет системе корректно рассчитать себестоимость каждой позиции.
Если учет по характеристикам невозможен, проанализируем вариант с перемещением. Как мы выяснили, петля возникает, когда одна и та же номенклатура встречается на входе и выходе в рамках одного склада.
Попробуем алгоритм:
Комплектацию (Разборка).Этот метод работает в большинстве случаев, так как РАУЗ разделяет затраты по складам. Однако стоит помнить, что если в этом же месяце по «Насосу» были другие движения на основном складе, риск зацикливания сохраняется.
Если нам необходимо оставить одну и ту же номенклатуру без характеристик и на том же складе, придется прибегнуть к «хирургическому» вмешательству в движения регистров. В РАУЗ существуют специальные коды операций, которые сообщают документу РасчетСебестоимостиВыпуска, что данное движение не нужно корректировать — его стоимость является фиксированной.
Разберем ситуацию: мы можем использовать документ КорректировкаЗаписейРегистров для прямой правки регистра УчетЗатратРегл. Чтобы система не «отсторнировала» наши ручные движения, нужно использовать коды операций с суффиксом «Фикс».
Список кодов операций, которые можно использовать для расхода (чтобы себестоимость не делала обратных проводок):
- Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ВозвратИзЭксплуатацииФикс
- Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.СписаниеИзЭксплуатацииФикс
- Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости
- Перечисления.КодыОперацийПартииТоваров.ВыпускПродукцииФиксНаСклад
- Перечисления.КодыОперацийЗатраты.ПрочиеПостоянныеЗатраты
Проанализируем техническую реализацию. Вы можете доработать проведение документа КомплектацияНоменклатуры, чтобы при совпадении номенклатуры в шапке и строке табличной части подставлялся один из этих кодов.
Пример логики доработки в модуле документа:
// При формировании движений по регистру УчетЗатратРегл
Если СтрокаТЧ.Номенклатура = Шапка.Номенклатура Тогда
Движение.КодОперации = Перечисления.КодыОперацийПартииТоваров.ВыпускПродукцииФиксНаСклад;
// Это заставит РСВ принять стоимость «как есть» без усреднения
КонецЕсли;
Рассматривая варианты с ручной корректировкой кодов или использованием фиксированной стоимости, нужно учитывать следующие риски:
УчетЗатрат приведут к тому, что отчет Ведомость по учету затрат перестанет совпадать с Оборотно-сальдовой ведомостью по счету 10.Резюме: Если ваша учетная политика позволяет, всегда выбирайте Способ 1 (Характеристики) или Способ 2 (Новая номенклатура). Это обеспечит прозрачность учета и корректную работу типовых алгоритмов 1С. Программные методы с фиксацией кодов операций следует использовать только в крайних случаях, когда иные варианты категорически не подходят бизнесу.