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


#0 by Гений 1С
Вот написал отчет, думал все окей, а тут юзверь грит - а мне нужен отчет только по родителям верхнего уровня. Фильтрация не подходит, т.к. у меня потом еще эта статья детализируется. Можно как то получить сабж?
#1 by mikecool
а через n точек нельзя обратиться к полю родителя?
#2 by selenat
Мне тоже интересно. Причем интересует получение всей иерархии по детальным записям, которые получаем более менее произвольным образом.
#3 by Гений 1С
Офигенно сложная будет конструкция выбора, учитывая, что статьи идут на разных уровнях иерархии...
#4 by selenat
в запросе? не зная уровень элемента?
#5 by КонецЦикла
Хранимкой моно или орагнизовать триггеры и запись свой таблички
#6 by КонецЦикла
Пелять пальцы путаются...
#7 by mikecool
Х-1 объединение из запросов к Х таблицам, где Х - количество уровней иерархии...
#8 by mikecool
+7 как-то собрался написать процедурку, которая собирала бы такой запрос - так руки и не дошли...
#9 by selenat
количество уровней иерархии в 8 может быть неограниченным...
#10 by mikecool
в реалии все равно больше допустим 5-7 редко кто пользуется...
#11 by КонецЦикла
Экстенсивный путь... снеговик и так пипец какой задумчивый...
#12 by Широкий
Выбор Когда Элемент.Родитель.Ссылка Есть NULL Тогда  Элемент Когда Элемент.Родитель.Родитель.Ссылка Есть NULL Тогда  Элемент.Родитель Когда Элемент.Родитель.Родитель.Родитель.Ссылка Есть NULL Тогда  Элемент.Родитель.Родитель Когда Элемент.Родитель.Родитель.Родитель.Родитель.Ссылка Есть NULL Тогда  Элемент.Родитель.Родитель.Родитель Конец Тока фиг знает насколько производительность упадет :))
#13 by selenat
и как при помощи этого результат в виде иерархии в одном поле?
#14 by Широкий
Какая еще иерархия? ЕвГению вроде надо только самый верхний уровень выдать
#15 by selenat
к слову сказать, я не придумав нормального решения этой проблемы, получаю нужную иерархию на стадии обхода элементов. Но вариант с получением этого в запросе очень интересует...
#16 by selenat
а мне нет.
#17 by Широкий
если ты про итоги по иерархии не прокатывают разве?
#18 by Гений 1С
в 8.1 можно юзать виртуальные таблицы, в 8.0 к сожалению, еще нельзя. А я работаю в 8.0, к сожалению
#19 by selenat
пример дашь? в смысле получать запросом данные, выгружать  в ТЗ, обрабатывать и использовать эту тЗ как источник для нового запроса?
#20 by Гений 1С
Нет, в смысле заменять статьи на группы. а чтобы знать что на что заменять, предварительно сформировать запрос по всему справочнику и поместить его в ВТ
#21 by selenat
а я что сказал? про ТЗ конечно погорячился...
#22 by Широкий
ВЫБРАТЬ    Номенклатура.Ссылка КАК Ссылка ИЗ    Справочник.Номенклатура КАК Номенклатура
#23 by selenat
мда, век живи, век учись. Спасибо.
#24 by Гений 1С
и что же? рано радуешься, ни фига это не дает...
#25 by Гений 1С
Короче, решил пойти по пути наименьшего сопротивления:
#26 by i-rek
я наверно условия не понял, почему нельзя Выбрать Ссылка Из Справочник.Мой ГДЕ Родитель=&ПустойСправочник И ЭтоГруппа=Истина
#27 by selenat
потому что нужны не все родители верхнего уровня. Идем от получения элементов. Для определенных элементов надо получить верхних родетелей..
#28 by Гений 1С
окей... еще раз АЛКОГОЛЬ  пиво  водка ХЛЕБ  булки  пончики   МОЛОЧКА  творог Нужно получить отчет по продажам со складов: АЛКОГОЛЬ  Склад1 10 руб  Склад2 20 руб ХЛЕБ  Склад1 50 руб  Склад2 10 руб МОЛОЧКА  Склад1 60 руб
#29 by Гений 1С
я лучше разжевал, с ВТ в 8.1 полетит, а то что написал Широкий в совершенно не поможет.
#30 by Гений 1С
В общем у меня получилось то что в , но через хитрую конструкцию выбора в
#31 by WED
А нельзя вложенным запросом получить списко корневых групп, а потом суммировать данные исходя из вхождения в этот список?
#32 by selenat
а как ты вхождение в список в запросе определять будешь?
#33 by v_rtex
ТОЛЬКО ИЕРАРХИЯ и пусть пользователь использует плюсы/минусы слева для показа/скрытия уровней иерархии, ограничиваясь первым
#34 by v_rtex
например ГДЕ Контрагент В (&СписокКонтрагентов) Запрос.УстановитьПараметр("СписокКонтрагентов",СЗ);
#35 by WED
гм.. по идее надо получить таблицу: Элемент + ВерхнийРодитель и эту таблицу соединять с остатками и "сварачивать"....щас подумаемс...
#36 by WED
Список должен строиться в запросе...
#37 by i-rek
ааа.... я б ещё предложил новый реквизит "родительВерхнегоУровня" и заполнять его в ПриЗаписи
#38 by Гений 1С
Не получится... Отчет как в не получится, подумай почему сам. Блин, хочу на 81, задолбала эта 80
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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