Данная тема уже обсуждалась, но меня интересует, возможно ли ускорить процесс свертки / развертки узлов дерева на форме? Сейчас у меня в дереве 1600 строк на первом уровне, максимальный уровень вложенности мне неизвестен. Цикл по первому уровню с кодом:

```1c
    Элементы.ДеревоРезультат.Развернуть(Строка.ПолучитьИдентификатор(), Истина);
```

Выполнялся минуты 3, дальше я ждать не стал.
---
Можно предложить рассмотреть вариант не с деревом, а с табличным документом, и в нем выводить разные уровни группировки, как в дереве.
---
А сколько всего строк в дереве с учетом вложенных?
Я бы предложил не тянуть все данные в дерево, а только первый уровень.
При разворачивании строки - подгружать в дерево ее вложенные строки.

Не понятна вообще цель - если в дереве 1600 строк только на первом уровне, и вы разворачиваете вообще все уровни, то что пользователь должен делать с таким объемом данных?
---
Ну, есть отчет с деревом комплектующих. Можно отобрать конкретные изделия, а можно сформировать по всем - так поставлена задача. Я лишь исполнитель) Сколько всего строк не знаю, но предположу, что около 500тыс. Подгружать данные при разворачивании строки не вижу смысла: дерево сейчас заполняется ну секунд 15-20, с учетом выполнения запроса - это не так долго. После его заполнения пользователь может спокойно раскрывать отдельный уровень без доп. операций. Вопрос был в раскрытии всех уровней сразу.
---
Можно предложить рассмотреть вариант не с деревом, а с табличным документом, и в нем выводить разные уровни группировки, как в дереве.
---
В принципе, задача как раз ставилась на табличный документ. Просто, как я предполагал, в любом случае перед выводом в табличный документ потребуется сформировать дерево, поэтому пока что я заполнил его и добавил на форму. Планировал отдельной вкладкой добавить вывод результата в табличный документ.
---
а сочетания кнопок
Ctrl + Shit + "+"
Ctrl + Shit + "-"

подойдут?
---
Нажал - также повисло все)
---
У меня были только текстовые данные в дереве из достаточно большого количества строк и узлов. Создание дерева занимало весьма немало времени, разворачивалось тоже не сильно быстро. Возможно, при разворачивании дерева система достаточно долго получает представления. Попробуйте заполнить дерево представлениями и нажать контрл + "+". Если это будет работать значительно быстрее, то добавьте скрытое поле с ГУИДом для поиска и с представлением вместо ссылки. Ну и после выбора/отметки выбранное/отмеченное получайте по ГУИДу и засовывайте, куда там вам нужно.
Но вообще, пользователю работать с деревом о 1,6к строк - это то еще приключение. Лучше выясните, что им действительно надо, и сделайте так, чтобы это было настоящей автоматизацией, а не исполнением желаний.
---
Это производство. Они просят не первый такой отчет. Благо, я хотя бы смог оптимизировать получение данных (в другом отчете рекурсивно запросом получали данные по каждой номенклатуре, я же составил полную таблицу, по которой уже формировал дерево). Вообще не знаю, что им нужно, так еще и обратиться напрямую не получается к "Заказчику".
---
еще такой вариант
добавьте в запрос команду Первые

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

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

и то и другое будет уже гораздо быстрее отображаться и сворачиваться/разворачиваться
---
Так не получится. Там рекурсия из-за того, что вложений по комплектующим может быть очень много. Здесь есть одно изделие, которое в своей ветке содержит 1500 строк.
---
Наступал на эти грабли. Тогда решения не нашел, а сейчас задач таких нет.