Переворачиваем (транспонируем) отчет ТабДок

20.05.20

Разработка - Работа с интерфейсом

Когда смотришь на некоторые отчеты, которые напоминают простыню, хочется их перевернуть для лучшего обзора. Точнее хочется поменять местами строки и колонки. Но такой стандартной функции нет. Попытался создать такую функцию.

Скачать исходный код

Наименование Файл Версия Размер
Переворачиваем (транспонируем) отчет ТабДок:
.epf 20,10Kb
6
.epf 20,10Kb 6 Скачать

Занимаясь внедрениями иногда встречаются печатные или отчетные формы, которые лучше бы перевернуть. Обычно это встречается в случаях:

  • отчет "Простыня":  в отчете много колонок, а строк мало. В итоге чтобы просмотреть отчет надо листать в бок чтобы просмотреть все колонки. Визуально неудобно
  • Создание "Excele-подобных отчетов": клиенты часто дают задание сделать отчет, который из себя представляет скомпонованные колонки и строки в Excel (естественно доводы, что такой отчет делать соблюдая всю "красоту" сложно, ничего не дают), где каждая строка представляет собой какой-нибудь показатель "Продажи", "Выручка", "Количество клиентов" например по регионам. Обычно с точки зрения запросов и СКД такие отчеты проще делать (а также  дорабатывать, отлаживать) наоборот , регионы - в строках , а показатели в колонках. Т.е. проще его сделать так, а потом перевернуть.
  • "Объединение заголовок строк": Если в СКД есть группы для объединение заголовка колонок, то вот объединение заголовка в строках в СКД нет. А в Excele частенько заголовок объединяют по нескольким строкам. Поэтому можно данные объединить в колонках, и затем перевернуть.

Итак, есть внешняя обработка и табличный документ сформированного отчета, загружаем сформированный отчет в обработку:

 

Далее , определяем опорные точки, а их все три:

  • точка А: левый верхний угол сформированной таблицы (отчета). Указав это точку останется заголовок отчета, т.е. он не будет переворачиваться
  • точка B: точка вокруг, которой всё перевернётся (по сути это ось). Эта первая ячейка с данными в левом верхнем углу
  • точка С: правый нижний угол таблицы

Итак, определив эти точки по координатам и указав их на форма, нажимаем "Показать  точки" и видим 3 точки А,В,С:

 

Убедившись, что точки на "своих" местах нажимает кнопку "Перевернуть(транспонировать)" и получаем:

Что видим в итоге:

  • колонки и строки поменялись местами
  • объединение заголовков сохранилось
  • сохранилось оформление (цвета, шрифты)
  • сохранились группировки по вертикали и горизонтали

 

Вот еще попроще пример (образец), но уже отчет с заголовком , который не переворачиваем:

 

Получаем нормальный перевёрнутый документ.

 

В обработке есть флаг "Выводить без уровней группировок" переворачивание происходит без сохранения уровней группировки. Добавлен этот флаг, т.к. алгоритм без группировок практически другой, а иногда уровни группировок у меня глючили.

 

Резюме: можно брать из обработки готовую функцию и использовать, передав табличный документ и координаты 3 точек (так универсально получается, каждый сам может сделать автоматическое определение этих точек в своих конкретных отчетах или печатных формах).

 

Тестировал на платформе: 8.3.16.1148 но должна работать и на более ранних версиях (в том числе и 8.2)

ТабДок TabDoc строка колонка строки колонки перевернуть транспонировать mxl печатная форма отчетная отчет СКД

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61969    43    59    

81

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54598    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16847    21    4    

35

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    11032    757    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    9806    153    acces969    31    

119

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3867    kalyaka    4    

29

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12226    1    5    

10
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kotov2000 5 20.05.20 17:08 Сейчас в теме
А чем хуже поменять в СКД строки с колонками?
+
2. maxx 991 20.05.20 18:01 Сейчас в теме
(1) Посмотрите пример в статье отчета. Там вы много времени потратите будет что-то менять, чтобы получить похожий по оформлению такой же отчет, т.к. форма отчета сложная (хотя есть гораздо сложнее). К тому же не зацикливайтесь на СКД , не все отчеты делаются на СКД а с помощью обычных выборок и выводов , а во-вторых есть также и просто печатные формы.
+
3. Cyberhawk 135 28.06.20 15:20 Сейчас в теме
Непонятно, почему публикация обделена вниманием - такой кейс иногда встречается.
Иногда еще для таблиц форм такое транспонирование хочется (хотя бы для простого случая с плоской шапкой).
+
4. maxx 991 28.06.20 16:05 Сейчас в теме
(3) спасибо за поддержку. Думал тоже идея будет более востребована и может дальше развиваться.
+
Оставьте свое сообщение