Имя: Пароль:
1C
1С v8
Знатоки УФ отзовитесь
0 nbIx
 
29.06.12
13:31
На форме есть динамический список - дерево подразделений.
При создании на сервере, нужно развернуть некоторые узлы (а именно, узлы где содержаться выбранные подразделения)

Есть метод у таблицы формы - развернуть. Но он доступен только на клиенте, соответственно каждый раз при вызове метода идет обращение к серверу.
1 nbIx
 
29.06.12
13:32
Можно к примеру разворачивать все строки дерева, а потом на клиенте их свернуть. Но это имхо извращение.
2 anastasia1188
 
29.06.12
13:33
Разворачивать ПриОткрытиии()
3 Maniac
 
29.06.12
13:33
&НаКлиенте
Процедура ДеревоНоменклатурыРазвернутьВсе(Кнопка)
   
   КоллекцияЭлементовДерева = ДеревоНоменклатуры.ПолучитьЭлементы();
   
   Для Каждого Строка Из КоллекцияЭлементовДерева Цикл    
       ИдентификаторСтроки = Строка.ПолучитьИдентификатор();
       Элементы.ДеревоНоменклатуры.Развернуть(ИдентификаторСтроки,ИСТИНА);
   КонецЦикла;
   
КонецПроцедуры

&НаКлиенте
Процедура ДеревоНоменклатурыСвернутьДерево(Команда)

   КоллекцияЭлементовДерева = ДеревоНоменклатуры.ПолучитьЭлементы();
   
   Для Каждого Строка Из КоллекцияЭлементовДерева Цикл    
       ИдентификаторСтроки = Строка.ПолучитьИдентификатор();
       Элементы.ДеревоНоменклатуры.Свернуть(ИдентификаторСтроки);
   КонецЦикла;
   
КонецПроцедуры
4 nbIx
 
29.06.12
13:36
(2) приОткрытии - событие на клиенте.

(3) еще раз, ДинамическийСписок а не дерево.
5 anastasia1188
 
29.06.12
13:43
(4)

&НаКлиенте
Процедура РазвернутьДерево(Команда)
   ИдентификаторСтроки = Элементы[ТекущаяКатегория].ТекущаяСтрока;
   Если ИдентификаторСтроки <> Неопределено Тогда
       Элементы[ТекущаяКатегория].Развернуть(ИдентификаторСтроки, Истина);    
   КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура СвернутьДерево(Команда)
   ИдентификаторСтроки = Элементы[ТекущаяКатегория].ТекущаяСтрока;
   Если ИдентификаторСтроки <> Неопределено Тогда
       Элементы[ТекущаяКатегория].Свернуть(ИдентификаторСтроки);        
   КонецЕсли;
КонецПроцедуры
6 nbIx
 
29.06.12
13:44
Видимо решения нет.
7 anastasia1188
 
29.06.12
13:45
(6) развернуть нужно на клиенте, т.е. ПриОткрытии() формы
8 anastasia1188
 
29.06.12
13:45
Зачем тебе разворачивать именно на сервере?
9 nbIx
 
29.06.12
13:45
(5) Чем это отличается от (3)?

Я же говорю, у меня не дерево значений а динамический список.
Потом разворачивать мне нужно не все
10 nbIx
 
29.06.12
13:46
(8) потому, что разворачивать придется несколько.
При каждом развернуть() по-любому идет обращение к серверу.
11 anastasia1188
 
29.06.12
13:48
(9) Это разворачивается ДинамическийСписок
12 anastasia1188
 
29.06.12
13:49
(9) там все и не разворачивается
13 anastasia1188
 
29.06.12
13:51
(10) идет, но производительность устраивает
Основная теорема систематики: Новые системы плодят новые проблемы.