Как БЫСТРО свернуть / развернуть дерево формы

1. scarl1n 12 29.05.24 13:52 Сейчас в теме
Данная тема уже обсуждалась, но меня интересует, возможно ли ускорить процесс свертки / развертки узлов дерева на форме? Сейчас у меня в дереве 1600 строк на первом уровне, максимальный уровень вложенности мне неизвестен. Цикл по первому уровню с кодом:
Элементы.ДеревоРезультат.Развернуть(Строка.ПолучитьИдентификатор(), Истина);

Выполнялся минуты 3, дальше я ждать не стал.
По теме из базы знаний
Найденные решения
6. Sashares 33 29.05.24 14:52 Сейчас в теме
(5)Можно предложить рассмотреть вариант не с деревом, а с табличным документом, и в нем выводить разные уровни группировки, как в дереве.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Sashares 33 29.05.24 14:33 Сейчас в теме
(1) А сколько всего строк в дереве с учетом вложенных?
Я бы предложил не тянуть все данные в дерево, а только первый уровень.
При разворачивании строки - подгружать в дерево ее вложенные строки.

Не понятна вообще цель - если в дереве 1600 строк только на первом уровне, и вы разворачиваете вообще все уровни, то что пользователь должен делать с таким объемом данных?
5. scarl1n 12 29.05.24 14:49 Сейчас в теме
(4)Ну, есть отчет с деревом комплектующих. Можно отобрать конкретные изделия, а можно сформировать по всем - так поставлена задача. Я лишь исполнитель) Сколько всего строк не знаю, но предположу, что около 500тыс. Подгружать данные при разворачивании строки не вижу смысла: дерево сейчас заполняется ну секунд 15-20, с учетом выполнения запроса - это не так долго. После его заполнения пользователь может спокойно раскрывать отдельный уровень без доп. операций. Вопрос был в раскрытии всех уровней сразу.
6. Sashares 33 29.05.24 14:52 Сейчас в теме
(5)Можно предложить рассмотреть вариант не с деревом, а с табличным документом, и в нем выводить разные уровни группировки, как в дереве.
7. scarl1n 12 29.05.24 14:54 Сейчас в теме
(6)В принципе, задача как раз ставилась на табличный документ. Просто, как я предполагал, в любом случае перед выводом в табличный документ потребуется сформировать дерево, поэтому пока что я заполнил его и добавил на форму. Планировал отдельной вкладкой добавить вывод результата в табличный документ.
2. soft_wind 29.05.24 14:00 Сейчас в теме
а сочетания кнопок
Ctrl + Shit + "+"
Ctrl + Shit + "-"

подойдут?
3. scarl1n 12 29.05.24 14:11 Сейчас в теме
(2)Нажал - также повисло все)
11. starik-2005 3098 29.05.24 16:16 Сейчас в теме
(3) У меня были только текстовые данные в дереве из достаточно большого количества строк и узлов. Создание дерева занимало весьма немало времени, разворачивалось тоже не сильно быстро. Возможно, при разворачивании дерева система достаточно долго получает представления. Попробуйте заполнить дерево представлениями и нажать контрл + "+". Если это будет работать значительно быстрее, то добавьте скрытое поле с ГУИДом для поиска и с представлением вместо ссылки. Ну и после выбора/отметки выбранное/отмеченное получайте по ГУИДу и засовывайте, куда там вам нужно.
Но вообще, пользователю работать с деревом о 1,6к строк - это то еще приключение. Лучше выясните, что им действительно надо, и сделайте так, чтобы это было настоящей автоматизацией, а не исполнением желаний.
12. scarl1n 12 29.05.24 16:25 Сейчас в теме
(11)Это производство. Они просят не первый такой отчет. Благо, я хотя бы смог оптимизировать получение данных (в другом отчете рекурсивно запросом получали данные по каждой номенклатуре, я же составил полную таблицу, по которой уже формировал дерево). Вообще не знаю, что им нужно, так еще и обратиться напрямую не получается к "Заказчику".
8. soft_wind 29.05.24 15:27 Сейчас в теме
еще такой вариант
добавьте в запрос команду Первые

Выбрать первые 1000

если пользователь введет Отбор и вложится в 1000 строк - получит правильный отчет
если не введет Отбор - то в отчете получит данные по 1000 строк

и то и другое будет уже гораздо быстрее отображаться и сворачиваться/разворачиваться
9. scarl1n 12 29.05.24 15:38 Сейчас в теме
(8)Так не получится. Там рекурсия из-за того, что вложений по комплектующим может быть очень много. Здесь есть одно изделие, которое в своей ветке содержит 1500 строк.
10. lmnlmn 69 29.05.24 16:06 Сейчас в теме
Наступал на эти грабли. Тогда решения не нашел, а сейчас задач таких нет.
Оставьте свое сообщение

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