Нужна помощь... Динамические списки

1. Dr.Mult 20 04.09.14 15:48 Сейчас в теме
Уважаемые, товарищи. Подскажите как решить проблему :
Есть форма, на ней динамиеский список. Основная таблица указана, произвольный запрос.
Данные выводятся... делаем в настройках группировку... выводится список со свернутыми группировками.. Вопрос как программно развернуть дин.список
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. deniseek77 86 04.09.14 16:04 Сейчас в теме
(1) Dr.Mult, В свойствах динамического списка- отображение дерево? Тогда будет отображать раскрытым, если укажете первоначально- раскрывать все уровни.

Пример в файле
Прикрепленные файлы:
ВнешняяОбработка1.epf
maljaev; k992007; serega9507585993; Denik_Smile; simy4; NittenRenegade; +6 Ответить
3. Dr.Mult 20 04.09.14 16:47 Сейчас в теме
(2) deniseek77, Увы...все стоит..
Если изначально настроена группировка, то при открытии формы, да все раскрыто.
А вы попробуйте зайти в натсройки, убрать группировку, а потом добавить... все свернется и приехали...
4. deniseek77 86 04.09.14 16:58 Сейчас в теме
(3) Dr.Mult, Не понял, если честно. Убрать настройки в режиме предприятия? А затем снова выставить?
10. 🅵🅾️🆇 524 13.11.17 16:55 Сейчас в теме
(1) Смотри у меня самый последний абзац ТЕМЫ.
Сворачивай-разворачивай сколько хочешь :3
15. fedors 21.07.21 16:11 Сейчас в теме
(1)&НаКлиенте
Процедура СписокПередСворачиванием(Элемент, Строка, Отказ)
Отказ=Истина;
КонецПроцедуры
5. Dr.Mult 20 04.09.14 17:06 Сейчас в теме
Да... открываете форму в режиме предприятия... Список вывелся с группировкой в развернутом списке.. Заходим все действия, настройка списка, снимаем галку с группировки, нажимаем ОК..... сформировался линейный список... Далее снова заходим в настройку списка, ставим галку на группировке, жмем ОК и видим вывелся список с группировкой, но они свернуты
6. deniseek77 86 04.09.14 17:33 Сейчас в теме
(5) Dr.Mult, А если так?
&НаСервере
Процедура Реквизит1ПриОбновленииСоставаПользовательскихНастроекНаСерве­ре(СтандартнаяОбработка)
	  Элементы.Реквизит1.Обновить(); 
КонецПроцедуры
7. Dr.Mult 20 04.09.14 17:49 Сейчас в теме
(6) deniseek77, а у тебя то сработало???
8. deniseek77 86 04.09.14 20:25 Сейчас в теме
(7) Dr.Mult, У меня БП 3.0 и 1с 8.3, интерфейс такси, поэтому все не совсем так... но я залез в настройки и добавил оформление, так все рано ничего не изменилось...Так и по логике подумайте, если при именении обновить список, то по идее он должен перечитаться, то есть считать то, как настроено, по сути должно стать все ок.
9. ilaurel 13.11.17 16:36 Сейчас в теме
(Сообщение изменено). Во втором посте дан совет, помогающий решить проблему. Спасибо.
11. 🅵🅾️🆇 524 13.11.17 16:56 Сейчас в теме
12. Светлый ум 407 17.03.20 06:40 Сейчас в теме
Вот так разворачивать:
Элементы.Список.Развернуть(Элементы.Список.ТекущаяСтрока, Истина)


Вот так сворачивать:
Элементы.Список.Свернуть(Элементы.Список.ТекущаяСтрока, Истина)
13. VaDiMy4 05.06.20 15:25 Сейчас в теме
Попробуйте в свойствах установить Отображение = Дерево
14. denmon88 33 20.05.21 16:02 Сейчас в теме
Как то так:
 Элементы.Список.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни; 
