Имя: Пароль:
1C
1С v8
список узлов dom
0 tolok_d
 
22.01.13
17:26
Здравствуйте, уважаемые гении 1с.
Подскажите пожалуйста, работаю с ДокументDOM, написал функцию перехода на любой уровень ДокументDOM.

Функция ПереходНаУровеньВниз(ДокументDOM, Глубина = 1)
   ДочерниеУзлы = ДокументDOM.ДочерниеУзлы;
   Для Уровень = 1 По Глубина Цикл
// вот здесь нужно написать уловие добавления узлов, но как????
       Для каждого Элем Из ДочерниеУзлы Цикл
           ДочерниеУзлы = Элем.ДочерниеУзлы;
       КонецЦикла;
   КонецЦикла;  
   
   Возврат ДочерниеУзлы;
КонецФункции

Она работает, но как видно с текста, она возвращает дочерные узлы последнего в xml узла. А хотелось бы чтобы она возвращала все узлы n-го уровня. Зачем такие изощрения? просто в ДокументDOM нельзя узнать глубину, можно только родителя и детей, ну это вы, наверняка, знаете. Подскажите какой метод добавляет узлы в список узлов.
1 mikecool
 
22.01.13
17:27
он нас обозвал гением 1с. наша прелессть, съедим его целикомс
2 tolok_d
 
22.01.13
17:28
(1) ну к уважаемым людям нужно соответственно обращаться)
3 mikecool
 
22.01.13
17:30
(0) добавляй их в коллекцию и возвращай ее
4 tolok_d
 
22.01.13
17:31
ну как вариант можно через ТЗ это делать, но может есть проще путь?
5 pessok
 
22.01.13
17:31
(2) как ты сейчас рискуешь :)
6 tolok_d
 
22.01.13
17:31
(3) тоесть только так?( эх, обидно.
7 Kreont
 
22.01.13
17:32
(4) а может через ЧтениеXML будет проще читать?
8 pessok
 
22.01.13
17:32
(0) каждый раз рекурсивно запихивай в параметры структуру одну и ту же и пиши в нее же
9 tolok_d
 
22.01.13
17:32
(5) отчего же?)
10 pessok
 
22.01.13
17:33
(9) потому что гладиолус :)
Гений 1С
11 tolok_d
 
22.01.13
17:33
(7) ЧтениеXML не дает родителя и детей, только глубину, тоесть в точности да наоборот(
12 mikecool
 
22.01.13
17:35
(6) а что смущает?
13 tolok_d
 
22.01.13
17:36
(8) структура точно не подходит, разве что ТЗ
14 tolok_d
 
22.01.13
17:37
(12) ну думал может есть какая то недокументированная функция, чтобы не ломать тип значения, мне же потом им пользоваться
15 pessok
 
22.01.13
17:38
(13) очень даже красиво можно можно построить вложенную структуру наподобие ДЗ, а потом юзать
16 tolok_d
 
22.01.13
17:41
(15) хм... вложенная структура? Интересно. Но там же ключ и значение. а мне ключ не нужен. Или всетаки структура- оптимальное решение?
17 pessok
 
22.01.13
17:43
(16) ключ - родитель, значение - ДокументDOM
как-то так
18 tolok_d
 
22.01.13
17:44
(17) спасибо огромное)
19 Йохохо
 
22.01.13
18:25
(18) ты не из edisoft? сознавайся
20 Aprobator
 
22.01.13
18:28
(0) где последнего то? А параметр функции Глубина зачем тогда?
21 Aprobator
 
22.01.13
18:29
а - увидел. Ну так пихай их в массив и возвращай.
22 Йохохо
 
22.01.13
18:39
(21) не, скоро будет вопрос про рекурсию