Имя: Пароль:
1C
 
Развернуть группировки в таблице с источником динамический список.
0 Сметанин
 
01.12.20
16:52
Приветствую.

Есть таблица на форме, источник данных - динамический список. У ДС создана группировка. Нужно чтобы при открытии формы раскрывались группировки.
Есть метод Элементы.Таблица.Развернуть(ИД). Но вот как получить идентификаторы строк - корней?
1 spiller26
 
01.12.20
17:18
(0) Перебором по верхушкам.
2 spiller26
 
01.12.20
17:18
Если точнее рекурсией.
3 spiller26
 
01.12.20
17:20
&НаКлиенте
Процедура СвернутьДеревоПоиск()
    
    НайденоПоиском = 0;
    
    Состояние("Сворачивание дерева",,, БиблиотекаКартинок.ДлительнаяОперация48);
    
    КоллекцияЭлементов = ДеревоОстатков.ПолучитьЭлементы();
    Для Каждого ЭлементКоллекции Из КоллекцияЭлементов Цикл
        ВлЭлементКоллекции = ЭлементКоллекции.ПолучитьЭлементы();
        Если ВлЭлементКоллекции.Количество() > 0 Тогда
            Сворачивать = Истина;    
            Для Каждого ВлЭл Из ВлЭлементКоллекции Цикл
                СтрКомментарий = ВлЭл.Комментарий;
                Если СтрНайти(СтрКомментарий, СокрЛП(ПоискКоментарий)) > 0 Тогда
                    Сворачивать = Ложь;    
                    ВлЭл.Красим = Истина;
                    НайденоПоиском = НайденоПоиском + 1;
                КонецЕсли;    
            КонецЦикла;
            Если Сворачивать Тогда
                Элементы.ДеревоОстатков.Свернуть(ЭлементКоллекции.ПолучитьИдентификатор());
            Иначе
                Элементы.ДеревоОстатков.Развернуть(ЭлементКоллекции.ПолучитьИдентификатор(), Истина);
            КонецЕсли;    
        КонецЕсли;    
    КонецЦикла;    
    
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Найдено = " + ?(НайденоПоиском = 0, "НИЧЕГО", Формат(НайденоПоиском, "ЧЦ=3"))); //сообщение пользователю

КонецПроцедуры
4 spiller26
 
01.12.20
17:20
Но можно и без неё.
5 Fragster
 
гуру
01.12.20
17:21
свойства элемента формы "НачальноеОтображениеДерева"
6 spiller26
 
01.12.20
17:23
Вот тебе, если нужно раскрыть или нет, при открытии
    Элементы.ДеревоОстатков.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;
    Элементы.ДеревоОстатков.НачальноеОтображениеДерева = НачальноеОтображениеДерева.НеРаскрывать;
7 Сметанин
 
01.12.20
17:37
(6) У меня свойство отображение - иерархический список и эти свойства не работают.
8 Сметанин
 
01.12.20
17:41
поменял на дерево - работает. спасибо а то я что-то на ровном месте застрял
9 Fragster
 
гуру
01.12.20
17:52
(6) это на панели свойств есть
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.