Как БЫСТРО свернуть / развернуть дерево формы
Данная тема уже обсуждалась, но меня интересует, возможно ли ускорить процесс свертки / развертки узлов дерева на форме? Сейчас у меня в дереве 1600 строк на первом уровне, максимальный уровень вложенности мне неизвестен. Цикл по первому уровню с кодом:
Выполнялся минуты 3, дальше я ждать не стал.
Элементы.ДеревоРезультат.Развернуть(Строка.ПолучитьИдентификатор(), Истина);
Выполнялся минуты 3, дальше я ждать не стал.
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) А сколько всего строк в дереве с учетом вложенных?
Я бы предложил не тянуть все данные в дерево, а только первый уровень.
При разворачивании строки - подгружать в дерево ее вложенные строки.
Не понятна вообще цель - если в дереве 1600 строк только на первом уровне, и вы разворачиваете вообще все уровни, то что пользователь должен делать с таким объемом данных?
Я бы предложил не тянуть все данные в дерево, а только первый уровень.
При разворачивании строки - подгружать в дерево ее вложенные строки.
Не понятна вообще цель - если в дереве 1600 строк только на первом уровне, и вы разворачиваете вообще все уровни, то что пользователь должен делать с таким объемом данных?
(4)Ну, есть отчет с деревом комплектующих. Можно отобрать конкретные изделия, а можно сформировать по всем - так поставлена задача. Я лишь исполнитель) Сколько всего строк не знаю, но предположу, что около 500тыс. Подгружать данные при разворачивании строки не вижу смысла: дерево сейчас заполняется ну секунд 15-20, с учетом выполнения запроса - это не так долго. После его заполнения пользователь может спокойно раскрывать отдельный уровень без доп. операций. Вопрос был в раскрытии всех уровней сразу.
(6)В принципе, задача как раз ставилась на табличный документ. Просто, как я предполагал, в любом случае перед выводом в табличный документ потребуется сформировать дерево, поэтому пока что я заполнил его и добавил на форму. Планировал отдельной вкладкой добавить вывод результата в табличный документ.
(3) У меня были только текстовые данные в дереве из достаточно большого количества строк и узлов. Создание дерева занимало весьма немало времени, разворачивалось тоже не сильно быстро. Возможно, при разворачивании дерева система достаточно долго получает представления. Попробуйте заполнить дерево представлениями и нажать контрл + "+". Если это будет работать значительно быстрее, то добавьте скрытое поле с ГУИДом для поиска и с представлением вместо ссылки. Ну и после выбора/отметки выбранное/отмеченное получайте по ГУИДу и засовывайте, куда там вам нужно.
Но вообще, пользователю работать с деревом о 1,6к строк - это то еще приключение. Лучше выясните, что им действительно надо, и сделайте так, чтобы это было настоящей автоматизацией, а не исполнением желаний.
Но вообще, пользователю работать с деревом о 1,6к строк - это то еще приключение. Лучше выясните, что им действительно надо, и сделайте так, чтобы это было настоящей автоматизацией, а не исполнением желаний.
(11)Это производство. Они просят не первый такой отчет. Благо, я хотя бы смог оптимизировать получение данных (в другом отчете рекурсивно запросом получали данные по каждой номенклатуре, я же составил полную таблицу, по которой уже формировал дерево). Вообще не знаю, что им нужно, так еще и обратиться напрямую не получается к "Заказчику".
еще такой вариант
добавьте в запрос команду Первые
Выбрать первые 1000
если пользователь введет Отбор и вложится в 1000 строк - получит правильный отчет
если не введет Отбор - то в отчете получит данные по 1000 строк
и то и другое будет уже гораздо быстрее отображаться и сворачиваться/разворачиваться
добавьте в запрос команду Первые
Выбрать первые 1000
если пользователь введет Отбор и вложится в 1000 строк - получит правильный отчет
если не введет Отбор - то в отчете получит данные по 1000 строк
и то и другое будет уже гораздо быстрее отображаться и сворачиваться/разворачиваться
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот