Имя: Пароль:
1C
1С v8
Дерево Значений
0 pele
 
16.08.12
00:05
Как обойти дерева и записать в массив развернутые элементы. потом снова обойти дерево сравнить элементы с массивом и если равны снова развернуть их????
1 1C-band
 
16.08.12
01:40
В цикле. Для Каждого ... Из ... Цикл
2 Ursus maritimus
 
16.08.12
07:01
(0) ЩИТО?
3 Serdolik55
 
16.08.12
10:57
Для Каждого Группировка Из ДереваГруппировок.Строки Цикл
 ...........................Тут сохраняй в массив
  Для каждого Строка Из Группировка.Строки Цикл
 ............................
  КонецЦикла;
КонецЦикла;
4 zladenuw
 
16.08.12
10:58
(0) а тебе вообще для чего ?
5 pele
 
16.08.12
11:12
Массив = Новый Массив;
   ЭлементыДерева = СписокЗадачОтМеня.ПолучитьЭлементы();
   
   Для Каждого ЭлементДерева Из ЭлементыДерева Цикл
       Строка = ЭлементДерева.ПолучитьИдентификатор();
       Если Элементы.СписокЗадачОтМеня.Развернут(Строка) Тогда
           Массив.Добавить(Строка);
       КонецЕсли;
         НайденнаяСтрока = Массив.Найти(Строка);
       Элементы.СписокЗадачОтМеня.Развернуть(НайденнаяСтрока);
вот что написала но не совсем верно как найти элемент этот в массиве ???
6 pele
 
16.08.12
11:15
Для динамического списка вот такой код:
Сохраняю так:
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
   СтандартнаяОбработка = Ложь;
   Если ТипЗнч(ВыбраннаяСтрока) = тип("СтрокаГруппировкиДинамическогоСписка") тогда
       Если Элементы.Список.Развернут(ВыбраннаяСтрока) Тогда
           Элементы.Список.Свернуть(ВыбраннаяСтрока);
           СохранитьЗначение("СписокГруппировка"+ВыбраннаяСтрока.Ключ.Наименование,Ложь);
       иначе
           Элементы.Список.Развернуть(ВыбраннаяСтрока);
           СохранитьЗначение("СписокГруппировка"+ВыбраннаяСтрока.Ключ.Наименование,Истина);
       КонецЕсли;
   иначе
       СтандартнаяОбработка = Истина;
   КонецЕсли;
КонецПроцедуры



А Для Дерево Значений??????
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший