|
Как в запросе получить итоговую сумму по группировкам? | ☑ | ||
---|---|---|---|---|
0
sapravka
07.10.14
✎
03:08
|
Здравствуйте.
Если что не так написал, прошу сильно не ругать. Возникла необходимость получить итоги по группировкам с отборам, например группировка по Видам номенклатуры: То есть, получить все данные, сумму продаж всех товаров с видом номенклатура НАПИТКИ. Подскажите, как из запроса получить данные в переменную? Вот делаю запрос: Запрос = Новый Запрос; Запрос.УстановитьПараметр("НачалоПериода", ЭтотОбъект.НачалоПериода); Запрос.УстановитьПараметр("КонецПериода", ЭтотОбъект.КонецПериода); Запрос.Текст ="ВЫБРАТЬ | ПродажиЧекККМИДляОтчета.Период, | ПродажиЧекККМИДляОтчета.Регистратор, | ПродажиЧекККМИДляОтчета.Склад, | ПродажиЧекККМИДляОтчета.Номенклатура, | ПродажиЧекККМИДляОтчета.ВидыНоменклатуры КАК ВидыНоменклатуры, | ПродажиЧекККМИДляОтчета.Количество, | ПродажиЧекККМИДляОтчета.Цена, | ПродажиЧекККМИДляОтчета.Сумма КАК Сумма |ИЗ | РегистрНакопления.ПродажиЧекККМИДляОтчета КАК ПродажиЧекККМИДляОтчета |ГДЕ | ПродажиЧекККМИДляОтчета.Период МЕЖДУ &НачалоПериода И &КонецПериода |ИТОГИ | СУММА(Сумма) |ПО | ВидыНоменклатуры"; РезультатЗапроса = Запрос.Выполнить(); Шапка = РезультатЗапроса.Выбрать(); Шапка.Следующий(); Как в данном запросе получить в переменные: А = получить сумму по ВидыНоменклатуры НАПИТКИ; В = получить сумму по ВидыНоменклатуры СЫРЫ; С = и так далее А так же в переменную: Д - общую сумму по данному запросу? |
|||
1
Metman
07.10.14
✎
04:21
|
Сделай обход по группировкам.
|
|||
2
Metman
07.10.14
✎
04:22
|
РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам)
|
|||
3
sapravka
07.10.14
✎
08:43
|
(2) Вот так нужно написать в конце запроса:
Шапка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Шапка.Следующий(); Подскажите пожалуйста еще: Как в данном запросе получить в переменные: А = получить сумму по ВидыНоменклатуры НАПИТКИ; В = получить сумму по ВидыНоменклатуры СЫРЫ; С = и так далее А так же в переменную: Д - общую сумму по данному запросу? |
|||
4
Peltzer
07.10.14
✎
08:46
|
Закладка Итоги в конструкторе запросов в помощь
|
|||
5
sapravka
07.10.14
✎
08:52
|
(4) Вот прописал на закладке Итоги в конструкторе запросов:
http://i67.fastpic.ru/big/2014/1007/59/454e9bc3e8f440a2b0a58191ec960659.jpg |
|||
6
Metman
07.10.14
✎
09:34
|
(3) я тебе это и сказал.
Пока Шапка.Следующий() Цикл ..... КонецЦикла; |
|||
7
sapravka
07.10.14
✎
09:46
|
//Как тут сумму получить, вот в этом:
Пока Шапка.Следующий() Цикл //Пробывал вот так, но получает сумму последней строчки проданной номенклатуры: Если Шапка.ВидыНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоКоду("000000001") Тогда А = Шапка.Сумма; КонецЕсли; //А хотелось бы получить сумму всей проданной номенклатуры по Справочники.ВидыНоменклатуры.НайтиПоКоду("000000001") КонецЦикла; |
|||
8
Peltzer
07.10.14
✎
10:02
|
Галочка "Общие итоги" в конструкторе запросов даст сумму итого.
|
|||
9
sapravka
07.10.14
✎
15:58
|
(8) поставил!
В консоли запросов все нормально выводит, а вот как это программно получить? |
|||
10
azeml
07.10.14
✎
16:20
|
(9) я делал отдельным вложенным запросом! Все работало без проблем!
|
|||
11
sapravka
07.10.14
✎
16:21
|
(10) Можно пример в студию....
|
|||
12
azeml
07.10.14
✎
16:50
|
(11) "ВЫБРАТЬ
| ПродажиЧекККМИДляОтчета.Период, | ПродажиЧекККМИДляОтчета.Регистратор, | ПродажиЧекККМИДляОтчета.Склад, | ПродажиЧекККМИДляОтчета.Номенклатура, | ПродажиЧекККМИДляОтчета.ВидыНоменклатуры КАК ВидыНоменклатуры, | ПродажиЧекККМИДляОтчета.Количество, | ПродажиЧекККМИДляОтчета.Цена, | ПродажиЧекККМИДляОтчета.Сумма КАК Сумма, | ВложенныйЗапрос.Сумма2 КАК Сумма2 |ИЗ |ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | СУММА(ПродажиЧекККМИДляОтчета.Сумма) КАК Сумма2, | ПродажиЧекККМИДляОтчета.Ссылка КАК Ссылка | ИЗ | РегистрНакопления.ПродажиЧекККМИДляОтчета КАК ПродажиЧекККМИДляОтчета | | СГРУППИРОВАТЬ ПО | ПродажиЧекККМИДляОтчета.Ссылка) КАК ВложенныйЗапрос | ПО ПродажиЧекККМИДляОтчета.Ссылка = ВложенныйЗапрос.Ссылка | РегистрНакопления.ПродажиЧекККМИДляОтчета КАК ПродажиЧекККМИДляОтчета |ГДЕ | ПродажиЧекККМИДляОтчета.Период МЕЖДУ &НачалоПериода И &КонецПериода |ИТОГИ | СУММА(Сумма) | СУММА(Сумма2) |ПО | ВидыНоменклатуры"; вроде так! Делаешь вложений запрос в нем сумму поля и в основном запросе тоже сумму делаешь! |
|||
13
sapravka
07.10.14
✎
19:42
|
(12) Попробовал написать ЗАПРОС как в (12) , но выдает ошибку:
Неверное присоединение <<?>>ВНУТРЕННЕЕ СОЕДИНЕНИЕ(ВЫБРАТЬ |
|||
14
vicof
07.10.14
✎
20:21
|
"Пробывал"
У меня мозг в трубочку сворачивается от таких слов. (13) Ну укажи источник данных. Ты не клон LivingStar ? |
|||
15
azeml
07.10.14
✎
23:26
|
(13) конструктор сделай вложений запрос
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |