Есть запрос, возвращающий остаток и продажи в разрезе дней. К чему его можно "справа присоединить", чтобы получить в выборке остатки и продажи на каждую дату из периода - аналог модификатора "ВСЕ" в штатном языке запросов.
|SELECT
| Spr.ID AS [Номенклатура $Справочник.Номенклатура]
|
| ,Reg.Период AS Дата
|
| ,SUM(Reg.КоличествоКонечныйОстаток) AS Остаток
| ,SUM(Rez.КоличествоКонечныйОстаток) AS Резерв
| ,SUM(Продажи.КоличествоОборот) - SUM(Продажи.КоличествоВОборот) AS Продажи
|
|
|FROM $Справочник.Номенклатура AS Spr With (NOLOCK)
|
|
|LEFT JOIN $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата, :КонДата~, Day, ActionsAndPeriodBoundaries,,,(Склад,Номенклатура),(Количество)) AS Reg ON Reg.Номенклатура = Spr.ID
|
|LEFT JOIN $РегистрОстаткиОбороты.РезервыТМЦ(:НачДата, :КонДата~, Day, ActionsAndPeriodBoundaries,,,(Склад,Номенклатура),(Количество)) AS Rez
|ON Rez.Номенклатура = Spr.ID AND Rez.Период = Reg.Период
|
|
|LEFT JOIN $РегистрОбороты.Продажи(:НачДата, :КонДата~,Day,,,(Номенклатура),
| (Количество,КоличествоВ)) AS Продажи
|ON Продажи.Номенклатура = Spr.ID AND Продажи.Период = Reg.Период
|
|WHERE SPR.IsFolder = 2
| AND Reg.Период IS NOt NULL
|
|GROUP BY Spr.ID, Reg.Период