Для добавления второй цены на ценнике отредактируем шаблон СКД


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

И получаем такой ценник

Вступайте в нашу телеграмм-группу Инфостарт
