Единый семинар «1С» для бухгалтеров и руководителей

Валовая прибыль по ценам закупки на дату продажи. УТ 10.3

Отчеты - Управленческие

Внешний отчет Валовая прибыль по ценам закупки на дату продажи для УТ 10.3.

Столнулся с такой ситуацией, что некоторым пользователям при расчете прибыли не нужна ни средняя, ни партионная себестоимость, а нужна актуальная цена закупа - ее и брать за себестоимость. В связи с этим переделал отчет Валовая прибыль следующим образом: программа вычисляет актуальную цену по документам Поступление товаров и Оприходование товаров и принимает ее в качестве себестоимости. остальной расчет идет стандартно. Также была добавлено колонка "Себестоимость за единицу" (включается как и все в настройках), по этой колонке, при расшифровке отчета по регистратору, можно отследить как менялась закупочная цена товара.

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

Данный отчет работает независимо без доработок конфигурации.

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

Регистр сведений:

  • Измерения - Номенклатура и ХарактеристикаНоменклатуры;
  • Ресурсы - Цена.
  • Подписка на событие: Источник - ПоступлениеТоваровУслуг, ОприходованиеТоваров. Событие - ОбработкаПроведения; Обработчик: ОбщМодуль.ЦеныЗакупОбработкаПроведения;

и сама процедура в общем модуле

Процедура ЦеныЗакупОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт

    Товары=Источник.Товары.выгрузить();
    Товары.свернуть("Номенклатура,ХарактеристикаНоменклатуры","Количество,Сумма");
    Движение=источник.Движения.ЦеныНоменклатурыЗакуп;
    для Каждого стр из Товары Цикл
        если не Стр.Количество=0 и не Стр.Сумма=0 Тогда 
            Рег=Движение.добавить();
            рег.Период=НачалоДня(Источник.Дата);
            Рег.Номенклатура=Стр.Номенклатура;
            Рег.ХарактеристикаНоменклатуры=Стр.ХарактеристикаНоменклатуры;
            Рег.Цена=стр.Сумма/Стр.Количество;
        КонецЕсли;    
        
    КонецЦикла;    
    Движение.Записывать=истина;
КонецПроцедуры

 

Скачать файлы

Наименование Файл Версия Размер
Валовая прибыль по ценам закупки на дату продажи УТ 10.3 :
.erf 21,33Kb
06.09.17
5
.erf 21,33Kb 5 Скачать
Валовая прибыль по ценам закупки на дату продажи УТ 10.3 для регистра сведений:
.erf 21,05Kb
06.09.17
0
.erf 21,05Kb Скачать
Конфигурация для объединения
.cf 141,03Kb
06.09.17
0
.cf 141,03Kb Скачать

См. также

Комментарии
1. script Мальчинко (script) 196 06.09.17 02:01 Сейчас в теме
А зачем для получения последней цены закупки нужны календарные даты из регистра?

Кажется, что здесь должно быть левое соединение с таблицей Товары из Приходной накладной?
3. Vik KVIKS (KVIKS) 20 06.09.17 11:03 Сейчас в теме
(1) Календарь мне нужен чтобы на каждый день отобразить цену товара, чтобы не было пробелов по дням, а потом левое соединение дату документа продажи с виртуальной таблицей цен по дням. без него придется делать левое соединение с таблицей Товары из Приходной накладной где дата реализации больше даты прихода (потому что день в день это редкость). потом это опять группировать, фильтровать чтобы осталась только 1 последняя запись цены прихода и т.д.
7. Вадим Никонов (V.Nikonov) 116 07.09.17 17:11 Сейчас в теме
(3) Попытка выловить изменение "Закупочной цены" внутри интервала отчета ведет к значительному увеличению нагрузки на 1С... К тому же при многочисленных запросах не удаётся использовать Кэширование, при большом ассортименте крайне затратный способ получения Плановой прибыли... Разумнее расширить регистр продажи или добавить дополнительный оборотный регистр. Кстати, в дополнительном регистре можно добавить дополнительные ресурсы, например, Вес и/или дополнительные измерения, например, Производитель, который хранится в Свойствах Номенклатуры.
8. Vik KVIKS (KVIKS) 20 07.09.17 23:37 Сейчас в теме
(7) Согласен, при большом ассортименте товара и выборе большого периода нагрузка на 1С сильно возрастает. Поэтому рекомендуется использовать отчет за небольшой период и с фильтром по группе товаров.
Конечно лучше переписать конфигурацию под оптимальный алгоритм. Но отчет создавался в первую очередь для тех, кто не хочет или не может менять конфигурацию.
2. Вадим Никонов (V.Nikonov) 116 06.09.17 10:23 Сейчас в теме
Ещё лучше использовать ТипЦен Плановой себестоимости. И производственный календарь нафиг нужен,
Регламентное ведение "Закупочных цен" позволит корректно организовать ЦеноОбразование на предприятии, и избавиться от АртеФактов связанных с Возвратами оформленными через Закупку и прочих левых Закупок...

P.S. Надо только иметь в виду, что получение данных за большой период приводит к БОЛЬШИМ ошибкам. Кстати, при проблемах с регулярным восстановлением проведения по Партиям можно добавить дополнительный ресурс в Регистр Продажи (Создать дополнительный Регистр) в котором сохранять Плановую Себестоимость в Ценах.
4. Vik KVIKS (KVIKS) 20 06.09.17 11:08 Сейчас в теме
(2) С этим соглашусь "Регламентное ведение "Закупочных цен" позволит корректно организовать ЦеноОбразование", но отчет как раз предназначен, когда это и не ведется на предприятии.
А календарь мне все равно нужен потому что нельзя в отчет взять срез последних на дату окончания. Я рассчитываю таблицу цен на каждый день, чтобы реализация брала максимально близкий ей приход, а не цену на конец периода.
5. сергей еременко (ermakk) 07.09.17 10:19 Сейчас в теме
Сделайте для Розницы 2.2.
6. Vik KVIKS (KVIKS) 20 07.09.17 11:04 Сейчас в теме
(5) Хорошая идея, сделаем в ближайшее время
Оставьте свое сообщение