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