Есть запрос к регистру остатков
ТекстЗапросаЗаказыЗаявкиТмп = "
|Выбрать
| Номенклатура [Номенклатура $Справочник.Номенклатура],
| ЗаказПоставщику [ЗаказПоставщику $Документ.ЗаказПоставщику],
| ЗаявкаПокупателя [ЗаявкаПокупателя $Документ.ЗаявкаПокупателя],
| КоличествоОстаток КАК Количество
|ИЗ
| $РегистрОстатки.ЗаказыЗаявки(:ДатаАктуальности~,((Номенклатура В (ВЫБРАТЬ val ИЗ #СписокНоменклатуры))),,) КАК ЗаказыЗаявки
|
|";
В развернутом виде выдается как
SELECT
Номенклатура [Номенклатура $Справочник.Номенклатура],
ЗаказПоставщику [ЗаказПоставщику $Документ.ЗаказПоставщику],
ЗаявкаПокупателя [ЗаявкаПокупателя $Документ.ЗаявкаПокупателя],
КоличествоОстаток AS Количество
FROM
(
SELECT
Номенклатура
,ЗаявкаПокупателя
,ЗаказПоставщику
,SUM(КоличествоОстаток) AS КоличествоОстаток
FROM
(SELECT
rg_4667.Номенклатура AS Номенклатура
,rg_4667.ЗаявкаПокупателя AS ЗаявкаПокупателя
,rg_4667.ЗаказПоставщику AS ЗаказПоставщику
,rg_4667.Количество AS КоличествоОстаток
FROM
[РегистрИтоги.ЗаказыЗаявки] AS rg_4667
WHERE
rg_4667.PERIOD = '20131201'
AND
((rg_4667.Номенклатура IN (SELECT val FROM vt_СписокНоменклатуры)))
UNION ALL
SELECT
ra_4667.Номенклатура
,ra_4667.ЗаявкаПокупателя
,ra_4667.ЗаказПоставщику
,CASE WHEN ra_4667.debkred = 0 THEN -ra_4667.Количество ELSE ra_4667.Количество END
FROM
[Регистр.ЗаказыЗаявки] AS ra_4667
WHERE (ra_4667.idx_DATE_TIME_IDDOC_LINENO_ACTNO >= '2013122383V468 XU9PЦБ ')
AND (ra_4667.idx_DATE_TIME_IDDOC_LINENO_ACTNO < '20131223841BXS')
AND
((ra_4667.Номенклатура IN (SELECT val FROM vt_СписокНоменклатуры)))
) AS vt_ra_4667
GROUP BY
Номенклатура
,ЗаявкаПокупателя
,ЗаказПоставщику
HAVING (SUM(КоличествоОстаток) <> 0)
) AS ЗаказыЗаявки
Проблема в том, что не получается получить остатки на конкретный документ, если дата документа равна дате ТА
В другие даты все нормально.
База ДБФ, Версия sqLile 1026