Как выгрузить плановые цены и себестоимость из 1С:УПП 1.3 в 1С:Бухгалтерию 2.0 при использовании РАУЗ?

Программист 1С v8.3 (Обычные формы) Бухгалтерский учет IT и автоматизация бизнеса
← На главную

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

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

Понимаем разницу: плановая цена и фактическая себестоимость

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

  1. Плановая цена — это нормативно-прогнозная стоимость единицы продукции, которая берется из предварительных расчетов (спецификаций, технологических карт) или утверждается приказом руководства. В течение месяца выпуск продукции на склад оценивается именно по этой цене.
  2. Фактическая себестоимость — это реальные затраты предприятия на выпуск продукции, которые становятся известны только в самом конце месяца после проведения документа «Расчет себестоимости выпуска» (РСВ) в УПП или выполнения закрытия месяца в БП.

Иногда возникает соблазн установить в правилах конвертации плановую цену равной «1 рублю» для всех позиций, уповая на то, что закрытие месяца в БП все равно скорректирует стоимость до фактической. Делать так категорически нельзя!

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

Почему в регистрах РАУЗ нет измерения «Номенклатура»?

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

Это сделано для оптимизации производительности СУБД и универсальности хранения данных. Связь между регистром накопления и конкретными субконто (номенклатура, склады, серии, характеристики) осуществляется через специальный вспомогательный регистр сведений — АналитикаУчетаЗатрат. Каждой уникальной комбинации параметров присваивается свой уникальный Ключ аналитики (ссылка на элемент этого регистра сведений).

Шаг 1. Пишем запрос для получения номенклатуры из РАУЗ

Чтобы связать оборотные данные по выпуску с конкретной номенклатурой, нам необходимо выполнить соединение таблицы оборотов регистра накопления с регистром сведений по полю ключа аналитики. Рассмотрим пример запроса, который выбирает фактическую стоимость выпуска за период:


ВЫБРАТЬ
    УчетЗатратОбороты.КлючАналитикиУчетаЗатрат КАК КлючАналитики,
    АналитикаЗатрат.Номенклатура КАК Номенклатура,
    АналитикаЗатрат.ХарактеристикаНоменклатуры КАК Характеристика,
    УчетЗатратОбороты.КоличествоОборот КАК КоличествоВыпуска,
    УчетЗатратОбороты.СтоимостьОборот КАК ФактическаяСтоимость,
    ВЫБОР
        КОГДА УчетЗатратОбороты.КоличествоОборот <> 0
            ТОГДА УчетЗатратОбороты.СтоимостьОборот / УчетЗатратОбороты.КоличествоОборот
        ИНАЧЕ 0
    КОНЕЦ КАК ФактическаяЦенаЕдиницы
ИЗ
    РегистрНакопления.УчетЗатратРегл.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК УчетЗатратОбороты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаЗатрат КАК АналитикаЗатрат
        ПО УчетЗатратОбороты.КлючАналитикиУчетаЗатрат = АналитикаЗатрат.Ссылка
ГДЕ
    АналитикаЗатрат.Номенклатура В (&СписокНоменклатуры)
    И АналитикаЗатрат.Ссылка.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчетаАналитикиУчетаЗатрат.Выпуск)

В данном запросе мы соединяем виртуальную таблицу оборотов РегистрНакопления.УчетЗатратРегл.Обороты с таблицей регистра сведений РегистрСведений.АналитикаУчетаЗатрат по равенству полей КлючАналитикиУчетаЗатрат и Ссылка. Фильтр по разделу учета Выпуск позволяет отобрать только те записи, которые отражают выход готовой продукции из производства.

Шаг 2. Получение утвержденных плановых цен из регистра

Если на предприятии настроен полноценный расчет плановой себестоимости, эти цены хранятся в регистре сведений ЦеныНоменклатуры по определенному типу цен. Название этого типа цен указывается в настройках параметров учета УПП. Вытащить плановую цену для заполнения ОПЗС в БП можно следующим запросом:


ВЫБРАТЬ
    ЦеныСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныСрезПоследних.ХарактеристикаНоменклатуры КАК Характеристика,
    ЦеныСрезПоследних.Цена КАК ПлановаяЦена,
    ЦеныСрезПоследних.Валюта КАК Валюта
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
        &Период,
        ТипЦен = &ТипЦенПлановойСебестоимости
            И Номенклатура В (&СписокНоменклатуры)
    ) КАК ЦеныСрезПоследних

Этот метод является наиболее правильным с точки зрения методологии учета. В правилах конвертации данных (КД 2.1) при выгрузке документа «Отчет производства за смену» мы можем использовать этот запрос в обработчике событий, передавая туда дату документа и список номенклатурных позиций из табличной части.

Шаг 3. Использование встроенных инструментов УПП для расчета плановых цен

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

  1. Расчет по спецификациям — программа анализирует состав изделия, оценивает все входящие материалы по ценам последней закупки или складской себестоимости, добавляет нормативные трудозатраты и формирует готовую плановую цену.
  2. Заполнение по фактическим данным прошлых периодов — система берет фактическую себестоимость выпуска за прошлый месяц (рассчитанную документом РСВ) и записывает ее в качестве плановой цены на текущий месяц.

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

Шаг 4. Альтернативный вариант — учет в БП без плановых цен

Рассмотрим еще один сценарий. Если специфика бизнеса позволяет отказаться от промежуточной оценки выпуска в течение месяца, мы можем настроить программу-приемник («1С:Бухгалтерия») на работу вообще без использования плановой себестоимости. В БП 2.0 и БП 3.0 эта возможность поддерживается на уровне учетной политики.

Для реализации этого сценария выполним следующие действия:

При такой настройке колонка Цена (плановая) в документе «Отчет производства за смену» в БП перестает быть обязательной для заполнения и может оставаться пустой. Выпуск в течение месяца будет отражаться только в количественном выражении, а полноценная стоимостная оценка на счете 43 сформируется автоматически в конце месяца при выполнении регламентной операции «Закрытие месяца».

Этот вариант значительно упрощает процесс конвертации и избавляет разработчика от необходимости писать сложные запросы к базе УПП, однако лишает бухгалтеров возможности видеть ориентировочную стоимость запасов на складах до окончания отчетного периода.

Подведем итоги

Мы подробно разобрали проблему переноса плановых сумм из УПП в Бухгалтерию. Наилучшим решением является совместное использование методологических и технических средств: настройка в УПП автоматического расчета плановой себестоимости по фактическим данным прошлого периода и последующее извлечение этих данных простым запросом к срезу последних регистра ЦеныНоменклатуры.

← На главную