Имя: Пароль:
1C
1С v8
как свернуть все уровни дерева значений?
0 rotting
 
25.05.12
16:31
Сделал так:

//Добираемся до нижнего уровня в процедуре ПередСворачиванием()

Процедура СписокНоменклатурыПередСворачиванием(Элемент, Строка, Отказ)
   Стр = Строка;
   Пока Стр.Строки.Количество() > 0 Цикл
       Стр = Стр.Строки[0];
   КонецЦикла;
   СвернутьВсеУровни(Стр);  //Тут вызываем рекурсивную функцию
КонецПроцедуры

Процедура СвернутьВсеУровни(Стр,Строка = Неопределено)
   Если Не Стр = Строка Тогда
       Если Не Стр.Строки.Количество() = 0 Тогда
           ЭлементыФормы.СписокНоменклатуры.Свернуть(Стр);
       КонецЕсли;
       Если Не Стр.Родитель = Неопределено Тогда
           СвернутьВсеУровни(Стр.Родитель);
       КонецЕсли;
       КонецЕсли;
КонецПроцедуры

Получается зацикливание, когда сворачиваем - вызывается процедура ПередСворачиванием() )))), подскажите как реализовать?
1 Нуф-Нуф
 
25.05.12
16:33
выставляй флаг и игнорируй ПередСворачиванием
2 rotting
 
25.05.12
16:41
(1) ага, спасибо, уже и сам допер. Главное кому-то описать описать задачу, и сразу сам начинаешь понимать)))
3 Goggy
 
25.05.12
16:53
50% ответа содержится в правильно заданном вопросе...