Если у вас конфигурация "Комплексная автоматизация" (КА) и если вы используете РАУЗ, то наверняка когда-нибудь (или, быть может, уже) у вас возникнет желание или необходимость отойти от установки плановой себестоимости выпускаемой продукции по плановым ценам.
Одной из альтернатив может являться установка плановой себестоимости на основании фактической (например, за предыдущий месяц), как это реализовано в УПП.
Для написания статьи была использована демобаза КА версии 1.1.62.3.
Вероятно, описанное заработает и в более ранних версиях КА, но, например, на 1.1.56 (по моей информации) уже не работает.
Сама обработка была взята из демобазы УПП версии 1.3.55.1.
Обработка была адаптирована для КА и несколько доработана (суть доработки в том, чтобы можно было считать себестоимость не только по данным упр., но и регл. учета):
Данные для расчета берутся из двух основных регистров РАУЗ: УчетЗатрат и УчетЗатратРегл.
Далее описываю необходимые изменения:
1. В модуле обработки в функции
СформироватьТекстЗапросаФактическиеЗатратыРасширеннаяАналитика()
изменить код
ТекстЗапроса = ПроцедурыРасчетаСебестоимостиВыпуска.ЗаменитьКомментарииВТекстеЗапроса(
на код
ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
2. В модуле обработки в функции
ПолучитьТехОперации()
убрать выполнение запроса, например, вот таким комментированием:
//РезультатЗапроса = Запрос.Выполнить();
//Если РезультатЗапроса.Пустой() Тогда
Возврат Неопределено;
//КонецЕсли;
//
//Возврат РезультатЗапроса.Выгрузить();
3. Наконец, изменение самого запроса. В модуле обработки в функции
СформироватьТекстЗапросаФактическиеЗатратыРасширеннаяАналитика()
необходимо закомментировать / изменить часть запроса в соответствии с приведенным ниже фрагментом:
ТекстЗапросаСКомментариями = "
|ВЫБРАТЬ
| ЗатратыНаВыпуск.Номенклатура,
| ЗатратыНаВыпуск.ХарактеристикаНоменклатуры,
| ЗатратыНаВыпуск.СтатьяЗатрат,
| ЗатратыНаВыпуск.ХарактерЗатрат,
| ЗатратыНаВыпуск.СтатьяЗатрат.ВидЗатрат КАК ВидЗатрат,
| ЗатратыНаВыпуск.Затрата КАК Затрата,
| СУММА(Сумма //ПроцентИзм //СуммаИзм) КАК Сумма
|ИЗ (
| ВЫБРАТЬ
| РегистрАналитикаРаспределенияЗатрат.Продукция КАК Номенклатура,
| РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции КАК ХарактеристикаНоменклатуры,
| РегистрАналитикаУчетаЗатрат.СтатьяЗатрат,
| РегистрАналитикаУчетаЗатрат.ХарактерЗатрат,
| РегистрАналитикаУчетаЗатрат.Затрата,
| СУММА(ВЫБОР КОГДА ВыпускПродукции.Количество ЕСТЬ NULL ТОГДА
| 0
| ИНАЧЕ
| ЗатратыНаВыпуск.СтоимостьПриход / ВыпускПродукции.Количество
| КОНЕЦ) КАК Сумма
| ИЗ
| РегистрНакопления.УчетЗатрат%СуффиксРегл%.Обороты(//ДатаНач, //ДатаКон, Период,
| АналитикаВидаУчета В (
| ВЫБРАТЬ
| Ссылка
| ИЗ
| РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
//| ГДЕ
//| РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ЗатратыНаВыпуск)
//| ИЛИ РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ЗатратыПоНаработке)
| )
//| И АналитикаУчетаЗатрат В (
//| ВЫБРАТЬ
//| Ссылка
//| ИЗ
//| РегистрСведений.АналитикаУчетаЗатрат КАК РегистрАналитикаУчетаЗатрат
//| ГДЕ
//| СтатьяЗатрат.СтатусМатериальныхЗатрат <> ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку)
//| //ХарактерЗатратПроизводственные И ХарактерЗатрат = &ХарактерЗатратПроизводственные
//| //ХарактерЗатратОбщепроизводственные И ХарактерЗатрат = &ХарактерЗатратОбщепроизводственные
//| //ХарактерЗатратОбщехозяйственные И ХарактерЗатрат = &ХарактерЗатратОбщехозяйственные
//| //ХарактерЗатратБрак И ХарактерЗатрат = &ХарактерЗатратБракВПроизводстве
//| //ВидЗатрат
//| )
| И АналитикаРаспределенияЗатрат В (
| ВЫБРАТЬ
| Ссылка
| ИЗ
| РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
| ГДЕ
| Продукция В (&МассивНоменклатуры)
| И ХарактеристикаПродукции В(&МассивХарактеристикНоменклатуры)
| )
|
| ) КАК ЗатратыНаВыпуск
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
| ПО
| ЗатратыНаВыпуск.АналитикаРаспределенияЗатрат = РегистрАналитикаРаспределенияЗатрат.Ссылка
|
//| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ЛЕВОЕ СОЕДИНЕНИЕ
После осуществления описанных выше мер обработка начнет работать (показывать результат расчета):
Стоит отметить, что для корректного результата расчета необходимо в настройках расчета указать метод расчета только у какого-то одного (какого - без разницы) вида расходов, у остальных видов расходов метод расчета должен быть выставлен в "Не рассчитывать":
По описанной выше причине настройки расчета в разрезе видов расходов рекомендуется вообще скрыть от пользователя.