|
Как платформа вычисляет уровень элемента справочника? |
☑ |
0
Lama12
12.08.20
✎
11:21
|
Пытаюсь понять как платформа вычисляет уровень элемента справочника. Смотрю профайлером. В классическом TSQL не очень силен. Складывается впечатление, что платформа просто делает несколько запросов по 11 уровней. Если в первом доходит до верхнего уровня, то делается один запрос. Если уровень вложения элемента 12, то будет два запроса. Если уровень 25, то будет 3 запроса.
Прошу подтвердить или опровергнуть результаты моих экспериментов.
Если нужно, могу выложить результаты профайла.
|
|
1
Вафель
12.08.20
✎
11:22
|
так и есть
|
|
2
Lama12
12.08.20
✎
11:23
|
(1) Печаль. :-(
Думал взять их способ для вычисления уровня в запросе. придется опять костыли городить.
|
|
3
Kesim
12.08.20
✎
12:06
|
(2) если сильно захотеть можно реквизит "индекс/уровень вложенности" запилить - зачетный костыль - Рекомендую!.
|
|
4
arsik
гуру
12.08.20
✎
12:17
|
+ (3) У нас так сделано. В продписку в перед записью.
Процедура ПередЗаписьюУстановкаУровня(Источник, Отказ) Экспорт
Если не Источник.ОбменДанными.Загрузка Тогда
Источник.Уровень = Источник.Уровень();
КонецЕсли;
КонецПроцедуры
|
|
5
youalex
12.08.20
✎
12:39
|
(4) А если это группа или иерархия элементов? Тогда у подчиненных надо тоже уровень сдвигать (на Источник.Уровень - Источник.Уровень() навскидку)
|
|
6
arsik
гуру
12.08.20
✎
12:45
|
(5) А, ну да. Надо
|
|