// разворачиваем регистр в строки
ВЫБРАТЬ
Запрос.Период,
СУММА(Запрос.Цена_1) КАК Цена_1,
СУММА(Запрос.Цена_2) КАК Цена_2
ПОМЕСТИТЬ Цены
ИЗ
(ВЫБРАТЬ
Цены.Период КАК Период,
ВЫБОР
КОГДА Цены.ТипУслуги = ЗНАЧЕНИЕ(перечисление.ТипУслуги.Услуга_1)
ТОГДА Цены.Цена
ИНАЧЕ 0
КОНЕЦ КАК Цена_1,
ВЫБОР
КОГДА Цены.ТипУслуги = ЗНАЧЕНИЕ(перечисление.ТипУслуги.Услуга_2)
ТОГДА Цены.Цена
ИНАЧЕ 0
КОНЕЦ КАК Цена_2
ИЗ
РегистрСведений.Цены КАК Цены) КАК Запрос
СГРУППИРОВАТЬ ПО
Запрос.Период
;
////////////////////////////////////////////////////////////////////////////////
// тут собираем все периоды по которым нужны Цены
ВЫБРАТЬ РАЗЛИЧНЫЕ
Начисления.Период
ПОМЕСТИТЬ Периоды
ИЗ
РегистрНакопления.Начисления КАК Начисления
;
////////////////////////////////////////////////////////////////////////////////
// собственно вся магия
ВЫБРАТЬ
Периоды.Период,
МАКСИМУМ(Цены.Период) КАК ПериодЦены
ПОМЕСТИТЬ ППЦ
ИЗ
Периоды КАК Периоды
ЛЕВОЕ СОЕДИНЕНИЕ Цены КАК Цены
ПО Периоды.Период >= Цены.Период
СГРУППИРОВАТЬ ПО
Периоды.Период
;
////////////////////////////////////////////////////////////////////////////////
// результат
ВЫБРАТЬ
ППЦ.Период,
Цены.Цена_1,
Цены.Цена_2
ИЗ
ППЦ КАК ППЦ
ЛЕВОЕ СОЕДИНЕНИЕ Цены КАК Цены
ПО ППЦ.ПериодЦены = Цены.Период
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn