Добрый день! Строю отчет для прайса в СКД, где в одной из колонок необходим перечень характеристик(размеры обуви) с их количеством. Вот сам запрос:

ВЫБРАТЬ
ПартииНоменклатурыОстатки.Номенклатура,
ПартииНоменклатурыОстатки.ХарактеристикаНоменклатуры,
ЦеныНоменклатурыСрезПоследних.КатегорияЦен,
ПартииНоменклатурыОстатки.КоличествоОстаток,
ЦеныНоменклатурыСрезПоследних.Цена,
РезервыНоменклатурыОстатки.КоличествоОстаток КАК Резерв,
ВЫБОР
КОГДА РезервыНоменклатурыОстатки.КоличествоОстаток ЕСТЬ NULL
ТОГДА ПартииНоменклатурыОстатки.КоличествоОстаток
ИНАЧЕ ПартииНоменклатурыОстатки.КоличествоОстаток – РезервыНоменклатурыОстатки.КоличествоОстаток
КОНЕЦ КАК Остаток
ИЗ
РегистрНакопления.ПартииНоменклатуры.Остатки КАК ПартииНоменклатурыОстатки
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ПО ПартииНоменклатурыОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РезервыНоменклатуры.Остатки КАК РезервыНоменклатурыОстатки
ПО ПартииНоменклатурыОстатки.Номенклатура = РезервыНоменклатурыОстатки.Номенклатура

СГРУППИРОВАТЬ ПО
ПартииНоменклатурыОстатки.Номенклатура,
ЦеныНоменклатурыСрезПоследних.КатегорияЦен,
ПартииНоменклатурыОстатки.КоличествоОстаток,
ЦеныНоменклатурыСрезПоследних.Цена,
РезервыНоменклатурыОстатки.КоличествоОстаток,
ПартииНоменклатурыОстатки.ХарактеристикаНоменклатуры

 

Финальный вывод отчета:

Собственно вопрос: как это сделать по-человечески? Пока придумал только через вычисляемое поле и внешнюю функцию с отбором в цикле.. Но это очень криво и очень медленно…

Добрый день! Строю отчет для прайса в СКД, где в одной из колонок необходим перечень характеристик(размеры обуви) с их количеством. Вот сам запрос: ВЫБРАТЬ ПартииНоменклатурыОстатки.Номенклатура, ПартииНоменклатурыОстатки.ХарактеристикаНоменклатуры, ЦеныНоменклатурыСрезПоследних.КатегорияЦен, ПартииНоменклатурыОстатки.КоличествоОстаток, ЦеныНоменклатурыСрезПоследних.Цена, РезервыНоменклатурыОстатки.КоличествоОстаток КАК Резерв, ВЫБОР КОГДА РезервыНоменклатурыОстатки.КоличествоОстаток ЕСТЬ NULL ТОГДА ПартииНоменклатурыОстатки.КоличествоОстаток ИНАЧЕ ПартииНоменклатурыОстатки.КоличествоОстаток – РезервыНоменклатурыОстатки.КоличествоОстаток КОНЕЦ КАК Остаток ИЗ РегистрНакопления.ПартииНоменклатуры.Остатки КАК ПартииНоменклатурыОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних ПО ПартииНоменклатурыОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РезервыНоменклатуры.Остатки КАК РезервыНоменклатурыОстатки ПО ПартииНоменклатурыОстатки.Номенклатура = РезервыНоменклатурыОстатки.Номенклатура СГРУППИРОВАТЬ ПО ПартииНоменклатурыОстатки.Номенклатура, ЦеныНоменклатурыСрезПоследних.КатегорияЦен, ПартииНоменклатурыОстатки.КоличествоОстаток, ЦеныНоменклатурыСрезПоследних.Цена, РезервыНоменклатурыОстатки.КоличествоОстаток, ПартииНоменклатурыОстатки.ХарактеристикаНоменклатуры   Финальный вывод отчета: Собственно вопрос: как это сделать по-человечески? Пока придумал только через вычисляемое поле и внешнюю функцию с отбором в цикле.. Но это очень криво и очень медленно… Перейти к...