Как разобрать деталь на две части в 1С:УПП с РАУЗ без искажения себестоимости

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

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

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

Анализ проблемы: почему РАУЗ «сходит с ума»

Для начала проанализируем математику РАУЗ. В отличие от партионного учета, РАУЗ строит систему линейных алгебраических уравнений (СЛАУ), где узлами графа являются сочетания аналитик: Номенклатура, Склад, Характеристика и т.д.

Когда мы пытаемся разобрать «Насос» на «Насос» и «Шланг», в системе возникает математическая петля (зацикливание). Для алгоритма это выглядит так: объект «А» потребляет сам себя для производства объекта «А» и объекта «Б». Пытаясь распределить затраты, система не может найти точку выхода и начинает бесконечно усреднять стоимость по кругу. Результат — некорректная корректировка себестоимости в конце месяца, когда «Насос» может внезапно стать стоимостью в 3 рубля, а «Шланг» — в 97.

Способ 1: Разрыв петли через аналитику (Характеристики)

Самый простой и методически верный способ решить задачу без переписывания конфигурации — это использование Характеристик номенклатуры. Рассмотрим этот метод по шагам:

  1. Включим учет по характеристикам для позиции «Насос».
  2. Создадим две характеристики: например, «В сборе» и «Без шланга».
  3. В документе КомплектацияНоменклатуры (Разборка) укажем:
    • В шапке: «Насос» с характеристикой «В сборе».
    • В табличной части: «Насос» с характеристикой «Без шланга» (доля стоимости 0.95) и «Шланг» (доля стоимости 0.05).

Для РАУЗ «Насос (В сборе)» и «Насос (Без шланга)» — это разные узлы учета. Граф затрат становится линейным: стоимость перетекает из одного узла в другие без образования цикла. Это позволяет системе корректно рассчитать себестоимость каждой позиции.

Способ 2: Использование промежуточного склада

Если учет по характеристикам невозможен, проанализируем вариант с перемещением. Как мы выяснили, петля возникает, когда одна и та же номенклатура встречается на входе и выходе в рамках одного склада.

Попробуем алгоритм:

  1. Перемещаем «Насос» на виртуальный склад «Склад разборки».
  2. На этом складе делаем Комплектацию (Разборка).
  3. Полученные детали перемещаем обратно на основной склад.

Этот метод работает в большинстве случаев, так как РАУЗ разделяет затраты по складам. Однако стоит помнить, что если в этом же месяце по «Насосу» были другие движения на основном складе, риск зацикливания сохраняется.

Способ 3: Использование «фиксированных» кодов операций (для программистов)

Если нам необходимо оставить одну и ту же номенклатуру без характеристик и на том же складе, придется прибегнуть к «хирургическому» вмешательству в движения регистров. В РАУЗ существуют специальные коды операций, которые сообщают документу РасчетСебестоимостиВыпуска, что данное движение не нужно корректировать — его стоимость является фиксированной.

Разберем ситуацию: мы можем использовать документ КорректировкаЗаписейРегистров для прямой правки регистра УчетЗатратРегл. Чтобы система не «отсторнировала» наши ручные движения, нужно использовать коды операций с суффиксом «Фикс».

Список кодов операций, которые можно использовать для расхода (чтобы себестоимость не делала обратных проводок):


- Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ВозвратИзЭксплуатацииФикс
- Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.СписаниеИзЭксплуатацииФикс
- Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости
- Перечисления.КодыОперацийПартииТоваров.ВыпускПродукцииФиксНаСклад
- Перечисления.КодыОперацийЗатраты.ПрочиеПостоянныеЗатраты

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

Пример логики доработки в модуле документа:


// При формировании движений по регистру УчетЗатратРегл
Если СтрокаТЧ.Номенклатура = Шапка.Номенклатура Тогда
    Движение.КодОперации = Перечисления.КодыОперацийПартииТоваров.ВыпускПродукцииФиксНаСклад;
    // Это заставит РСВ принять стоимость «как есть» без усреднения
КонецЕсли;

Важные предупреждения при работе с РАУЗ

Рассматривая варианты с ручной корректировкой кодов или использованием фиксированной стоимости, нужно учитывать следующие риски:

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

Резюме: Если ваша учетная политика позволяет, всегда выбирайте Способ 1 (Характеристики) или Способ 2 (Новая номенклатура). Это обеспечит прозрачность учета и корректную работу типовых алгоритмов 1С. Программные методы с фиксацией кодов операций следует использовать только в крайних случаях, когда иные варианты категорически не подходят бизнесу.

← На главную