Задача: создать отчет для сравнения цен в поступлениях с выбранным видом цен с возможностью видеть расхождения в сумме. Для проверки исполнения поставщиками соблюдения договоренностей по ценам.
В этой задаче изучим возможность СКД для работы с несколькими наборами данных.
Важно учесть, что отчет могут формировать за период в котором выбранный тип цен изменился.
Создаем новый отчет и добавляем в него 2 набора данных.
В первом будем получать документы поступления, а во втором цены.
В первом наборе данных напишем запрос вывода всех документов.
ВЫБРАТЬ ПриобретениеТоваровУслуг.Ссылка КАК ДоументПоступлния, ПриобретениеТоваровУслуг.Дата КАК Дата, ПриобретениеТоваровУслугТовары.Номенклатура КАК Номенклатура, ПриобретениеТоваровУслугТовары.Цена КАК ЦенаВДокументе, &ВидЦены КАК ВидЦены, ПриобретениеТоваровУслугТовары.Количество КАК Количество, ПриобретениеТоваровУслугТовары.СуммаСНДС КАК СуммаСНДС ИЗ Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг ПО ПриобретениеТоваровУслугТовары.Ссылка = ПриобретениеТоваровУслуг.Ссылка ГДЕ ПриобретениеТоваровУслуг.Проведен И ПриобретениеТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода
Во втором наборе данных получим цены на дату документа
ВЫБРАТЬ ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 1) КАК Цена, &Номенклатура КАК Номенклатура, &Период КАК Период, &ВидЦены КАК ВидЦены, &Количество КАК Количество, ЕСТЬNULL(&Количество * ЦеныНоменклатурыСрезПоследних.Цена, 1) КАК СуммаВВыбранномВидеЦен ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( &Период, Номенклатура = &Номенклатура И ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
После этого соединим два набора данных.
Допишем вычисляемые поля, что бы вывести суммовую разницу и процент расхождения.
Отчет готов.
Разрабатывалось и тестировалось на платформе 8.3.18.1289 в конфигурациях: УТ 11.4.12.81 и УТ 11.4.13.227.
Ссылка для скачивания на инфостарт.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.