Родитель верхнего уровня ... #238975


#0 by Муму после всплытия
... как максимально быстро его найти??Вариант Пока Спр.Родитель <> ...ПустаяСсылка мне знаком....
#1 by VZ
Рекурсивную функцию напиши...
#2 by Муму после всплытия
это вариации на тему ... где тут ускорение??
#3 by ЗаводВибраторов
Циклом
#4 by angro
перебрать всех родителей верхнего уровня, и проверить вхождение элемента
#5 by VZ
А нафига, вообще-то? Учитывая, что в "восьмерке" иерархия не токмо по группам?
#6 by Муму после всплытия
был и такой вариант....Запрос с ВЫБРАТЬ КОГДА ТОГДА - жуткий тормоз,в проверке на левую часть Полного кода тормозит сама функция ПолныйКод........................... н-да
#7 by Муму после всплытия
ну надо....
#8 by angro
вот без полного кода..
#9 by angro
а какую ещё иерархию вы имеете ввиду?
#10 by VZ
Давай сравним, что быстрее: то, что написал, или
#11 by angro
ура, новый конкус на самый быстрый код, только вот способов сделать мало. щас придумаю как проверить, попробую.
#12 by VZ
+10 опс... Не та совсем функция-то... Виноват-с.
#13 by Муму после всплытия
тут и сравнивать нечего......... ваш код однозначно проиграет................. из-за Уровень
#14 by VZ
Зато он не привязан к виду справочника. Вот.
#15 by Gloom
Я как-то проверял, самый быстрый вариант - циклом, только лучше использовать Спр.Родитель.Пустая
#16 by Муму после всплытия
в принципе как я и думал.............. ПринадлежитЭлементу ~ ПолныйКод        Возврат тЭл ...........................вроде тоже особо с конкретным справочником не связан
#18 by VZ
Хорошо, корректирую по :
#19 by VZ
Речь о "восьмерке" ;)
#20 by Муму после всплытия
+19бывают справочники с длиной Наименования = 0............ даже в 7.7
#23 by VZ
Стажер, закладываться на совесть юзера (что он не пренебрежет завести наименоаание), или пренебречь возможностью иметь справочники без Наименования - дурной тон.Подумай над этим.
#24 by Алгоритм
Кароче, кому не нравится скорость рекурсии, добавляйте в справочник новый реквизит СамыйГлавныйПреглавныйРодитель, дальше всем понятно...
#25 by angro
реально рекурсия быстрее способ из 80 секунд, способ из 30 секунд. (3000 элементов проверено, SQL). то есть получается 30/3000=0,01 достаточно быстро
#26 by angro
и кстати эта одна из задач которая на файловом варианте быстрее : 49 секунд : 16 секунд.
#27 by AquaKosh
Сам ты... :)) стажёр. Сначала прочитай всё внимательно и рассмотри все возможные варианты, а потом выступай. У меня эта функция используется только в спр. номенклатура, где по определённым причинам не может быть пустого наименования, и юзверя также не могут оставить его пустым. А если мне надо будет сделать эту функцию экспортной, уж поверь, я её изменю.
#28 by android
+Причем в 8.0 заполнение этого реквизита достаточно прописать ПриЗаписи и всё ок.Но вот если самого главного родителя переместят внутрь другого, или неглавного сделают главным - то перезаписывать все подчиненные :(
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С