Имя: Пароль:
   
1C
 
Флажки в дереве значений УФ
0 Альбатрос
 
06.07.18
07:10
Вопрос возможно и тривиальный, но я понять не могу как правильно сделать.
Итак, имеется обработка, в обработке есть дерево значений, у ДЗ есть поле "Отм" с типом булево, которое является флажком. Хочу по кнопке Отметить все флажки, пишу вот такой г*внокод:

&НаКлиенте
Процедура ОтметитьВсе(Команда)
    
ОтметитьВсеНаСервере();
    
КонецПроцедуры

&НаСервере
Процедура ОтметитьВсеНаСервере()
    
    ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
    Для каждого СтрокаДерева из ОбработкаОбъект.ТаблицаАнализа.Строки Цикл
        
        СтрокаДерева.Отм = Истина;
        
        ДЛя каждого СтрокаСтроки из СтрокаДерева.Строки Цикл
            
            СтрокаСтроки.Отм = Истина;
            
        КонецЦикла;
        
    КонецЦикла;
    
    ЗначениеВРеквизитФормы(ОбработкаОбъект,"Объект");
    
КонецПроцедуры


Ессесно после его исполнения флажки отмечаются, Но все уровни строк сворачиваются до верхнего родителя. Как оставить их развернутыми? Или как правильно оформить флажки в ДЗ?
1 Мимохожий Однако
 
06.07.18
07:31
Это пробовал?
...ТаблицаФормы.Развернуть (FormTable.Expand)
ТаблицаФормы (FormTable)
Развернуть (Expand)
Синтаксис:

Развернуть(<ИдентификаторСтроки>, <СПодчиненными>)
Параметры:

<ИдентификаторСтроки> (обязательный)

Тип: Произвольный.
Идентификатор строки таблицы.
<СПодчиненными> (необязательный)

Тип: Булево.
Определяет необходимость раскрытия подчиненных узлов. Истина - раскрывать подчиненные узлы, Ложь - не раскрывать подчиненные узлы.
Значение по умолчанию: Ложь.
Описание:

Разворачивает узел в указанной строке дерева.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
--------------------------------------------------------------------------------

     Методическая информация
2 Альбатрос
 
06.07.18
07:36
(1) А как изначально определить, какие строки у меня развернуты? То есть мне не надо разворачивать все строки, а только те, которые до этого были развернуты пользователем.
3 Альбатрос
 
06.07.18
07:38
Вопрос снимается, есть свойство Развернут. Спасибо!
4 Альбатрос
 
06.07.18
07:42
Хотя все равно повыпендриваться придется. Сначала нужно обойти все строки, запомнить идентификаторы развернутых, после отметки по идентификатором их опять развернуть.
5 тарам пам пам
 
06.07.18
09:15
(0) а нахрена ты вообще идешь на сервер и затем еще и гоняешь ДанныеФормы в объект и обратно? Обойди дерево прямо на клиенте, тогда скорее всего и сворачиваться ничего не будет.
6 Тихий омут
 
06.07.18
09:57
&НаКлиенте
Процедура Уст(Коллекция)
    ВсеЭл=Коллекция.ПолучитьЭлементы();
    Для Каждого Эл Из ВсеЭл Цикл
        Эл.Фл=Истина;
        Уст(Эл);
    КонецЦикла; //  Эл Из Коллекция
КонецПроцедуры // Уст(Коллекция)

&НаКлиенте
Процедура Команда1(Команда)
    Уст(Реквизит1);
КонецПроцедуры
Основная теорема систематики: Новые системы плодят новые проблемы.