|
Как реализовать обход по группировкам запроса если кол. группировок меняется Ø |
☑ | ||
|---|---|---|---|---|
|
0
МЮЛЛЕР
04.08.05
✎
12:17
|
Как реализовать обход по группировкам запроса если известно количество группировок, но это количество устанавливается пользователем. Т.е. пользователь устанавливает какие группировки ему должен сделать запрос и какие группировки будут в запросе.
Пока Запрос.Группировка(1) = 1 Цикл Уровень = 1; // Заполнение полей Разделитель //Таб.ВывестиСекцию("Разделитель"); Пока Запрос.Группировка(2) = 1 Цикл Уровень = 2; // Заполнение полей Номенклатура //Таб.ВывестиСекцию("Номенклатура"); Пока Запрос.Группировка(3) = 1 Цикл Уровень = 3; // Заполнение полей УровеньПлана //Таб.ВывестиСекцию("УровеньПлана"); Пока Запрос.Группировка(4) = 1 Цикл Уровень = 4; // Заполнение полей УровеньГеографии1 //Таб.ВывестиСекцию("УровеньГеографии1"); Пока Запрос.Группировка(5) = 1 Цикл Уровень = 5; // Заполнение полей УровеньГеографии2 //Таб.ВывестиСекцию("УровеньГеографии2"); Пока Запрос.Группировка(6) = 1 Цикл Уровень = 6; // Заполнение полей УровеньГеографии3 //Таб.ВывестиСекцию("УровеньГеографии3"); Пока Запрос.Группировка(7) = 1 Цикл Уровень = 7; // Заполнение полей УровеньГеографии4 //Таб.ВывестиСекцию("УровеньГеографии4"); Пока Запрос.Группировка(8) = 1 Цикл Уровень = 8; КонецЦикла;//8 КонецЦикла; //7 КонецЦикла; //6 КонецЦикла; //5 КонецЦикла;//4 КонецЦикла;//3 КонецЦикла;//2 КонецЦикла; //1 |
|||
|
1
Swinger
04.08.05
✎
12:19
|
Дык.. в типовой глянь, там процентов 30 отчетов так сделано
|
|||
|
2
Zerg
04.08.05
✎
12:21
|
Ну ты даешь! Посмотри какой-нибудь отчет из ТиС, там количество группировок задает пользователь...
|
|||
|
3
Денис2
04.08.05
✎
12:21
|
Дык это... Рекурсия :-)
У меня через неё сделано. |
|||
|
4
Salex
04.08.05
✎
12:28
|
Рекурсия. Одназначна.
|
|||
|
5
МЮЛЛЕР
04.08.05
✎
12:39
|
(4), что такое рекурсия?
|
|||
|
6
Денис2
04.08.05
✎
12:40
|
(5) о!
Чтобы понять, что такое рекурсия, сначала надо понять, что такое рекурсия! (с) кто-то из компютерных гурей. |
|||
|
7
Salex
04.08.05
✎
12:47
|
Типа того, в двух словах на примере:
Процедура ОбходГруппировок(Запрос,ТекГруппировка,ВсегоГруппировок) Пока Запрос.Группировка(ТекГруппировка)=1 Цикл Если ТекГруппировка<ВсегоГруппировок Тогда ОбходГруппировок(Запрос,ТекГруппировка+1,ВсегоГруппировок) КонецЕсли; КонецЦикла; КонецПроцедуры Запрос.Выполнить(); ОбходГруппировок(Запрос,1,5); |
|||
|
8
Salex
04.08.05
✎
12:50
|
А вообще учиться в институте надо было... Или хотя бы книжки читать...
|
|||
|
9
Swinger
04.08.05
✎
12:53
|
(8) согласен, но в другом порядке: хотя бы книжки читать, или в институте учиться.
|
|||
|
10
МЮЛЛЕР
04.08.05
✎
13:17
|
(7) - спасибо за подсказку, а еще я рад за тебю, что ты умен чужим умом.
P.S. Слава богу не своим. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |