Написал функцию формирующую текст запроса
Текст запроса получается следующий:
SELECT
Продажи.Номенклатура [Номенклатура $Справочник.Номенклатура],
Продажи.Поставщик [Поставщик $Справочник.Контрагенты],
Продажи.Фирма [Фирма $Справочник.Фирмы],
Продажи.ПродСтоимость ПродСтоимость,
Продажи.Количество Количество
$РегистрОбороты.Продажи(:НачДата,:КонДата~,Период,,Фирма in (SELECT VAL FROM #ТаблФирма) AND Номенклатура in (SELECT VAL FROM #ТаблНоменклатура)) Продажи
При включении отладки текст запроса получается следующий
SELECT
Продажи.Номенклатура [Номенклатура $Справочник.Номенклатура],
Продажи.Поставщик [Поставщик $Справочник.Контрагенты],
Продажи.Фирма [Фирма $Справочник.Фирмы],
Продажи.ПродСтоимость ПродСтоимость,
Продажи.Количество Количество
(
select
rg2351_vt.sp2343 as Номенклатура,
rg2351_vt.sp2344 as Покупатель,
rg2351_vt.sp2345 as Поставщик,
rg2351_vt.sp4067 as Фирма,
sum(rg2351_vt.sp2349) as СебестоимостьОборот,
sum(rg2351_vt.sp2350) as ПродСтоимостьОборот,
sum(rg2351_vt.sp2375) as КоличествоОборот,
sum(rg2351_vt.sp5191) as СебестоимостьВОборот,
sum(rg2351_vt.sp5192) as ПродСтоимостьВОборот,
sum(rg2351_vt.sp5193) as КоличествоВОборот
from rg2351 as rg2351_vt (nolock)
where rg2351_vt.period between {d '2011-01-01'} and {d '2011-10-01'}
and (rg2351_vt.sp4067 in (SELECT VAL FROM #ТаблФирма) AND rg2351_vt.sp2343 in (SELECT VAL FROM #ТаблНоменклатура))
group by
rg2351_vt.sp2343,
rg2351_vt.sp2344,
rg2351_vt.sp2345,
rg2351_vt.sp4067
having
sum(rg2351_vt.sp2349) <> 0 or
sum(rg2351_vt.sp2350) <> 0 or
sum(rg2351_vt.sp2375) <> 0 or
sum(rg2351_vt.sp5191) <> 0 or
sum(rg2351_vt.sp5192) <> 0 or
sum(rg2351_vt.sp5193) <> 0
) as Продажи
При выполнении запроса вылазит ошибка
Цитата:НаборЗаписей.ВыполнитьИнструкцию(ТекстЗапроса,итРезультатЗапроса);
{C:\DOCUMENTS AND SETTINGS\АДМИНИСТРАТОР\РАБОЧИЙ СТОЛ\ABC АНАЛИЗ.ERT(463)}: State 42000, native 156, message [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'as'.
Своим не опытным взглядом посмотрел, но локализовать ошибку не могу. Где я ошибся??