|
v7: 1sqlite - выдрать обороты партий (все) с фильтами. | ☑ | ||
---|---|---|---|---|
0
Cthulhu
14.03.12
✎
12:45
|
ФирмыФильтрСЗ=СоздатьОбъект("СписокЗначений");
ФирмыФильтрСЗ.ДобавитьЗначение(БазФирма); // "Справочник.Фирмы", заполнено, не группа! ФирмыФильтрСЗ.ДобавитьЗначение(ДопФирма); // "Справочник.Фирмы", заполнено, не группа! КодыОперацийФильтрСЗ=СоздатьОбъект("СписокЗначений"); КодыОперацийФильтрСЗ.ДобавитьЗначение("З"); КодыОперацийФильтрСЗ.ДобавитьЗначение("Ь"); тТхт=" |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 _1склЗапрос.ВыполнитьЗапрос(тТхт).ВыбратьСтроку(); {Детотам-Чототам.ERT(9999999999)}: near "GROUP": syntax error ЗЫ: а как его упорядочить по убыванию позиций документов-измерений? и при этом выбрать только первые с конца группировки? |
|||
1
Cthulhu
14.03.12
✎
13:12
|
//ялох. количество скобок. но все равно - заменил:
FROM [Регистр.ПартииТоваров] Партии WHERE (Партии.Фирма IN (select val from ФирмыФильтр) AND (Партии.Товар = :ВыбТмц) AND (Партии.КодОперации IN (select val from КодыОперацийФильтр) GROUP BY Партии.Фирма, Партии.Поставка, Партии.ПрихДокумент, Партии.IDDOC //на: FROM [Регистр.ПартииТоваров] Партии WHERE Партии.Фирма IN (select val from ФирмыФильтр) AND Партии.Товар = :ВыбТмц AND (Партии.КодОперации IN (select val from КодыОперацийФильтр) GROUP BY Партии.Фирма, Партии.Поставка, Партии.ПрихДокумент, Партии.IDDOC // результат: SELECT Партии.Фирма [Фирма :Справочник.Фирмы], Партии.Поставка [Поставка :Документ] , Партии.ПрихДокумент [ПрихДокумент :Документ], Партии.IDDOC [Документ:Документ] , Sum(Партии.ОстатокТовара) Кво, Sum(Партии.Стоимость) Сум, Sum(Партии.НДС) Ндс FROM [Регистр.ПартииТоваров] Партии WHERE Партии.Фирма IN (select val from ФирмыФильтр) AND Партии.Товар = ' AY ' AND (Партии.КодОперации IN (select val from КодыОперацийФильтр) GROUP BY Партии.Фирма, Партии.Поставка, Партии.ПрихДокумент, Партии.IDDOC ORDER BY Партии.Фирма, Партии.Поставка, Партии.ПрихДокумент, Партии.IDDOC _1склЗапрос.ВыполнитьЗапрос(тТхт).ВыбратьСтроку(); {Детотам-Чототам.ERT(9999999999)}: near "GROUP": syntax error |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |