Работа с Системой компоновки данных (СКД) часто ставит перед разработчиком непростую задачу: как сделать стандартный отчет не только информативным, но и визуально привлекательным. Одной из самых частых проблем является оформление "шапки" таблицы, особенно когда речь идет о заголовках ресурсов, объединенных в группы. Стандартных средств настройки текста иногда недостаточно, если требуется изменить фон, шрифт или вовсе скрыть дублирующиеся названия. Рассмотрим подробнее несколько эффективных способов решения этой задачи.
Это самый быстрый способ изменить внешний вид заголовка, не прибегая к рисованию сложных макетов. Многие начинающие разработчики совершают ошибку, применяя оформление ко всему полю, из-за чего меняется вид и самих данных (цифр) в таблице. Чтобы этого избежать, проанализируем настройку Области использования.
Цвет фона или Шрифт).Таким образом, выбранный стиль применится исключительно к "шапке" отчета, оставляя данные в таблице в стандартном виде. При построении временных группировок пригодится пример формирования шапки отчета по неделям и месяцам в СКД.
Если задача стоит сложнее — например, нужно объединить ячейки в шапке или создать многоуровневый заголовок, который СКД не формирует автоматически — нам помогут Макеты. Разберем по шагам, как правильно привязать макет к заголовку.
Рассмотрим ситуацию, когда ресурсы сгруппированы (например, под общим заголовком "Комплектующие"). Обычный макет ресурса с типом "Заголовок" здесь часто не срабатывает. Вместо этого выполним следующие действия:
Параметр и укажем имя поля.Если после применения макета вы заметили появление "двойной шапки" (ваша оформленная и стандартная ниже), необходимо зайти в Другие настройки этой группировки и установить параметр Расположение ресурсов в значение Нет или Горизонтально, а также проверить параметр Выводить заголовок.
Часто в отчетах типа "Таблица" (где есть и строки, и колонки) над именами колонок нависает лишняя строка с названием самого ресурса (например, слово "Количество"). Это "съедает" полезное пространство. Выясним причину и применим проверенный "шаманский" метод настройки без использования макетов:
Автополе и добавим вручную только то поле, по которому идет группировка (например, Период или Склад). Это нужно повторить для всех вложенных уровней группировок колонок.После этих манипуляций заголовок ресурса из шапки исчезнет, и отчет станет выглядеть гораздо компактнее и профессиональнее. Для гибкой настройки отображения показателей подойдёт инструкция по выводу ресурса СКД только в одной колонке.
Иногда название заголовка заранее неизвестно и должно подтягиваться из справочника или константы. В этом случае мы не можем жестко прописать его в схеме .xml. Проанализируем ситуацию, когда нам нужно программно изменить подписи перед выводом отчета. Мы можем обратиться к компоновщику настроек непосредственно в модуле объекта или формы.
Посмотрим на пример кода, который позволяет изменить заголовок ресурса "на лету":
// Получаем настройки компоновщика
Настройки = Отчет.КомпоновщикНастроек.Настройки;
// Перебираем выбранные поля в поисках нужного ресурса
Для Каждого ЭлементВыбора Из Настройки.Выбор.Элементы Цикл
Если ТипЗнч(ЭлементВыбора) = Тип("ВыбранноеПолеКомпоновкиДанных")
И Строка(ЭлементВыбора.Поле) = "СуммаОстаток" Тогда
// Устанавливаем новый заголовок из переменной или справочника
ЭлементВыбора.Заголовок = "Остаток на " + Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy");
КонецЕсли;
КонецЦикла;
Этот метод позволяет делать отчеты максимально гибкими, подстраивая наименования колонок под нужды конкретного пользователя или актуальные данные системы.
Мы рассмотрели различные подходы к оформлению шапки в СКД. Подведем итог: если нужно просто поменять цвет — используйте Условное оформление с ограничением области действия. Если нужна сложная структура — рисуйте Макет заголовка группировки. А для борьбы с лишними строками в кросс-таблицах используйте комбинацию настроек Выбранных полей и Вертикального расположения ресурсов. Сочетание этих методов позволит вам решить любую задачу по визуализации данных в 1С.