ФирмыФильтрСЗ=СоздатьОбъект("СписокЗначений");
ФирмыФильтрСЗ.ДобавитьЗначение(БазФирма); // "Справочник.Фирмы", заполнено, не группа!
ФирмыФильтрСЗ.ДобавитьЗначение(ДопФирма); // "Справочник.Фирмы", заполнено, не группа!
КодыОперацийФильтрСЗ=СоздатьОбъект("СписокЗначений");
КодыОперацийФильтрСЗ.ДобавитьЗначение("З");
КодыОперацийФильтрСЗ.ДобавитьЗначение("Ь");
тТхт="
|SELECT Партии.Фирма [Фирма :Справочник.Фирмы], Партии.Поставка [Поставка :Документ]
| , Партии.ПрихДокумент [ПрихДокумент :Документ], Партии.IDDOC [Документ:Документ]
| , Sum(Партии.ОстатокТовара) Кво, Sum(Партии.Стоимость) Сум, Sum(Партии.НДС) Ндс
|FROM [Регистр.ПартииТоваров] Партии
|WHERE (Партии.Фирма IN (select val from ФирмыФильтр)
| AND (Партии.Товар = :ВыбТмц)
| AND (Партии.КодОперации IN (select val from КодыОперацийФильтр)
|GROUP BY Партии.Фирма, Партии.Поставка, Партии.ПрихДокумент, Партии.IDDOC
|ORDER BY Партии.Фирма, Партии.Поставка, Партии.ПрихДокумент, Партии.IDDOC";
_1склБаза.УложитьОбъекты(ФирмыФильтрСЗ,"ФирмыФильтр",0,"Фирмы");
_1склБаза.УложитьОбъекты(КодыОперацийФильтрСЗ,"КодыОперацийФильтр");
_1склЗапрос=_1склБаза.НовыйЗапрос(); _1склЗапрос.Отладка(1);
_1склЗапрос.Подставлять("ВыбТмц",ВыбТмц); // "Справочник.ТМЦ", заполнено, не группа!
_1склЗапрос.ВыполнитьЗапрос(тТхт).ВыбратьСтроку();
результат:
SELECT Партии.Фирма [Фирма :Справочник.Фирмы], Партии.Поставка [Поставка :Документ]
, Партии.ПрихДокумент [ПрихДокумент :Документ], Партии.IDDOC [Документ:Документ]
, Sum(Партии.ОстатокТовара) Кво, Sum(Партии.Стоимость) Сум, Sum(Партии.НДС) Ндс
FROM [Регистр.ПартииТоваров] Партии
WHERE (Партии.Фирма IN (select val from ФирмыФильтр)
AND (Партии.Товар = ' AY ')
AND (Партии.КодОперации IN (select val from КодыОперацийФильтр)
GROUP BY Партии.Фирма, Партии.Поставка, Партии.ПрихДокумент, Партии.IDDOC
ORDER BY Партии.Фирма, Партии.Поставка, Партии.ПрихДокумент, Партии.IDDOC
err: _1склЗапрос.ВыполнитьЗапрос(тТхт).ВыбратьСтроку();
{ЧО-ТО-ТАМ.ERT(220)}: near "GROUP": syntax error
ЗЫ: а как его упорядочить по убыванию позиций документов-измерений? и при этом выбрать только первые с конца группировки по условию заполненности?