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