Имя: Пароль:
1C
1С v8
Как платформа вычисляет уровень элемента справочника?
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) А, ну да. Надо
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.