|
Флажки в дереве значений УФ | ☑ | ||
---|---|---|---|---|
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); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |