Никак не могу сообразить.
У меня выводимые ресурсы разбиты на две большие группы плана и факта (ну и собственно и оформлены группами выводимых полей).
Все хорошо, но я хочу заставить СКД добавить вертикальную свертку этих групп "плюсиком", чтобы можно было отдельно расматривать детализацию плана и факта. Не могу сообразить, как меньшей кровью это можно реализовать. Или только постобработкой извращаться?
---
По итогу родился такой костыль:

```1c
    Процедура ВключитьВозможностьСверткиГруппыКолонок(ДокументРезультат, НазваниеГруппыКолонок)

    // найдем первую ячейку группы
    ПерваяЯчейкаГруппы = ДокументРезультат.НайтиТекст(НазваниеГруппыКолонок,,,,Истина);
    Если ПерваяЯчейкаГруппы = Неопределено Тогда
    Возврат;
    КонецЕсли;

    // определим количество колонок группы (используется особенность объединенных ячеек - одинаковый текст в них)
    КвоКолонокГруппы = 1;
    Пока ПерваяЯчейкаГруппы.Текст = ДокументРезультат.Область(ПерваяЯчейкаГруппы.Верх, ПерваяЯчейкаГруппы.Лево + КвоКолонокГруппы).Текст Цикл
    КвоКолонокГруппы = КвоКолонокГруппы + 1;
    КонецЦикла;

    КолонкаНачалаСвертки = ПерваяЯчейкаГруппы.Лево;
    КолонкаКонцаСвертки = ПерваяЯчейкаГруппы.Лево + КвоКолонокГруппы - 1;

    // сгруппируем колонки группы
    ДокументРезультат.Область(, КолонкаНачалаСвертки, ПерваяЯчейкаГруппы.Верх, КолонкаКонцаСвертки).Сгруппировать();

    КонецПроцедуры
```
---
Выгрузите схему и выложите сюда.
---
Если хочется убирать столбцы, можно как в ЗУП 3.1 отчет Анализ взносов в фонды
---
У меня этой типовой под рукой нет. Но если требуется переформирование отчета, то не подходит.
---
Может попробовать раскидать ресурсы в папки?
---
Уже.
(6) Это можно. И это как раз работать будет. Но не по пустой группировке. Т.е. придется дорабатывать исходный запрос, увеличивая при этом вдвое количество детальных записей. Или я не понял предложения.
---
Может быть сделать отбор по План/Факт ?
Покажите скриншот, а то не могу сообразить что нужно?
---
Сделать вывод в виде таблицы.
В ней можно указать группировку по колонке, значениями которой будут План и Факт
---
Уточню - у меня не набор зеркальных полей план/факт. У меня набор ресурсов, разных по смыслу. Одна группа ресурсов содержит детали расчета плановых показателей, другая - детали внесенного факта. Другими словами можно забыть про план/факт и говорить просто о двух группах произвольных полей вывода.
---
Еще уточню постановку задачи. Допустим есть две группы полей-ресурсов (от фонаря)
ЗаказПоле1
ЗаказПоле2
ЗаказПоле3
ПродажаПоле1
ПродажаПоле2
ПродажаПоле3
ПродажаПоле4
ПродажаПоле5
Они объединены в группы выводимых полей "Заказ" и "Продажа".
Хочу, чтобы по "минусику/плюсику" можно было "схлопывать" и "разворачивать" эти группы колонок независимо друг от друга без переформирования отчета. Аналогично тому, как сама СКД выводит группировки колонок в настройке вида "Таблица". Но не меняя при этом исходный запрос.
---
Попробовал через постобработку методом Сгруппировать() для области ячеек. Но и тут затык.
Для группировки в метод надо передавать именно области колонок (прямоугольную область передать нельзя - ругается "Неприемлемая для операции область").
А СКД формирует табличный документ с областями строк, имеющие разные форматы (различную ширину колонок). И абсолютно непонятно, как сгруппировать колонки именно в области таблицы.
---
Ыыыы! Оказывается методом Область() таки можно получить область колонок по нужному формату строк. Номер первой строки должен быть пустым (понимает, что область колонок), а номер последней строки должен приходиться на строку с нужным форматом строк. Век живи - век учись.
---
Еще одна смешная проблема - не могу программно определить диапазон объединенных ячеек имея первую ячейку из объединения.
---
По итогу родился такой костыль:

```1c
    Процедура ВключитьВозможностьСверткиГруппыКолонок(ДокументРезультат, НазваниеГруппыКолонок)

    // найдем первую ячейку группы
    ПерваяЯчейкаГруппы = ДокументРезультат.НайтиТекст(НазваниеГруппыКолонок,,,,Истина);
    Если ПерваяЯчейкаГруппы = Неопределено Тогда
    Возврат;
    КонецЕсли;

    // определим количество колонок группы (используется особенность объединенных ячеек - одинаковый текст в них)
    КвоКолонокГруппы = 1;
    Пока ПерваяЯчейкаГруппы.Текст = ДокументРезультат.Область(ПерваяЯчейкаГруппы.Верх, ПерваяЯчейкаГруппы.Лево + КвоКолонокГруппы).Текст Цикл
    КвоКолонокГруппы = КвоКолонокГруппы + 1;
    КонецЦикла;

    КолонкаНачалаСвертки = ПерваяЯчейкаГруппы.Лево;
    КолонкаКонцаСвертки = ПерваяЯчейкаГруппы.Лево + КвоКолонокГруппы - 1;

    // сгруппируем колонки группы
    ДокументРезультат.Область(, КолонкаНачалаСвертки, ПерваяЯчейкаГруппы.Верх, КолонкаКонцаСвертки).Сгруппировать();

    КонецПроцедуры
```
---
Супер!!!! Всю голову сломал чтобы сделать разворачивающуюся колонку с адресом в отчёте. Спасибо за работающий костыль