![]() |
|
Напомните, как в простом запросе собрать все итоги? | ☑ | ||
---|---|---|---|---|
0
Gluk
31.05.17
✎
19:39
|
Запрос:
"... | НомерЧека, | СтрокаЧека |ИТОГИ ПО | Дата, | Склад, | КассаККМ"; как выбрать с обходом по группировкам сразу по трем итоговым полям? |
|||
1
Волшебник
модератор
31.05.17
✎
20:15
|
циклом
|
|||
2
Gluk
31.05.17
✎
20:21
|
одним циклом можно?
|
|||
3
Волшебник
модератор
31.05.17
✎
20:22
|
(2) Можно одним циклом и ещё двумя вложенными. А можно и вообще одним, если выбирать без итогов.
|
|||
4
Gluk
31.05.17
✎
20:26
|
Мне бы один цикл по трем группировочным полям, а вложеный по деталям
|
|||
5
Волшебник
модератор
31.05.17
✎
20:28
|
(4) Программирование — это фантазия плюс умение крутить циклы.
|
|||
6
Gluk
31.05.17
✎
20:32
|
фантазии как видите хватает, а циклов чем меньше, тем быстрее
|
|||
7
Волшебник
модератор
31.05.17
✎
20:38
|
(6) Сделай хоть что-то, предъяви код, пожалуйся на производительность, предъяви результаты замера. Действуй постепенно.
|
|||
8
Gluk
31.05.17
✎
20:46
|
Запрос.Текст =
"ВЫБРАТЬ | ОтчетОРозничныхПродажахТовары.Ссылка.Дата КАК Дата, | ОтчетОРозничныхПродажахТовары.Ссылка.Склад КАК Склад, | ОтчетОРозничныхПродажахТовары.Ссылка.КассаККМ КАК КассаККМ, | ОтчетОРозничныхПродажахТовары.СтрокаЧека КАК СтрокаЧека, | ОтчетОРозничныхПродажахТовары.Номенклатура, | ОтчетОРозничныхПродажахТовары.Количество, | ОтчетОРозничныхПродажахТовары.Сумма |ИЗ | Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары |ГДЕ | ОтчетОРозничныхПродажахТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода | |УПОРЯДОЧИТЬ ПО | Дата, | Склад, | КассаККМ, | СтрокаЧека |ИТОГИ ПО | Дата, | Склад, | КассаККМ"; ВыборкаДата = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаДата.Следующий() Цикл ОбластьДата.Параметры.Заполнить(ВыборкаДата); ТабДок.Вывести(ОбластьДата, ВыборкаДата.Уровень()); ВыборкаСклад = ВыборкаДата.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаСклад.Следующий() Цикл ОбластьСклад.Параметры.Заполнить(ВыборкаСклад); ТабДок.Вывести(ОбластьСклад, ВыборкаСклад.Уровень()); ВыборкаКассаККМ = ВыборкаСклад.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаКассаККМ.Следующий() Цикл ОбластьКассаККМ.Параметры.Заполнить(ВыборкаКассаККМ); ТабДок.Вывести(ОбластьКассаККМ, ВыборкаКассаККМ.Уровень()); ВыборкаДетальныеЗаписи = ВыборкаКассаККМ.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; Как можно обойтись одной выборкой по итогам? |
|||
9
Волшебник
модератор
31.05.17
✎
20:49
|
(8) погугли ОбходРезультатаЗапроса.
|
|||
10
Бертыш
31.05.17
✎
21:05
|
дебют товарищи это квазиунофантазия
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |