При разработке отчетов в системе компоновки данных (СКД) часто возникает задача построения кросс-таблицы: например, по строкам выводится группировка Студент, а по колонкам — начисления и удержания (ВидСтипендии, ВидУдержания). При этом стандартный вид итоговых колонок не всегда удовлетворяет требованиям макета: требуется изменить цвет фона, шрифт, рамки или числовой формат именно для графы «Итого».
Нередко разработчики пытаются решить эту задачу созданием пользовательского макета ресурсов, но сталкиваются с тем, что оформление применяется только к ячейкам на пересечении детальных записей, а итоговые колонки остаются без изменений. Рассмотрим причины такого поведения платформы и подробно разберем все способы настройки оформления итогов в СКД.
Проанализируем механику работы макетов ресурсов в СКД. Когда мы создаем макет ресурса, платформа требует указать две группировки (для строк и для колонок) и их тип. По умолчанию для обеих группировок выставляется тип Заголовок.
В терминологии СКД тип макета Заголовок для ресурса означает пересечение строк и колонок, содержащих обычные значения группировок. Общие итоги таблицы и промежуточные итоги по горизонтали платформой как обычный заголовок не рассматриваются. Поэтому созданный макет с типами Заголовок / Заголовок оформляет исключительно тело таблицы, игнорируя итоговые столбцы.
Чтобы задействовать механизм макетов СКД именно для итогов, выполним по шагам следующую настройку:
Студент, оставив для нее тип Заголовок.ВидСтипендии. Вместо типа по умолчанию выберем Общий итог подвал (если итог выводится в конце строки справа) либо Общий итог заголовок (если итоги выводятся перед колонками).Обратим внимание на важный нюанс: макет ресурсов отвечает только за ячейки с данными. Заголовок самой итоговой колонки (шапка с текстом «Итого») данным макетом не управляется. Чтобы оформить саму шапку, добавим параллельно Макет группировки или Макет заголовка группировки для соответствующего поля с типом Общий итог заголовок или Общий итог подвал.
Также проверим глобальный стиль оформления отчета. Если на вкладке Настройки в разделе Другие настройки выбран предопределенный стиль (например, «Классический» или «Основной»), платформа может принудительно переопределять цвета ячеек. Чтобы макет отобразился в точности так, как нарисован в табличном документе, установим параметр Макет оформления в значение Без оформления.
Если цель заключается только в изменении цвета фона, текста, шрифта или формата чисел, создавать макеты вручную необязательно. Система компоновки данных предоставляет гибкий штатный механизм условного оформления.
Разберем по шагам, как применить оформление только к итогам:
Такой подход исключает необходимость рисования макетов в пикселях и автоматически сохраняет масштабируемость и адаптивность отчета при изменении состава полей.
Рассмотрим подход, к которому часто приходят разработчики, когда требуется полностью кастомизировать расчет и вывод итогов:
ВидСтипендии и ВидУдержания (устанавливаем свойство Расположение общих итогов в значение Нет).Всего начислено.Иногда предлагается вариант разделения отчета на две таблицы одна под другой, где первая таблица выводит детальные данные, а вторая — только итоги. Однако проанализируем ограничения такого подхода:
Таким образом, наиболее надежным и технически правильным решением является использование штатных типов макета ресурсов (Общий итог подвал) либо настройка области использования в Условном оформлении с параметром В итогах.