Как настроить оформление шапки таблицы и заголовков ресурсов в СКД?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Работа с Системой компоновки данных (СКД) часто ставит перед разработчиком непростую задачу: как сделать стандартный отчет не только информативным, но и визуально привлекательным. Одной из самых частых проблем является оформление "шапки" таблицы, особенно когда речь идет о заголовках ресурсов, объединенных в группы. Стандартных средств настройки текста иногда недостаточно, если требуется изменить фон, шрифт или вовсе скрыть дублирующиеся названия. Рассмотрим подробнее несколько эффективных способов решения этой задачи.

Метод 1: Использование Условного оформления

Это самый быстрый способ изменить внешний вид заголовка, не прибегая к рисованию сложных макетов. Многие начинающие разработчики совершают ошибку, применяя оформление ко всему полю, из-за чего меняется вид и самих данных (цифр) в таблице. Чтобы этого избежать, проанализируем настройку Области использования.

  1. Перейдем на вкладку Настройки, затем на вкладку Условное оформление.
  2. Добавим новый элемент оформления (например, установим Цвет фона или Шрифт).
  3. В колонке Оформляемые поля выберем наш ресурс.
  4. Важный шаг: найдем колонку Область использования (она может быть скрыта в свойствах элемента). В открывшемся окне снимем все флажки (В группировке, В иерархии, В общем итоге) и оставим только один — В заголовке поля.

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

Метод 2: Создание индивидуальных Макетов

Если задача стоит сложнее — например, нужно объединить ячейки в шапке или создать многоуровневый заголовок, который СКД не формирует автоматически — нам помогут Макеты. Разберем по шагам, как правильно привязать макет к заголовку.

Рассмотрим ситуацию, когда ресурсы сгруппированы (например, под общим заголовком "Комплектующие"). Обычный макет ресурса с типом "Заголовок" здесь часто не срабатывает. Вместо этого выполним следующие действия:

  1. Перейдем на вкладку Макеты.
  2. Нажмем "Добавить макет" и выберем Макет заголовка группировки.
  3. В настройках выберем имя той группировки (строки или колонки), чью шапку мы хотим оформить.
  4. В табличном документе макета нарисуем нужную область, объединим ячейки, зададим цвета и границы.
  5. Чтобы СКД понимала, куда подставлять названия полей, в ячейках макета можно использовать параметры. В свойствах ячейки установим тип Параметр и укажем имя поля.

Если после применения макета вы заметили появление "двойной шапки" (ваша оформленная и стандартная ниже), необходимо зайти в Другие настройки этой группировки и установить параметр Расположение ресурсов в значение Нет или Горизонтально, а также проверить параметр Выводить заголовок.

Метод 3: Скрытие заголовка ресурса в кросс-таблицах ("Магия шахматки")

Часто в отчетах типа "Таблица" (где есть и строки, и колонки) над именами колонок нависает лишняя строка с названием самого ресурса (например, слово "Количество"). Это "съедает" полезное пространство. Выясним причину и применим проверенный "шаманский" метод настройки без использования макетов:

  1. В общих Выбранных полях всего отчета (самый верхний уровень дерева настроек) оставляем только сам ресурс.
  2. Переходим в настройки Группировки колонок. Здесь важно зайти во вкладку Выбранные поля конкретно этой группировки.
  3. Уберем флажок Автополе и добавим вручную только то поле, по которому идет группировка (например, Период или Склад). Это нужно повторить для всех вложенных уровней группировок колонок.
  4. Теперь главная деталь: в Других настройках на уровне корня отчета найдем параметр Расположение ресурсов и установим его в значение Вертикально.

После этих манипуляций заголовок ресурса из шапки исчезнет, и отчет станет выглядеть гораздо компактнее и профессиональнее. Для гибкой настройки отображения показателей подойдёт инструкция по выводу ресурса СКД только в одной колонке.

Метод 4: Динамическое изменение заголовков программным способом

Иногда название заголовка заранее неизвестно и должно подтягиваться из справочника или константы. В этом случае мы не можем жестко прописать его в схеме .xml. Проанализируем ситуацию, когда нам нужно программно изменить подписи перед выводом отчета. Мы можем обратиться к компоновщику настроек непосредственно в модуле объекта или формы.

Посмотрим на пример кода, который позволяет изменить заголовок ресурса "на лету":


// Получаем настройки компоновщика
Настройки = Отчет.КомпоновщикНастроек.Настройки;

// Перебираем выбранные поля в поисках нужного ресурса
Для Каждого ЭлементВыбора Из Настройки.Выбор.Элементы Цикл
    Если ТипЗнч(ЭлементВыбора) = Тип("ВыбранноеПолеКомпоновкиДанных") 
        И Строка(ЭлементВыбора.Поле) = "СуммаОстаток" Тогда
        
        // Устанавливаем новый заголовок из переменной или справочника
        ЭлементВыбора.Заголовок = "Остаток на " + Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy");
    КонецЕсли;
КонецЦикла;

Этот метод позволяет делать отчеты максимально гибкими, подстраивая наименования колонок под нужды конкретного пользователя или актуальные данные системы.

Резюме

Мы рассмотрели различные подходы к оформлению шапки в СКД. Подведем итог: если нужно просто поменять цвет — используйте Условное оформление с ограничением области действия. Если нужна сложная структура — рисуйте Макет заголовка группировки. А для борьбы с лишними строками в кросс-таблицах используйте комбинацию настроек Выбранных полей и Вертикального расположения ресурсов. Сочетание этих методов позволит вам решить любую задачу по визуализации данных в 1С.

← На главную