v8: Выборка с иерархией - как обойти иерархию ПоГруппировкамСИерархией #555688


#0 by FReIM
Столкнулся с проблемой и занялся её решением собственно почему не работает выборка по иерархии: Как выяснилось Выборка2=Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией) - явно недостаточно, необходимо для вложенной выборки явно задавать группировку. Выборка2=Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией,"Ссылка") Иначе метод Выборка.Следующий для итогов по иерархии будет возвращать всегда "Ложь". Т.е. если мы захотим для группы справочника получить вложенные группы, то необходимо явное указание наименования группировки "Ссылка". Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией,"Ссылка")
#1 by FReIM
Так, небольшая опечатка: НЕ "Иначе метод Выборка.Следующий для итогов по иерархии будет возвращать всегда "Ложь".... " А Иначе метод Выборка2.Следующий для итогов по иерархии будет возвращать всегда "Ложь". Т.е. если мы захотим для группы справочника получить вложенные группы, то необходимо явное указание наименования группировки "Ссылка". Выборка2.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией,"Ссылка")
#2 by vmv
выгрузи запрос в дерево значений и обходи как хочь, надеюсь функционал по работе с деревьями в кармане зачем парить репу с какими-то выборками
#3 by vmv
Дерево = Запрос.Выполнить.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
#4 by Ёпрст
а нахрена 2-ая выборка ? Когда у тебя их всего одна!
#5 by Ёпрст
+4 вот тупо код, слепленный конструктором.
#6 by Defender aka LINN
Иерархия потому что.
#7 by FReIM
Выборка более гибкая штука, там рассчитаны все возможные итоги в любом порядке, т.е. можно выборку вложенную в любом порядке следования итогов выбрать. так и Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Период;Ссылка").
#8 by FReIM
И итоги разные будут и обход их может быть разный. Особенно актуально для сложных многоуровневых выборок.
#9 by FReIM
В любом случае я просто хотел поделиться опытом, чтобы потом никто на эти грабли не наступал.
#10 by Guk
нажми букву "Я"...
#11 by FReIM
Лол. Самое смешное, что там я так ничего и не нашел. Просто вопросы без ответов, мало названия в поисковике просмотреть, нужно еще и найденое прочитать.
#12 by Guk
странно. прямо во второй ссылке приведен пример из Радченко...
#13 by FReIM
Работать не будет попробуйте запустить написанный выше код. Справочник Номенклатура есть во многих конфигурациях Примеры есть, но вот только они не рабочие, попробуйте обойти вложенность более 2 х уровней. пример из митичкина, при развертке рекурсии в цикл работать не будет, так как поле групировки по иерархии явно во второй выборке не задано. Пример из Митичкина:    УПОРЯДОЧИТЬ ПО Товар тоже не совсем корректен, а для задачи с задынным уровнем вложений - нуждается в доработке.
#15 by FReIM
код примитивный и из-за описанных выше не соблюденных условий работать не будет.
#16 by FReIM
Там тоже отписался)))
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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