Как получить всех родителей элемента справочника? #504029


#0 by Ellowis
Доброго времени суток. Подробнее: Имеется иерархический справочник Подразделения. Подскажите, каким образом можно запросом получить выборку вида: «Подразделение» |  «Родитель» Причем так, что будут строки со всеми родителями элемента. Выборка осуществляется по всем элементам справочника. Заранее благодарю.
#1 by Tolyas
#2 by Kreont
Издеваешься?
#3 by Кокос
нет. тема эта уже была.
#4 by Tolyas
Кусок рабочего кода. Что не понятно? Получаешьш родителя, если не пустая ссылка, получаешь следующего... накнулся на пустую ссылку - все предыдущие элементы родители.
#5 by Kreont
А если справочник 15 уровней вложености?
#6 by Kreont
Автор, а зачем тебе запросом? Может проще получить то через менеджер справочника, там есть выбрать а используя методы ПолныйКод или Уровень можно все красиво разобрать. Я не думаю что будет работать дольше чем запросом.
#7 by Tolyas
На диске ИТС есть статья "Примеры запросов для работы с ирерхическими справочниками"
#8 by МихаилМ
будет, пропорционально количеству уровней а если справочник N уровней воженности... разве так сложно написать метод, который будет дополнять текст запроса нужным кодом (инкапсуляция).
#9 by nbIx
Прям как у меня:))
#10 by Ellowis
Круто... Написать можно, а если количество уровней заранее неизвестно? Можно ссылку, на обсуждение. Я не смог найти
#11 by AndreyFAN
#12 by Кокос
просили запрос :)
#13 by Кокос
неделю назад видел. лениво искать :)
#14 by Кокос
да и зачем тебе?  Результатом того обсуждения стало
#15 by Ellowis
Понятно, спасибо, просто данный код стартует ПриНачалеРаботыСистемы, и хотелось бы максимально быстро выполнить его.
#16 by Кокос
да быстро он выполнится
#17 by МихаилМ
дерево - неудобная структура дляхранения в 2-мерной структуре. поэтому для "трудных" можно придумать какие нибуть кастылики. я проверял не на 1с а на ms sql 2005 запрос для 7.7 выборки подчиненых документов 10 50 и 100 уровней отрабатывают примерно одинаково в сравнении с CTE. реальных уровней было 5 максимум. те можно смело сделать "избыточный"  по уровням вложенности запрос. универсального решения через запрос  нет в 1с. но 1 запрос эффективней кучи маленьких.
#18 by 1C-Nick
вычисляй всех родителей при записи элемнта, а при начале работы системы просто доставай
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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