Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Тормоза при отображении большого дерева значений

Тормоза при отображении большого дерева значений
Я
   cons74
 
28.04.18 - 15:02
Добрый день.

Есть обработка. В форме1 - список реквизитов номенклатуры, для каждого надо указать, "источник" откуда брать значение.
При открытии этой формы1 подготавливается большое дерево значений для выбора этих источников.
Установив курсор на элемент в таблице реквизитов нажимаем "выбрать источник" и открывается форма2, с перечнем источников. Дерево значений берется из ВременногоХранилища, куда оно было помещено в форме1.
Проблема в том, что для каждого реквизита номенклатуры приходится нажимать "выбрать источник", и каждый раз форма выбора рисуется заново, с тем огромным деревом значений, и тормозит оно по 11сек.

Первоначально в параметр формы2 из формы1 передавался объект ДанныеФормыДерево (дерево есть в форме1 как ревизит, без отображения). И была сначала
сериализация клиент (форма1)->сервер - создание формы2->сериализация сервер->клиент (форма2). Когда переделал на использование ВременногоХранилища - избавился от одной сериализации, но вторая - осталась.

Вижу варианты:
а) как-то кэшировать форму2, т.е. не закрывать её, а только скрывать от пользователя при выборе
б) передавать дерево с клиента на клиент, т.е. форма1 получает форму2 и на клиенте передает ей дерево (ДанныеФормы?), без явного обращения к серверу.
Но думаю что при варианте б) все равно будет обращение к серверу, и каждый раз новое открытие формы с новой отрисовкой дерева - т.е. ускорения не получить. Так что вопрос пожалуй: как сделать вариант а?
 
 
   cons74
 
1 - 28.04.18 - 15:40
Слишком много букв?
   H A D G E H O G s
 
2 - 28.04.18 - 16:08
(0) Никак.

Динамический список или табличный документ вам в помощь.
   Сияющий в темноте
 
3 - 28.04.18 - 17:07
Самое простое решение,это перенести дерево на другую вкладку той же самой формы,тогда вместо открытия формы будет идти переключение на другую вкладку,и ничего передавать вообще будет не нужно,отказ от модальности,кстати,именно такое решение и предполагает
   H A D G E H O G s
 
4 - 28.04.18 - 17:17
(3) Навигация по такому дереву будет напоминать кошмар
   cons74
 
5 - 29.04.18 - 14:04
(2) дин список - в теории должен бы давать ускорение за счет  дин.считывания данных? А таб.документ зачем? Помещать в него дерево? И что это даст?
   mistеr
 
6 - 29.04.18 - 15:00
(0) Предлагаю использовать вместо дерева значений табличный документ. Он по идее должен закешироваться и не перегоняться каждый раз при открытии формы2.

Формировать его на сервере, форма1 вообще не должна в этом участвовать.
   H A D G E H O G s
 
7 - 29.04.18 - 15:49
(5) табдок, сформированный насерверебезконтекста больше не будет лазать на сервер при каждом чихе
   H A D G E H O G s
 
8 - 29.04.18 - 15:50
(5) а он и не в теории даёт ускорение. Вообще незаменим в доках с ТЧ больше 10к строк

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует