|
v8: Как выбрать последнюю группировку итогов в запросе? |
☑ |
0
ИС-2
26.08.13
✎
09:04
|
Вопрос простой, но что-то туплю. Раньше всегда делал последовательный обход всех группировок итогов. Сейчас решил выбрать сразу последнию группировку.
Надо, чтобы в выборке были подсчитаны итоги по всем полям итогов (т.е заполнены все измерения).
|ВЫБРАТЬ
| МВТ_РеализацияТоваровУслуг.Организация КАК Организация,
| МВТ_РеализацияТоваровУслуг.Контрагент КАК Контрагент,
| МВТ_РеализацияТоваровУслуг.СуммаДокумента КАК СуммаДокумента,
| НАЧАЛОПЕРИОДА(МВТ_РеализацияТоваровУслуг.Дата, ДЕНЬ) КАК Дата,
| МВТ_РеализацияТоваровУслуг.Координата КАК Координата,
| МВТ_РеализацияТоваровУслуг.*
|ИЗ
| МВТ_РеализацияТоваровУслуг КАК МВТ_РеализацияТоваровУслуг
|ИТОГИ
| СУММА(СуммаДокумента)
|ПО
| Организация,
| Контрагент,
| НАЧАЛОПЕРИОДА(Дата, ДЕНЬ) как Дата,
| Координата";
Рез = Запрос.Выполнить();
ВыборкаГруппировка = Рез.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Организация,Контрагент,Дата,Координата");
Но при таком коде итоги подсчитаны только для Оргнизации. Как сделать такое?
|
|
1
butterbean
26.08.13
✎
09:06
|
ВыборкаГруппировка = Рез.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Координата");
|
|
2
butterbean
26.08.13
✎
09:07
|
(1)+ непонятно нафига тогда вообще группировки
|
|
3
ИС-2
26.08.13
✎
09:11
|
(1) пробывал. Заполнена только группировка координата
|
|
4
ИС-2
26.08.13
✎
09:12
|
(2) см. последнию строку в выборке
МВТ_РеализацияТоваровУслуг.*
в которой выбираю детальные записи
|
|
5
1Cv8_accepted
26.08.13
✎
09:13
|
(0) Сортировать в обратном порядке и выбрать первую.
|
|
6
butterbean
26.08.13
✎
09:15
|
(3) понятно, тебе надо обойти одну группировку, а чтобы все значения были заполнены — не выйдет
|
|
7
ИС-2
26.08.13
✎
09:22
|
(6) а за чем тогда в справке написано "Список группировок, разделенных запятыми, по которым будет производиться обход.
". Получается, что выборка работает только с одним измерением итогов
|
|
8
ИС-2
26.08.13
✎
09:36
|
я хочу заменить этот код:
Выборка1Организация = Рез.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка1Организация.Следующий() Цикл
Выборка2Контрагент = Выборка1Организация.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка2Контрагент.Следующий() Цикл
Выборка3Дата = Выборка2Контрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка3Дата.Следующий() Цикл
ВыборкаГруппировка = Выборка3Дата.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
одной строкой и получить тоже самое, что и в ВыборкаГруппировка
|
|
9
ИС-2
26.08.13
✎
10:03
|
не уж-то такое невозможно?
Можно как-то подсчитать сколько у меня будет строк на 4-м уровне итогов
|
|
10
х86
26.08.13
✎
10:07
|
(9)выкинь не нужные "итоги по" из запроса
|
|
11
ИС-2
26.08.13
✎
10:17
|
(10) а с чего они стали не нужными?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший