Как обойти дерева и записать в массив развернутые элементы. потом снова обойти дерево сравнить элементы с массивом и если равны снова развернуть их????
Для Каждого Группировка Из ДереваГруппировок.Строки Цикл
...........................Тут сохраняй в массив
Для каждого Строка Из Группировка.Строки Цикл
............................
КонецЦикла;
КонецЦикла;
Массив = Новый Массив;
ЭлементыДерева = СписокЗадачОтМеня.ПолучитьЭлементы();
Для Каждого ЭлементДерева Из ЭлементыДерева Цикл
Строка = ЭлементДерева.ПолучитьИдентификатор();
Если Элементы.СписокЗадачОтМеня.Развернут(Строка) Тогда
Массив.Добавить(Строка);
КонецЕсли;
НайденнаяСтрока = Массив.Найти(Строка);
Элементы.СписокЗадачОтМеня.Развернуть(НайденнаяСтрока);
вот что написала но не совсем верно как найти элемент этот в массиве ???
Для динамического списка вот такой код:
Сохраняю так:
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если ТипЗнч(ВыбраннаяСтрока) = тип("СтрокаГруппировкиДинамическогоСписка") тогда
Если Элементы.Список.Развернут(ВыбраннаяСтрока) Тогда
Элементы.Список.Свернуть(ВыбраннаяСтрока);
СохранитьЗначение("СписокГруппировка"+ВыбраннаяСтрока.Ключ.Наименование,Ложь);
иначе
Элементы.Список.Развернуть(ВыбраннаяСтрока);
СохранитьЗначение("СписокГруппировка"+ВыбраннаяСтрока.Ключ.Наименование,Истина);
КонецЕсли;
иначе
СтандартнаяОбработка = Истина;
КонецЕсли;
КонецПроцедуры
А Для Дерево Значений??????
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший