Развернуть иерархический справочник(дерево) полностью

1. user1276081 09.11.24 15:11 Сейчас в теме
Добрый день. Есть задача - сделать кнопку на форме списка: развернуть иерархический справочник(дерево) полностью
Нашел два способа
1)
Элементы.Список.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни

Срабатывает только один раз. При повторном нажатии кнопки не работает.
2) Программное нажатие сочетания "Ctrl + Shift + Alt + Num+". Пытался по-размому писать, не работает вообще.
ОбъектShell = Новый COMОбъект("Wscript.Shell");
ОбъектShell.SendKeys("^+%{NUMLOCK}(+)");


Помогите, пожалуйста
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2107191 09.11.24 15:21 Сейчас в теме
Чем же тебя Развернуть() не устроило?
3. user1276081 09.11.24 15:49 Сейчас в теме
(2) нужно развернуть всю иерархию. Можно конечно пройтись по всему справочнику и развернуть все группы, вероятно так и придется делать
4. user2107191 09.11.24 16:29 Сейчас в теме
(3) По верхнему уровню - придется, да.
Только обходить надо не справочник, а элементы дерева таблицы формы.
7. user1276081 09.11.24 22:19 Сейчас в теме
(4) Объясните алгоритм поподробнее, пожалуйста, 1с недавно занимаюсь
8. user2107191 09.11.24 22:22 Сейчас в теме
(7) Алгоритм типа "цикл". Как еще подробнее?
5. lmnlmn 69 09.11.24 16:34 Сейчас в теме
(3) Не знаю как нонешних версиях платформы 8.3, а давешних развертка дерева в УФ зело тормозила. Рекомендую замерить прежде чем делать иначе на больших деревьях захочется повеситься.
6. user2107191 09.11.24 16:40 Сейчас в теме
(5) Это да, есть такая буква в этом слове.
9. user1276081 09.11.24 23:02 Сейчас в теме
(8) по каким данным цикл? Вот есть в бд записи по нашему справочнику, есть текущая строка. Что-за элементы дерева таблицы формы, объясните.
10. user2107191 09.11.24 23:17 Сейчас в теме
(9) А ты собрался разворачивать записи внутри БД, или все таки отображение данных в дереве на форме?
А если не знаешь, что такое таблица формы и что такое её элементы - тебя будут рады видеть на обучающих курсах по основам разработки управляемых форм 1С.
11. keyn5565` 18 09.11.24 23:27 Сейчас в теме
Если динамический список, то поменяй режим отображения на "Список" вместо дерева
или тебе с сохранением иерархии надо?
12. user1276081 10.11.24 14:19 Сейчас в теме
13. DRudenko 25.11.24 18:01 Сейчас в теме
&НаКлиенте
Процедура СвернутьСписок(Команда)  
	
	Если не Элементы.Список.ТекущиеДанные.РодительскаяГруппировкаСтроки = Неопределено Тогда
		Элементы.Список.ТекущаяСтрока = Элементы.Список.ТекущиеДанные.РодительскаяГруппировкаСтроки;	
	КонецЕсли;

	
	//Свернуть↓
	Если Элементы.СвернутьСписок.Пометка = Ложь   Тогда
		Элементы.СвернутьСписок.Пометка = не Элементы.СвернутьСписок.Пометка;
		Элементы.СвернутьСписок.Заголовок = "Развернуть список" ;
		Элементы.Список.Отображение = ОтображениеТаблицы.Список;
		
	//Развернуть↓	
	Иначе
		Элементы.СвернутьСписок.Пометка = не Элементы.СвернутьСписок.Пометка;
		Элементы.СвернутьСписок.Заголовок = "Свернуть список";
		Элементы.Список.Отображение = ОтображениеТаблицы.Дерево;
		Элементы.Список.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;
		
	КонецЕсли;
	
КонецПроцедуры
Показать
14. user2107191 25.11.24 18:05 Сейчас в теме
(13) Красавчик!!! А ты уверен, что свернутое ДЗ должно превращаться в список??? Оно должно оставаться именно деревом, с возможностью разворачивания (для тугих - вот с этими вот крестиками слева).
Ничего не смущает, да?
15. DRudenko 25.11.24 18:07 Сейчас в теме
(14) а ты попробуй :-) разворачивает все папочки, сворачивает обратно.
иерархия сохраняется.

недавно тоже долго ковырялся, этот способ сработал
16. user2107191 25.11.24 18:09 Сейчас в теме
(15) Ага, а после твоего "сворачивания" - можно мышкой развернуть отдельную ветку, и и еще пару вложенных? Ну или просто - развернуть на форме две ветки из десяти?
17. DRudenko 25.11.24 18:20 Сейчас в теме
(16) Нажал - всё свернулось. Разжал - развернулось. Может я не так вопрос понял?
Прикрепленные файлы:
Оставьте свое сообщение

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