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

Медленное позиционирование в справочнике

Медленное позиционирование в справочнике
Я
   DrLekter
 
05.06.19 - 10:14
Дано: ОФ, справочник номенклатуры ~ 3000 позиций, иерархия без ограничения вложенности. Форма выбора открывается быстро на верхнем уровне дерева, очень медленно - когда перевыбирается позиция (то есть открывается не с начала, а с позиционированием на конкретном элементе).
Для эксперимента загрузил БД в файловую копию, создал "пустую" форму выбора (ничего не рассчитывается, дополнительные данные не показаны - только код и наименование, дерево и форма списка), RLS отключил, позиционирую перед открытием формы вручную.
Код:
СтандартнаяОбработка = Ложь;
ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора();
ФормаВыбора.ЭлементыФормы.СправочникСписок.ТекущаяСтрока = ЭлементыФормы.Номенклатура.ТекущиеДанные.Номенклатура;
ФормаВыбора.Открыть();

третья строка отрабатывает (по замеру производительности) почти 4 секунды.

такой вариант:
СтандартнаяОбработка = Ложь;
ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора();
ФормаВыбора.НачальноеЗначениеВыбора = ЭлементыФормы.Номенклатура.ТекущиеДанные.Номенклатура;
ФормаВыбора.Открыть();

работает почти 10 (!) секунд.
Без позиционирования открывается мгновенно.
По-моему, это ненормально. Что можно сделать - какие-то хитрые индексы добавить, ограничить иерархию, ещё что-то?
 
 
   Юрий Лазаренко
 
1 - 05.06.19 - 10:28
Может там в ПриАктивизацииСтроки куча кода?
   Галахад
 
2 - 05.06.19 - 10:29
Замер производительность показывает только эти строки?
   DrLekter
 
3 - 05.06.19 - 11:52
Я написал, что нет там никаких дополнительных действий, форма создана специально для теста.
Замер производительности в первом случае показывает на строку
ФормаВыбора.ЭлементыФормы.СправочникСписок.ТекущаяСтрока = ЭлементыФормы.Номенклатура.ТекущиеДанные.Номенклатура; 
во втором на ФормаВыбора.Открыть();
Остальные строки меньше на порядки по времени, эти занимают 80-90% всего времени.
   Вафель
 
4 - 05.06.19 - 12:02
список / иерархия / дерево ?
   DrLekter
 
5 - 05.06.19 - 12:27
Список в иерархическом режиме

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