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

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

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

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

Почему возникают сложности с оформлением заголовков?

Основная причина заключается в том, что СКД при выводе отчета сама определяет области заголовков и назначает им стили по умолчанию. Условное оформление, которое мы настраиваем в схеме, обычно «привязывается» к значениям полей данных. Заголовки групп полей при этом остаются вне зоны влияния стандартных правил оформления, так как они не содержат данных, к которым можно применить условие.

Способ 1: Использование макетов оформления

Наиболее правильным и декларативным способом является использование Макетов оформления. Это штатный механизм 1С, который позволяет централизованно управлять внешним видом отчета.

  1. Откройте схему компоновки данных.
  2. Перейдите на вкладку Настройки.
  3. В поле Макет оформления выберите один из существующих стилей или создайте свой.
  4. В конструкторе макета оформления вы можете переопределить свойства для Заголовка группы и Заголовка поля.

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

Способ 2: Настройка макета заголовка

Если вам нужно точечное изменение стиля для конкретной группы, воспользуйтесь механизмом Макетов внутри настроек СКД:

  1. В окне настроек отчета перейдите на вкладку Макеты.
  2. Нажмите кнопку Добавить.
  3. В типе макета укажите Заголовок группировки (или соответствующую область).
  4. В поле Группировка укажите ту группу, для которой требуется изменить шрифт.
  5. В открывшемся поле редактирования Табличного документа введите название заголовка и установите нужные параметры шрифта (размер, начертание, цвет) через свойства ячейки.

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

Способ 3: Программная обработка табличного документа

Если вы работаете на устаревших версиях платформы (например, 8.2.13) или стандартные методы не позволяют добиться желаемого визуального эффекта, можно применить «костыльный» метод — программное изменение Табличного документа после его вывода.

Разберем, как это реализовать. После того как отчет был сформирован, мы можем обратиться к результирующему документу и изменить свойства областей программно.


Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки());
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(Макет);
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    
    // Вносим изменения в области заголовка
    Для Каждого Область из ДокументРезультат.Области Цикл
        Если СтрНайти(Область.Имя, "ЗаголовокГруппы") > 0 Тогда
            Область.Шрифт = Новый Шрифт(Область.Шрифт, , , Истина); // Устанавливаем жирный шрифт
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Важное примечание: Этот метод следует использовать с осторожностью. Программная правка Табличного документа делает отчет зависимым от структуры группировок. Если вы добавите новое поле или измените иерархию, адресация областей может нарушиться, что приведет к ошибкам в отображении заголовков.

Рекомендуем в первую очередь использовать Макеты оформления, так как они являются наиболее надежным инструментом. Применяйте программную правку только в том случае, когда другие способы не обеспечивают нужного результата из-за ограничений режима совместимости вашей информационной базы.

← На главную