Занимаясь внедрениями иногда встречаются печатные или отчетные формы, которые лучше бы перевернуть. Обычно это встречается в случаях:
- отчет "Простыня": в отчете много колонок, а строк мало. В итоге чтобы просмотреть отчет надо листать в бок чтобы просмотреть все колонки. Визуально неудобно
- Создание "Excele-подобных отчетов": клиенты часто дают задание сделать отчет, который из себя представляет скомпонованные колонки и строки в Excel (естественно доводы, что такой отчет делать соблюдая всю "красоту" сложно, ничего не дают), где каждая строка представляет собой какой-нибудь показатель "Продажи", "Выручка", "Количество клиентов" например по регионам. Обычно с точки зрения запросов и СКД такие отчеты проще делать (а также дорабатывать, отлаживать) наоборот , регионы - в строках , а показатели в колонках. Т.е. проще его сделать так, а потом перевернуть.
- "Объединение заголовок строк": Если в СКД есть группы для объединение заголовка колонок, то вот объединение заголовка в строках в СКД нет. А в Excele частенько заголовок объединяют по нескольким строкам. Поэтому можно данные объединить в колонках, и затем перевернуть.
Итак, есть внешняя обработка и табличный документ сформированного отчета, загружаем сформированный отчет в обработку:
Далее , определяем опорные точки, а их все три:
- точка А: левый верхний угол сформированной таблицы (отчета). Указав это точку останется заголовок отчета, т.е. он не будет переворачиваться
- точка B: точка вокруг, которой всё перевернётся (по сути это ось). Эта первая ячейка с данными в левом верхнем углу
- точка С: правый нижний угол таблицы
Итак, определив эти точки по координатам и указав их на форма, нажимаем "Показать точки" и видим 3 точки А,В,С:
Убедившись, что точки на "своих" местах нажимает кнопку "Перевернуть(транспонировать)" и получаем:
Что видим в итоге:
- колонки и строки поменялись местами
- объединение заголовков сохранилось
- сохранилось оформление (цвета, шрифты)
- сохранились группировки по вертикали и горизонтали
Вот еще попроще пример (образец), но уже отчет с заголовком , который не переворачиваем:
Получаем нормальный перевёрнутый документ.
В обработке есть флаг "Выводить без уровней группировок" переворачивание происходит без сохранения уровней группировки. Добавлен этот флаг, т.к. алгоритм без группировок практически другой, а иногда уровни группировок у меня глючили.
Резюме: можно брать из обработки готовую функцию и использовать, передав табличный документ и координаты 3 точек (так универсально получается, каждый сам может сделать автоматическое определение этих точек в своих конкретных отчетах или печатных формах).
Тестировал на платформе: 8.3.16.1148 но должна работать и на более ранних версиях (в том числе и 8.2)