Цитата:ИМХО ты слишком запутал задачу.
Я лично уже не понимаю, что же тебе нужно.
Извини, похоже я слишком погрузился в частности при описании, и за этими частностями стало не видно общей картины. Если отбросить подробности, то получим.
нужно получитьПечатная форма отчёта должна отображать ряд абсолютных и относительных показателей в разрезе группировок и периодов. Группировки (продукция, вид затрат, статья затрат) выводятся в строках, периоды (год или квартал или месяц или неделя) выводятся в столбцах. Абсолютные показатели получаем непосредственно из запроса, относительные рассчитываем. То есть чем-то похоже на бухгалтерский отчёт Журнал-ордер по субконто.
что делаюиз запроса с группировкой по, например "Месяц, Продукция, Затрата" получаю плоскую ТЗ.
Создаю две ИТЗ. И выгружаю ТЗ в каждую из них.
Первая ИТЗ_ДляСтрок - это таблица строк печатной формы, то есть в ней нужны показатели за весь период отчёта без детализации по промежуточным периодам. Поэтому в ИТЗ_ДляСтрок удаляю колонку "Месяц" и выполняю ИТЗ.Группировать("ИндПродукция:&Продукция;ИндЗатрата:Затрата;", "КоличествоПриход,СуммаПриход"). Затем рекурсивным обходом ИТЗ_ДляСтрок на каждом уровне группировки добавляю колонки дополнительных рассчитываемых показателей и заполняю их рассчитанными значениями. Затем опять-таки рекурсивным обходом ИТЗ_ДляСтрок на каждом уровне группировки добавляю индекс сортировки по одному из рассчитанных показателей, например ДобавитьИндексСортировки(ИТЗДляСтрок,1,"ИндСуммаУдельная","-СуммаУдельная");
ИТЗ_ДляСтрок готова, т.к. в ней группировки расположены с учётом вложенности друг в друга и с учётом иерархии справочника Продукция и на каждом уровне имеют нужный мне индекс сортировки.
Вторая ИТЗ_ДляКолонок - это таблица значений ячеек, образующихся на пересечении строк-группировок и столбцов-дат. В этой таблице нужна максимальная детализация. Достигаю её атрата;", "КоличествоПриход,СуммаПриход");
Получил ИТЗ_ДляКолонок.
Теперь запуская Цикл по ИТЗ_ДляСтрок я вывожу секцию таблицы "Строка|Показатель" и вложенным циклом по ИТЗ_ДляКолонок присоединяю секции "Строка|Период"
ВопросНе могу соориентироваться как организовать Цикл по ИТЗ_ДляКолонок, ведь для каждой строки отчёта мне нужно получать значения группировки на каждый из периодов, а эти значения находятся в разных тзПотомки, принадлежащих каждая свой строке с датой.
Пробовал "развернуть" древовидную структуру ИТЗ_ДляКолонок путём выгрузки в плоскую ИТЗ, но получается замножение за счёт того, что на каждом уровне группировки в тзПотомки помимо колонок группируемого уровня заполнены значения колонок выше и ниже расположенных уровней.
То есть вопрос в том, как развернуть древовидную ИТЗ, полученную в результате метода Группировать в плоскую, чтобы не было замножения суммовых показателей за счёт присутствия в тзПотомки показателей всех уровней