Здравствуйте! Надо в макет вывести результат запроса с обходом по группировкам по полю ГруппаБаланс. Поле ГруппаБаланс имеет тип справочник с иерархией элементов. В консоли запросов запрос выводит все элементы включая группировку (все верно) при обходе результата запроса и вывод данных в макет не выводит данные по вложенным элементам (иерархии). Никак не могу понять почему. Помогите, пожалуйста. Платформа 8.3.6.2152, конфигурация самописная. В приложении сам отчет. ТабДок.НачатьАвтогруппировкуСтрок(); //Приход Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ГруппыБаланса.Ссылка |ПОМЕСТИТЬ ОС |ИЗ | Справочник.ГруппыБаланса КАК ГруппыБаланса |ГДЕ | ГруппыБаланса.Ссылка В ИЕРАРХИИ(&ОС) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СУММА(ЕСТЬNULL(ВзаиморасчетыПоКлиентамОбороты.ДеньгиРасход, 0)) КАК ДеньгиРасход, | ВзаиморасчетыПоКлиентамОбороты.Клиент.ГруппаБаланс КАК КлиентГруппаБаланс |ПОМЕСТИТЬ оборотыВзаиморасчеты |ИЗ | РегистрНакопления.ВзаиморасчетыПоКлиентам.Обороты(&НачалоПериода,КонецПериода, , ) КАК ВзаиморасчетыПоКлиентамОбороты | |СГРУППИРОВАТЬ ПО | ВзаиморасчетыПоКлиентамОбороты.Клиент.ГруппаБаланс |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВзаиморасчетыПоКлиентамОбороты.Клиент.ГруппаБаланс КАК ГруппаБаланс, | СУММА(ЕСТЬNULL(ВзаиморасчетыПоКлиентамОбороты.ДеньгиРасход, 0)) КАК ПриходНаНачало |ПОМЕСТИТЬ НачальныеОстатки |ИЗ | РегистрНакопления.ВзаиморасчетыПоКлиентам.Обороты(&НачалоВеденияУчета,КонецПериода, , ) КАК ВзаиморасчетыПоКлиентамОбороты | |СГРУППИРОВАТЬ ПО | ВзаиморасчетыПоКлиентамОбороты.Клиент.ГруппаБаланс |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | СУММА(ЕСТЬNULL(ПриходнаяНакладнаяТовары.Сумма, 0)) КАК ПриходПоТоварам, | оборотыВзаиморасчеты.ДеньгиРасход КАК ЗаМесяцПриход, | ГруппыБаланса.Ссылка КАК ГруппаБаланс, | НачальныеОстатки.ПриходНаНачало КАК ПриходНаНачало |ИЗ | Справочник.Контрагенты КАК Контрагенты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыПоКлиентам.Обороты(&НачалоПериода,КонецПериода, Регистратор, ) КАК ВзаиморасчетыПоКлиентамОбороты | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладнаяТовары | ПО ВзаиморасчетыПоКлиентамОбороты.Регистратор.Ссылка = ПриходнаяНакладнаяТовары.Ссылка.Ссылка | ПО Контрагенты.Ссылка = ВзаиморасчетыПоКлиентамОбороты.Клиент.Ссылка | ВНУТРЕННЕЕ СОЕДИНЕНИЕ оборотыВзаиморасчеты КАК оборотыВзаиморасчеты | ПО Контрагенты.ГруппаБаланс = оборотыВзаиморасчеты.КлиентГруппаБаланс | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыБаланса КАК ГруппыБаланса | ЛЕВОЕ СОЕДИНЕНИЕ НачальныеОстатки КАК НачальныеОстатки | ПО ГруппыБаланса.Ссылка = НачальныеОстатки.ГруппаБаланс.Ссылка | ПО Контрагенты.ГруппаБаланс = ГруппыБаланса.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ ОС КАК ОС | ПО Контрагенты.ГруппаБаланс.Ссылка = ОС.Ссылка |ГДЕ | Контрагенты.ЭтоГруппа = ЛОЖЬ | И НЕ ГруппыБаланса.Ссылка В | (ВЫБРАТЬ | ОС.Ссылка | ИЗ | ОС) | |СГРУППИРОВАТЬ ПО | оборотыВзаиморасчеты.ДеньгиРасход, | ГруппыБаланса.Ссылка, | НачальныеОстатки.ПриходНаНачало |ИТОГИ | СУММА(ПриходПоТоварам), | СУММА(ЗаМесяцПриход), | СУММА(ПриходНаНачало) |ПО | ОБЩИЕ, | ГруппаБаланс ТОЛЬКО ИЕРАРХИЯ"; Запрос.УстановитьПараметр("КонецПериода", КонецПер); Запрос.УстановитьПараметр("НачалоПериода", НачалоПер); Запрос.УстановитьПараметр("ОС", ОС); Запрос.УстановитьПараметр("НачалоВеденияУчета", НачалоВеденияУчета); РезультатЗапроса = Запрос.Выполнить(); СпособОбхода = ОбходРезультатаЗапроса.ПоГруппировкамСИерархией; Выборка1 = РезультатЗапроса.Выбрать(СпособОбхода, "ГруппаБаланс","Все"); НомерПриход = 1; Пока Выборка1.Следующий() Цикл ПерваяГруппировка.Параметры.Номер = НомерПриход; ПерваяГруппировка.Параметры.ПерваяГруппировка = Выборка1.ГруппаБаланс; ПерваяГруппировка.Параметры.ПГНаНачало = Выборка1.ПриходНаНачало; ПерваяГруппировка.Параметры.ПГЗаМесяц = Выборка1.ЗаМесяцПриход; ПерваяГруппировка.Параметры.ПГТМЦ = Выборка1.ПриходПоТоварам; ПерваяГруппировка.Параметры.ПГСМР = Выборка1.ЗаМесяцПриход - Выборка1.ПриходПоТоварам; ПерваяГруппировка.Параметры.ПГНаКонец = Выборка1.ПриходНаНачало + Выборка1.ЗаМесяцПриход; ТабДок.Вывести(ПерваяГруппировка); ИтогНаНачалоПриход = ИтогНаНачалоПриход + Выборка1.ПриходНаНачало; ИтогЗаМесяцПриход = ИтогЗаМесяцПриход + Выборка1.ЗаМесяцПриход; ИтогПоТоварамПриход = ИтогПоТоварамПриход + Выборка1.ПриходПоТоварам; НомерПриход = НомерПриход + 1; Выборка2= Выборка1.Выбрать(СпособОбхода, "ГруппаБаланс","Все"); Пока Выборка2.Следующий() Цикл ВтораяГруппировка.Параметры.ВтораяГруппировка = Выборка2.ГруппаБаланс; ВтораяГруппировка.Параметры.ВГНаНачало = Выборка2.ПриходНаНачало; ВтораяГруппировка.Параметры.ВГЗаМесяц = Выборка2.ЗаМесяцПриход; ВтораяГруппировка.Параметры.ВГТМЦ = ВЫборка2.ПриходПоТоварам; ВтораяГруппировка.Параметры.ВГСМР = Выборка2.ЗаМесяцПриход - Выборка2.ПриходПоТоварам; ВтораяГруппировка.Параметры.ВГНаКонец = Выборка2.ПриходНаНачало + Выборка2.ЗаМесяцПриход; ТабДок.Вывести(ВтораяГруппировка); Выборка3= Выборка2.Выбрать(СпособОбхода, "ГруппаБаланс","Все"); Пока Выборка3.Следующий() Цикл ТретьяГруппировка.Параметры.ТретьяГруппировка = Выборка3.ГруппаБаланс; ТретьяГруппировка.Параметры.ТГНаНачало = Выборка3.ПриходНаНачало; ТретьяГруппировка.Параметры.ТГЗаМесяц = Выборка3.ЗаМесяцПриход; ТретьяГруппировка.Параметры.ТГТМЦ = ВЫборка3.ПриходПоТоварам; ТретьяГруппировка.Параметры.ТГСМР = Выборка3.ЗаМесяцПриход - Выборка3.ПриходПоТоварам; ТретьяГруппировка.Параметры.ТГНаКонец = Выборка3.ПриходНаНачало + Выборка3.ЗаМесяцПриход; ТабДок.Вывести(ТретьяГруппировка); Выборка4= Выборка3.Выбрать(СпособОбхода, "ГруппаБаланс","Все"); Пока Выборка4.Следующий() Цикл ЧетвертаяГруппировка.Параметры.ЧетвертаяГруппировка = Выборка4.ГруппаБаланс; ЧетвертаяГруппировка.Параметры.ЧГНаНачало = Выборка4.ПриходНаНачало; ЧетвертаяГруппировка.Параметры.ЧГЗаМесяц = Выборка4.ЗаМесяцПриход; ЧетвертаяГруппировка.Параметры.ЧГТМЦ = ВЫборка4.ПриходПоТоварам; ЧетвертаяГруппировка.Параметры.ЧГСМР = Выборка4.ЗаМесяцПриход - Выборка3.ПриходПоТоварам; ЧетвертаяГруппировка.Параметры.ЧГНаКонец = Выборка4.ПриходНаНачало + Выборка4.ЗаМесяцПриход; ТабДок.Вывести(ЧетвертаяГруппировка); КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; Выводит группировки в таком виде:
Нет ни одной полностью раскрытой группировки. Мне кажется дело в запросе, т.к. до добавления временной таблицы вывод выглядел более менее правильно
не раскрывал только два элемента Строительство и Транспортный отдел, которые имеют 4 и 3 уровня вложенности соответственно. Хотя результат в консоли запросов не изменился.Balans.epf |