Два вопроса:
1. В этом запросе обращение к $РегистрОстаткиОбороты.ОстаткиТоваров встречается 3 раза. Нужно ли это место как-то переписать чтобы было 1 реальное обращение или sql сам это делает?
2. select top 1 Остатки.ОстатокТовараКонечныйОстаток as ОстатокКон не возвращает имени колонки. тз.выбратьстроку() выводит данные правильно с числами, но у этой колонки нет заголовка.
select
ПустаяМатрица1.Период as [Период $Дата],
ПустаяМатрица1.Склад as [Склад $Справочник.Склады],
ПустаяМатрица1.Товар as [Товар $Справочник.Товары],
(select top 1 Остатки.ОстатокТовараКонечныйОстаток as ОстатокКон
from
$РегистрОстаткиОбороты.ОстаткиТоваров(:выбНачПериода,
:выбКонПериода~,
День,
ДвиженияИГраницыПериода,,(Товар IN (SELECT val FROM #выбТовары)) AND (Склад IN (SELECT val FROM #выбСклады)),,
ОстатокТовара) as Остатки
where Остатки.Период <= ПустаяМатрица1.Период order by Остатки.Период DESC)
from
(
select
ПустаяМатрица.Товар
,ПустаяМатрица.Склад
, ПустаяМатрица.Период
, ПустаяМатрица.ОстатокТовараКонечныйОстаток as Остаток
from
(
select
ТаблТоваров.Товар
, ТаблСкладов.Склад
, Период
,0 as ОстатокТовараКонечныйОстаток
From
(
select distinct
Товар
from
$РегистрОстаткиОбороты.ОстаткиТоваров(:выбНачПериода,
:выбКонПериода~,
День,
ДвиженияИГраницыПериода,,(Товар IN (SELECT val FROM #выбТовары)) AND (Склад IN (SELECT val FROM #выбСклады)),,
ОстатокТовара) ) AS ТаблТоваров,
(
select distinct
Склад
from
$РегистрОстаткиОбороты.ОстаткиТоваров(:выбНачПериода,
:выбКонПериода~,
День,
ДвиженияИГраницыПериода,,(Товар IN (SELECT val FROM #выбТовары)) AND (Склад IN (SELECT val FROM #выбСклады)),,
ОстатокТовара)) AS ТаблСкладов,
(
select distinct
Val as Период
from
#listdates) as Даты1) as ПустаяМатрица ) as ПустаяМатрица1