В том-то и дело, что нельзя отсортировать просто по количеству или просто по сумме, результат будет не верным. Нужно именно по группировкам, чтобы внутри них можно было обойти в разных направлениях. Надо придумать какие-то доп. столбцы в запросе и сортировать по ним. Думаю, что нужно получить столбец, в котором напротив товара будет итог по этому товару, не зависимо от того, есть ли детализация по складу или нет. Что-то наподобие этого:
Товар Склад Количество КоличествоТовараВсего Товар1 8 8 Товар1 Склад1 3 8 Товар1 Склад2 5 8 Товар2 9 9 Товар2 Склад1 1 9 Товар2 Склад2 6 9 Товар2 Склад3 2 9
Аналогично проделать по сумме, и сортировка по этим столбцам даст нужный результат. А как это реализовать на 1С++?
Вот запрос, который я строю:
SELECT $Рег.Товар as [Товар $Справочник.Номенклатура], GROUPING ($Рег.Товар) as ИтогПоТовару, $Рег.Магазин as [Магазин $Справочник.Магазины], GROUPING ($Рег.Магазин) as ИтогПоМагазину ,SUM($Рег.Количество) as Количество ,SUM($Рег.СуммаБезНДС) as СуммаБезНДС ,SUM($Рег.СуммаСНДС) as СуммаСНДС ,SUM($Рег.НДС) as НДС ,SUM($Рег.Доход) as Доход ,SUM($Рег.СуммаБезСкидки) as СуммаБезСкидки ,SUM($Рег.Скидка) as Скидка FROM $Регистр.Остатки as Рег INNER JOIN _1Sjourn as Жур ON Жур.IDDoc = Рег.IDDoc WHERE Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~ AND Рег.DEBKRED=1 GROUP BY $Рег.Товар, $Рег.Магазин WITH ROLLUP ORDER BY ИтогПоТовару DESC, $Рег.Товар, ИтогПоМагазину DESC, $Рег.Магазин
А вот как получить нужные мне дополнительные столбцы я не знаю.
|