При формировании отчетов в системе компоновки данных (СКД) часто возникает задача: группировка содержит большое количество колонок, и в результате отчет становится слишком широким, неудобным для просмотра и печати. Стандартный горизонтальный вывод не подходит. Рассмотрим, как можно настроить отчет, чтобы данные одной записи группировки выводились в две или более строки, располагая поля друг под другом.
Проанализируем два основных подхода к решению этой задачи: гибкий, но более сложный способ с использованием пользовательских макетов, и более простой метод через настройку выбранных полей.
Этот метод дает полный контроль над внешним видом отчета, позволяя создавать сложные структуры, объединять ячейки и добавлять произвольный текст. Однако он требует внимательности при настройке. Ключевая идея заключается в создании двух отдельных макетов для одной и той же группировки.
Разберем по шагам, как это сделать:
Создание макета заголовка. Первым делом создадим макет для шапки нашей многострочной группировки. Перейдите на вкладку "Макеты" в настройках схемы компоновки данных. Создайте новый макет и установите для него Тип макета: Макет заголовка группировки. В области макета спроектируйте шапку так, как она должна выглядеть в отчете, разместив заголовки колонок в две или более строки.
Создание макета для данных. Теперь создадим второй макет, который будет отвечать за вывод самих данных. Создайте еще один макет и установите для него Тип макета: Макет группировки. Структура этого макета должна повторять структуру макета заголовка.
Настройка полей и параметров. В ячейки второго макета (Макет группировки), куда должны выводиться данные, нужно вставить не сами поля, а параметры. Для каждой такой ячейки в свойствах установите Заполнение в значение Параметр. Имена параметров можно задавать произвольно, но для удобства лучше называть их так же, как и поля отчета (например, Номенклатура, Количество, Сумма). После этого все созданные параметры появятся в списке "Параметры макета".
Связывание параметров с полями данных. Для каждого параметра в списке "Параметры макета" необходимо указать выражение. В колонке "Выражение" просто напишите имя соответствующего поля из набора данных отчета. Например, для параметра Номенклатура выражением будет Номенклатура.
Критически важный шаг: настройка области действия макетов. Это самая частая причина ошибок. Для обоих созданных макетов нужно правильно указать, для какой группировки они применяются. Однако здесь есть хитрость:
Номенклатура). Это нужно сделать для обоих макетов.Именно такой подход позволяет СКД правильно сопоставить ваши макеты с нужной группировкой, даже если ее имя не указано напрямую.
После выполнения этих шагов система компоновки данных при выводе отчета найдет ваши макеты и применит их. Сначала будет выведен заголовок из первого макета, а затем данные для каждой записи группировки будут выведены в соответствии со вторым макетом, расположенные в несколько строк.
Если вам не требуется сложная верстка с объединением ячеек, а нужно лишь расположить поля друг под другом, существует гораздо более простой способ, не требующий работы с редактором макетов.
Рассмотрим, как его применить:
Перейдите в настройки структуры отчета. Откройте настройки вашего варианта отчета и перейдите на вкладку "Выбранные поля".
Создайте группу полей. Нажмите кнопку "Добавить новую группу". В списке полей появится новая строка типа Группа.
Перенесите поля в группу. Перетащите мышью все поля, которые вы хотите расположить вертикально, внутрь этой группы. Они станут дочерними элементами для созданной группы.
Установите вертикальное расположение. Выделите строку с вашей новой группой. В колонке свойств для этой строки найдите свойство "Расположение". По умолчанию там стоит "Авто" или "Горизонтально". Измените это значение на "Вертикально".
Вот и все! Теперь при формировании отчета СКД выведет все поля, находящиеся внутри этой группы, друг под другом, каждое в новой строке, в рамках одной записи группировки. Это очень быстрый и эффективный способ для решения задачи без лишних сложностей.
Выбор метода зависит от ваших требований к отчету:
Используйте "Группу выбранных полей", если вам нужно быстро и просто разбить широкую строку на несколько строк без особых требований к оформлению. Это идеальный вариант для 90% случаев.
Обращайтесь к пользовательским макетам, когда требуется сложный дизайн: объединение ячеек, разное форматирование для разных полей, добавление статического текста между данными (например, "Артикул: [Артикул]"), или когда структура вывода данных нелинейна. Этот способ дает максимальную гибкость, но требует больше времени на настройку.
Для большинства практических задач простого и элегантного решения с вертикальным расположением группы полей будет вполне достаточно.