|
|
|
Помогите применить рекурсию
|
|||
|---|---|---|---|
|
#18+
Уважаемые форумчане! Помогите, пожалуйста, переписать процедуру, в которой используются циклы, с применением рекурсии. Процедура ИзучениеВыборкиРезультатаЗапроса() Экспорт Запрос = Новый Запрос(); Запрос.Текст = " ВЫБРАТЬ | Период, | Контрагент, | Менеджер, | Номенклатура, | СуммаОборот |Из | РегистрНакопления.Продажи.Обороты(, , Месяц)"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаПериод = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ИнициализироватьТаблицуИлиДерево(РезультатЗапроса, Дерево); Пока ВыборкаПериод.Следующий() Цикл СтрокаИтогПоПериоду = Дерево.Строки.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаИтогПоПериоду, ВыборкаПериод); ВызовыМетодовВыборки(СтрокаИтогПоПериоду, ВыборкаПериод); ВыборкаКонтрагент = ВыборкаПериод.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаКонтрагент.Следующий() Цикл СтрокаИтогПоКонтрагенту = СтрокаИтогПоПериоду.Строки.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаИтогПоКонтрагенту, ВыборкаКонтрагент); ВызовыМетодовВыборки(СтрокаИтогПоКонтрагенту, ВыборкаКонтрагент); ВыборкаМенеджер = ВыборкаКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаМенеджер.Следующий() Цикл СтрокаИтогПоМенеджеру = СтрокаИтогПоКонтрагенту.Строки.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаИтогПоМенеджеру, ВыборкаМенеджер); ВызовыМетодовВыборки(СтрокаИтогПоМенеджеру, ВыборкаМенеджер); ВыборкаНоменклатура = ВыборкаМенеджер.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаНоменклатура.Следующий() Цикл СтрокаИтогПоНоменклатуре = СтрокаИтогПоМенеджеру.Строки.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаИтогПоНоменклатуре, ВыборкаНоменклатура); ВызовыМетодовВыборки(СтрокаИтогПоНоменклатуре, ВыборкаНоменклатура); КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецПроцедуры Процедура ВызовыМетодовВыборки(СтрокаДерева, Выборка) СтрокаДерева.Группировка = Выборка.Группировка(); СтрокаДерева.ТипЗаписи = Выборка.ТипЗаписи(); СтрокаДерева.Уровень = Выборка.Уровень(); КонецПроцедуры Заранее всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 16:20 |
|
||
|
Помогите применить рекурсию
|
|||
|---|---|---|---|
|
#18+
Вот для удобства во вложении файл с программой, а то здесь не наглядно отображается код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 16:38 |
|
||
|
Помогите применить рекурсию
|
|||
|---|---|---|---|
|
#18+
Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2013, 09:30 |
|
||
|
|

start [/forum/topic.php?fid=28&fpage=49&tid=1520018]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 325ms |

| 0 / 0 |
