Столнулся с такой ситуацией, что некоторым пользователям при расчете прибыли не нужна ни средняя, ни партионная себестоимость, а нужна актуальная цена закупа - ее и брать за себестоимость. В связи с этим переделал отчет Валовая прибыль следующим образом: программа вычисляет актуальную цену по документам Поступление товаров и Оприходование товаров и принимает ее в качестве себестоимости. остальной расчет идет стандартно. Также была добавлено колонка "Себестоимость за единицу" (включается как и все в настройках), по этой колонке, при расшифровке отчета по регистратору, можно отследить как менялась закупочная цена товара.
Важно: для формирования отчета необходимо заполнить регистр "Регламентированный производственный календарь", хотя бы значениями по умолчанию, с него берутся календарные даты.
Данный отчет работает независимо без доработок конфигурации.
Добавил еще 1 вариант отчета: потребовалось посчитать прибыль по чекам ККМ. в этом отчете добавлен Ответственный, склад и касса ккм, но убран покупатель, договор и заказ.
Если ассортимент товаров большой, то просчет закупочных цен может занять продолжительное время. Чтобы это обойти пришлось дописать в конфигурацию отдельный регистр сведений для регистрации таких цен и соответственно есть второй вариант отчета, который ориентирован на данный регистр. Конфигурацию легко соединить через объединение или перенести функционал вручную.
Регистр сведений:
- Измерения - Номенклатура и ХарактеристикаНоменклатуры;
- Ресурсы - Цена.
- Подписка на событие: Источник - ПоступлениеТоваровУслуг, ОприходованиеТоваров. Событие - ОбработкаПроведения; Обработчик: ОбщМодуль.ЦеныЗакупОбработкаПроведения;
и сама процедура в общем модуле
Процедура ЦеныЗакупОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
Товары=Источник.Товары.выгрузить();
Товары.свернуть("Номенклатура,ХарактеристикаНоменклатуры","Количество,Сумма");
Движение=источник.Движения.ЦеныНоменклатурыЗакуп;
для Каждого стр из Товары Цикл
если не Стр.Количество=0 и не Стр.Сумма=0 Тогда
Рег=Движение.добавить();
рег.Период=НачалоДня(Источник.Дата);
Рег.Номенклатура=Стр.Номенклатура;
Рег.ХарактеристикаНоменклатуры=Стр.ХарактеристикаНоменклатуры;
Рег.Цена=стр.Сумма/Стр.Количество;
КонецЕсли;
КонецЦикла;
Движение.Записывать=истина;
КонецПроцедуры