Имя: Пароль:
1C
1С v8
Рекурсия не работает HELP
,
0 КУНГ ФУ 1С
 
31.01.13
08:58
Процедура ВыборкаРекурсивно(ВыборкаПредыдущий)
   
ВыборкаСледующий = ВыборкаПредыдущий.ВыбратьОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
Пока ВыборкаСледующий.Следующий() Цикл
       
// Некое действие        
       
       
ВыборкаРекурсивно(ВыборкаСледующий);
       
КонецЦикла;
   
КонецПроцедуры //ВыборкаРекурсивно()




Процедура Выполнить1()

// Где РезультатПостроителя - запрос по справочнику
// Итоги по иерархия
ВыборкаРекурсивно(РезультатПостроителя);


КонецПроцедуры
1 КУНГ ФУ 1С
 
31.01.13
08:58
Собственно не могу понять почему рекурсия не работает, т.е. Выборка рекурсивно не выбирает
2 cw014
 
31.01.13
08:58
А где ты видишь что она не работает?
3 КУНГ ФУ 1С
 
31.01.13
09:00
Отладчиком прошелся при втором заходе сдыхает
4 Wobland
 
31.01.13
09:01
(3) а говоришь, не выбирает. такие данные
5 НафНаф
 
31.01.13
09:01
(3) ну а ты хотел бесконечного прохода?
покажи текст запроса
6 КУНГ ФУ 1С
 
31.01.13
09:03
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
   СтатьиЗатрат.Ссылка КАК Ссылка
ИЗ
   Справочник.СтатьиЗатрат КАК СтатьиЗатрат
ГДЕ
   НЕ СтатьиЗатрат.ПометкаУдаления
{ГДЕ
   СтатьиЗатрат.Ссылка.* КАК СтатьяЗатрат}
ИТОГИ ПО
   Ссылка ИЕРАРХИЯ
7 Mkonst
 
31.01.13
09:04
походу детальные записи не выбираются...
8 КУНГ ФУ 1С
 
31.01.13
09:04
На выходе 3 уровня иерархии, 2 родителя и 1 элемент
На обходе 1 родителя все заканчивается, до 2 не доходит
9 КУНГ ФУ 1С
 
31.01.13
09:05
На выходе вот такое дерево

Амортизация основных средств и нематериальных активов
   Износ основных средств
       Износ основных средств
10 Mkonst
 
31.01.13
09:07
(9) ну вот , рекурсия работает...
11 КУНГ ФУ 1С
 
31.01.13
09:08
(10) Да нефига не работает, это выход из запроса (9) При обходе это дерево рекурсией, вторая выборка не производится
12 НафНаф
 
31.01.13
09:08
(8) а уровня группировки там 1 + детальные записи
13 Wobland
 
31.01.13
09:12
ещё раз скажи первую строку в рекурсивной процедуре
14 Mkonst
 
31.01.13
09:13
(0) забей на рекурсию, зачем она тебе при таком простом запросе..
15 КУНГ ФУ 1С
 
31.01.13
09:14
(12) Да
16 Mkonst
 
31.01.13
09:16
(0) зайди в хелп, прочитай что означает ВыборкаПредыдущий.ВыбратьОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
и ВыборкаПредыдущий.выбрать();
17 КУНГ ФУ 1С
 
31.01.13
09:18
РЕШЕНО. НУЖНО БЫЛО УПОРЯДОЧИТЬ НЕ "ПО ИЕРАРХИЯ"
А ПО "ТОЛЬКО ИЕРАРХИЯ", тогда все работает.

   "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
   |    СтатьиЗатрат.Ссылка КАК Ссылка
   |ИЗ
   |    Справочник.СтатьиЗатрат КАК СтатьиЗатрат
   |ГДЕ
   |    НЕ СтатьиЗатрат.ПометкаУдаления
   |{ГДЕ
   |    СтатьиЗатрат.Ссылка.* КАК СтатьяЗатрат}
   |ИТОГИ ПО
   |    Ссылка ТОЛЬКО ИЕРАРХИЯ";
18 _Demos_
 
31.01.13
09:22
(0) извращенец