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