Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как платформа вычисляет уровень элемента справочника?

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

   youalex
 
5 - 12.08.20 - 12:39
(4) А если это группа или иерархия элементов? Тогда у подчиненных надо тоже уровень сдвигать (на Источник.Уровень - Источник.Уровень() навскидку)
   arsik
 
6 - 12.08.20 - 12:45
(5) А, ну да. Надо

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