полный обход решается рекурсией
Процедура ОбходВетки(ТЗ, Уровень)
Если ТипЗначенияСтр(ТЗ) = "ТаблицаЗначений" Тогда
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
ОбходВетки(ТЗ.ТЗ, Уровень+1);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ОбходДерева()
Табл.ВыбратьСтроки();
Пока Табл.ПолучитьСтроку() = 1 Цикл
ОбходВетки(Табл.ТЗ, 1);
КонецЦикла;
КонецПроцедуры
а вот как обойти только узел - мне непонятно
есть АтрФормы.ТекущаяСтрокаДерева(), возращает к примеру 3/23/1, как я понимаю 3 - номер строки в первой ТЗ, 23 - во второй, 1 - в третьей
решение которое приходит в голову, спозиуионироваться на третьей и обойти рекрсивно
Может есть решение попроще или покрасивей?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший