Нужна помощь с рекурсией
☑
0
IoannVic
01.10.13
✎
16:09
Есть код при начале формирования таблицы
ГоловнаяТаблица = СформироватьГоловнуюТаблицу(ТекПроект);
Строка = ГоловнаяТаблица.Строки.Получить(0);
ВывестиСтрокуИПодчиненные(Строка);
Вызывает рекурсивную процедуру
Процедура ВывестиСтрокуИПодчиненные(Строка)
Для каждого Подч из Строка.Строки Цикл
ТекЗадача = Подч.Задача;
СписокПодзадач = ВыбратьПодзадачи(ТекЗадача);
Если СписокПодзадач.Строки.Количество()>0 тогда
ВывестиСтрокуИПодчиненные(СписокПодзадач.Строки.Получить(0));
КонецЕсли;
Сообщить(Подч.Задача);
КонецЦикла
КонецПроцедуры
Как теперь все это в дерево значений запихать, туплю не могу сообразить
1
Холодильник
01.10.13
✎
16:12
2
Михаил Козлов
01.10.13
✎
16:12
Добавить строку в коллекцию строк вместо Сообщить (только до вызова ВывестиСтрокуИПодчиненные).
3
IoannVic
01.10.13
✎
16:12
(1) Шутку оценил
4
IoannVic
01.10.13
✎
16:13
(2) А как объявить коллекцию строк внутри рекурсивной процедуры??
5
Михаил Козлов
01.10.13
✎
16:27
Строка.Строки.Добавить();
6
Холодильник
01.10.13
✎
16:29
проще таблицу подать в запрос с итогами, а дерево получить выгрузкой результата запроса. только колонки ТЗ типизировать обязательно
7
IoannVic
01.10.13
✎
16:39
(5) И куда?
8
Михаил Козлов
01.10.13
✎
16:41
новаяСтрока = Строка.Строки.Добавить();
новаяСтрока.<заполнить значения реквизитов>;
9
IoannVic
01.10.13
✎
16:46
(8) У меня строка передается в рекурсивную процедуру, это не помешает никак?
10
Михаил Козлов
01.10.13
✎
17:00
(9) Так в ее коллекцию строк и нужно добавлять нужную строку.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан