Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите применить рекурсию
|
|||
|---|---|---|---|
|
#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&msg=38123475&tid=1520018]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 284ms |
| total: | 544ms |

| 0 / 0 |