16. Amigo_0 06.08.21 14:57 Сейчас в теме
Всем привет из нового десятилетия))
Если вдруг кому-то пригодится. Программно развернуть / свернуть динамический список с группировкой можно симулированием физического нажатия горячих клавиш!

Работает на иерархическом списке:

Развернуть:
ОбъектShell = Новый COMОбъект("Wscript.Shell");
ОбъектShell.SendKeys("^+" + Символ(107));

Свернуть:
ОбъектShell = Новый COMОбъект("Wscript.Shell");
ОбъектShell.SendKeys("^+" + Символ(109));
SizovE; alehinsasha; sdaf; +3 Ответить
17. sdaf 17.09.22 14:00 Сейчас в теме
24. DRudenko 26.08.24 21:50 Сейчас в теме
(16) работает, но только при русской раскладке
18. Andy1981 02.05.23 20:38 Сейчас в теме
А если все то же самое, но на мобильной платформе?
19. user1826630 02.05.23 20:46 Сейчас в теме
20. Andy1981 02.05.23 20:52 Сейчас в теме
Увы. COMОбъект не доступен в мобильном приложении. Даже попробовал ради интереса.
И начальное отображение дерева - раскрывать все уровни - работает странно. Раскрывается только первая вложенная группировка, а все остальное остается свернутым.
21. user1692948 13.12.23 23:45 Сейчас в теме
Бывают ситуации, когда список очищается и заполняется заново при установке параметров. В таких случаях выявил костыль, но работает только на сервере (на клиенте ошибки нет, но не работает)
Элементы.Список.НачальноеОтображениеДерева = НачальноеОтображениеДерева.НеРаскрывать;
Элементы.Список.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;
22. user1913184 28.03.24 05:43 Сейчас в теме
(16)Не работает потому что в символ(107) передаётся символ "k"

Моё решение, может кому пригодится. Развернуть все строки дин.списка, для свертки можно сделать по аналогии
Процедура РазвернутьДерево(Элемент)
	
	ЭтаФорма.ТекущийЭлемент = Элементы.Список;
	
	ОбъектShell = Новый COMОбъект("Wscript.Shell");
	ОбъектShell.SendKeys("^" + Символ(65)); //выделяем все строки
	
	ПодключитьОбработчикОжидания("РазвернутьПослеВыделения", 0.1, Истина); //Подключаем потому что выделение происходит после выполнения процедуры
	
КонецПроцедуры

&НаКлиенте
Процедура РазвернутьПослеВыделения()
   	
	Для Каждого ВыдСтрока Из ЭтаФорма.ТекущийЭлемент.ВыделенныеСтроки Цикл
		
		Элементы.Список.Развернуть(ВыдСтрока, Истина);	//разворачиваем
		
	КонецЦикла;
	
	ОтключитьОбработчикОжидания("РазвернутьПослеВыделения");
	
КонецПроцедуры
Показать
SergeySol-82; +1 Ответить
23. nollff 18 13.08.24 20:31 Сейчас в теме
В свойствах поставить НачальноеОтображениеДерева.РаскрыватьВсеУровни
На клиенте прописать
Элементы.Список.Отображение = ОтображениеТаблицы.Список;
Элементы.Список.Отображение = ОтображениеТаблицы.Дерево;
DRudenko; +1 Ответить
25. DRudenko 07.10.24 17:59 Сейчас в теме
(23)
Работает если текущая выделенная строка - Родитель.
Пробовал программно подняться в вверх списка и дальше менять ОтображениеТаблицы - остаётся развёрнута группа, элемент которой был выделен
26. DRudenko 07.10.24 18:18 Сейчас в теме
(25)

Если не Элементы.Список.ТекущиеДанные.РодительскаяГруппировкаСтроки = Неопределено Тогда
Элементы.Список.ТекущаяСтрока = Элементы.Список.ТекущиеДанные.РодительскаяГруппировкаСтроки;
КонецЕсли;

А потом уже

Элементы.Список.Отображение = ОтображениеТаблицы.Список;
Элементы.Список.Отображение = ОтображениеТаблицы.Дерево;
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот