Как получить родителя второго уровня? #534501


#0 by Сюзи
Нужно для каждого элемента справочника получить едо родителя второго уровня.Платформа 8.0
#1 by pwei
я не против.. а как вариант через попытку родитель.родитель.
#2 by Сюзи
Ну если элемент находится в 10ом уровне то получу родителя 8ого уровня...Мне нужен 2ого уровня
#3 by pwei
мм... у родитель.родитель поле родитель пусто - опять же как вариант..
#4 by Sasha_uu
конеццикла может так?
#5 by mirosh
делаешь цикл из двух итераций, в нем на первой итерации а на второй Все это делать через попытки.
#6 by pwei
+ даже не так.. для каждого элемента справочника циклом ищем родителя, у которого родитель.родитель пусто
#7 by Живой Ископаемый
в запросе? если нет, то см. ПолныйКод
#8 by Сюзи
Ну так я получу только те эелементы которые находятся во 2ом уровне, а мне нужно выбрать элемент, и наименование родителя 2ого уровня.
#9 by Сюзи
Попробую,спасибо
#10 by NcSteel
Смотри
#11 by dimoff
Если нужно получить в списке, то лучше добавить реквизит и при записи элемента писать в него родителя второго уровня. Если же без этого, то сейчас опишу
#12 by NcSteel
ЛУчше не нада
#13 by Сюзи
А ПолныйКод, чем плох?
#14 by NcSteel
Ссылок нет
#15 by Сюзи
А мне наименование только нужно;)
#16 by NcSteel
Так и Наименования нет )))
#17 by NcSteel
ПолноеНаименование - а вот тут есть наименование
#18 by Живой Ископаемый
возможно нужно
#19 by Живой Ископаемый
полноенаименование плохо тем, что в наименовании может встретится символ "/"
#20 by Сюзи
Вот это по лучше, но хотелось альтернативу от dimoff))
#21 by NcSteel
Зато отвечает поставленной задаче, почти )
#22 by dimoff
Делаешь вложенный запрос "Выбрать Спр.Ссылка,   Спр.Родитель КАК Родитель1, Из Справочник.Контрагенты КАК Спр ГДЕ Родитель <> &ПустоеЗначение И Родитель.Родитель <> ПустоеЗначение" в основном запросе выбираешь из него Выбор КОГДА Родитель4 = &ПустоеЗначение Тогда Родитель2 КОГДА Родитель3 = &ПустоеЗначение Тогда Родитель1 ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ КАК РодительВторогоУровня Если этого запроса недостаточно, и остались элементы где РодительВторогоУровня неопределен, то повторяем итерационно запрос но добавляем к полям маску "Родитель.Родитель.Родитель.Родитель" и с отбором по неопределенным полям. Если там не 20 уровней, то максимум итераций будет 2-3 Либо то же одним запросом но первый запрос сделать временной таблицей
#23 by Сюзи
Наверное воспользуюсь ПолныйКод + НайтиПоКоду
#24 by NcSteel
Извращенец.
#25 by dimoff
Ещё один вариант, не знаю будет ли он работать быстрее чем 22, но он проще Соединить таблицу элементов с таблицей групп второго уровня с условем ПО Элементы.Ссылка В ИЕРАРХИИ(ТаблицаГруппВторогоУровня.Ссылка) Не знаю как работает В ИЕРАРХИИ, возможно будет очень долго при большом количестве. Но идеально таки 11
#26 by dimoff
Озвучь где ты это делаешь? Если много элементов сразу это будет ОЧЕНЬ долго работать.
#27 by Сюзи
Нужно выгрузить справочник номенклауры(с отбором ,ну примерно 1000 строк) и как атрибут для каждого выводить наименование родителя 2ого уровня.
#28 by NcSteel
Напоминает выгрузка в Оптимум.
#29 by dimoff
Если выгрузка будет происходить нечасто и лишняя минута на выполнение некритична - можно и через полныйкод
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям