Обход выборки по группировкам с иерархией #364779


#0 by Laddy
Коллеги, делаю простой запрос: ИЗ Документ.ПоступлениеТоваровУслуг.Товары ИТОГИ Сумма(Количество),Сумма(Сумма) По Номенклатура ИЕРАРХИЯ Выполняю запрос и делаю выборку: Рез=Запрос.Выполнить;    КонецЦикла; Если в запросе убрать слово ИЕРАРХИЯ, то правильно открывается и обходится внутренняя выборка. Если же указать слово ИЕРАРХИЯ, Выборка возвращает самый верхний итог по иерархии (Самую верхнюю группу). Выборка2 открывается, но ее метод Следующий возвращает значение ложь. В документации заявлено, что при варианте обхода ПоГруппировкамСИерархией внутренняя выборка должна также содержать данные. Что я делаю не так?
#1 by Пуд
Нужно добавить СГРУППИРОВАТЬ в запрос,имхо
#2 by Vitello
У тебя группировка в итогах всего одна.
#3 by Laddy
Пример учебный. Интересует чисто теоретический вопрос: Как обойти всю выборку при способе обхода "ПоГруппировкамСИерархией", если в выборке есть строки вида "ИтогПоИерархии", то есть после Номенклатуры указано слово ИЕРАРХИЯ. (Нужно ли открывать подвыборки или еще - как-то). А почему тогда Выборка2 возвращает данные, если убрать слово ИЕРАРХИЯ в запросе. В документации написано: и далее: "Возникает вопрос, как получать остальные записи результата за­проса. Для этого у объекта ВыборкаИзРезультатаЗапроса можно получить еще одну выборку, которая будет обходить под­чиненные записи текущей записи выборки"
#4 by Vitello
Насколько я помню, обход выборки с иерархией осуществляется рекурсивно.
#5 by Laddy
В данном случае нет разницы как открывать подчиненную выборку - рекурсивно или не рекурсивно, все равно обход первой выборки будет только по строчкам уровня 0 и Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией) вернет пустую подчиненную выборку. Даже если первые 2 строки Выборки имеют тип "ИтогПоИерархии", выборка вернет только первую и остановится. Как проникнуть дальше?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям