Как изменить единицу измерения при распределении затрат в 1С:УПП

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

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

Проблема использования базовых единиц

Проанализируем ситуацию: предприятие выпускает напитки в таре разного объема (0.5 л, 1 л, 5 л). В системе выпуск отражается в штуках (бутылках). Если мы выберем стандартную базу распределения «По объему выпуска», система может по умолчанию подтянуть количество бутылок, не учитывая, что на пятилитровую емкость должно распределяться больше общепроизводственных затрат, чем на полулитровую. Выясним причину такого поведения: в большинстве типовых алгоритмов УПП база рассчитывается исходя из количественных показателей регистра «Выпуск продукции» в единицах хранения.

Решение 1: Использование коэффициентов в способах распределения

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

Посмотрим на алгоритм действий:

  1. В карточке каждой номенклатуры (бутылки) необходимо убедиться, что правильно заполнены коэффициенты пересчета между штуками и литрами.
  2. В настройках способа распределения выберем показатель, который позволяет учитывать дополнительные параметры.
  3. Если используется режим РАУЗ, мы можем создать документ УстановкаКоэффициентовРаспределенияЗатрат. В нем для каждой позиции выпускаемой продукции явно указывается числовой коэффициент (например, 0.5 для одной номенклатуры и 5.0 для другой).

При выполнении регламентной операции «Расчет себестоимости выпуска» система умножит количество выпущенных штук на эти коэффициенты, фактически получив базу в литрах.

Решение 2: Распределение по нормативам (плановым показателям)

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

Тем не менее, мы можем использовать способ распределения «По нормативам расхода». Если в спецификации продукции основным сырьем является жидкость, расход которой прямо пропорционален объему готовой продукции, то распределение затрат «по расходу основного сырья» будет идентично распределению «по литражу» выпуска. Проанализируем этот путь: он позволяет избежать доработки кода, если производственные спецификации заполнены корректно.

Решение 3: Программная модификация базы распределения

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

Для добавления своего алгоритма расчета базы нам потребуется выполнить следующие шаги:

  1. Добавление нового значения в перечисление: В метаданных найдем перечисление СпособыРаспределенияЗатратНаВыпуск (или аналогичное в зависимости от версии) и добавим туда новое значение, например, ПоОбъемуВЛитрах.
  2. Модификация модуля расчета: Основная логика расчета базы сосредоточена в общем модуле ПроцедурыРасчетаСебестоимости (или в модулях, отвечающих за расчет базы распределения). Нам нужно найти процедуру, где формируется запрос к базе данных для получения количеств выпуска.
  3. Изменение запроса: В запрос необходимо добавить соединение с таблицей единиц измерения номенклатуры, чтобы получить коэффициент пересчета. В тексте запроса количество выпуска (в штуках) должно перемножаться на коэффициент из карточки номенклатуры.

Пример логики запроса в упрощенном виде может выглядеть так:


ВЫБРАТЬ
    ВыпускПродукции.Номенклатура,
    ВыпускПродукции.Количество * ЕдиницыИзмерения.Коэффициент КАК БазаРаспределенияЛитраж
ИЗ
    РегистрНакопления.ВыпускПродукции КАК ВыпускПродукции
ЛЕВОЕ СОЕДИНЕНИЕ 
    Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
    ПО ВыпускПродукции.Номенклатура = ЕдиницыИзмерения.Владелец
    И ЕдиницыИзмерения.ЕдиницаПоКлассификатору = &СсылкаНаЛитр

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

Решение 4: Использование физических параметров (Вес и Объем)

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

Если мы заполним в каждой «бутылке» ее объем в литрах в поле «Объем» (вкладка «Дополнительно» или «Параметры»), то при выборе базы распределения «По объему» (имеется в виду физический объем из карточки, а не количество единиц выпуска), система автоматически произведет пересчет. Это самый «красивый» способ, так как он использует штатные поля данных и не требует изменения кода.

Резюме

Выбор метода зависит от ваших задач:

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

← На главную