При разработке отчетов в системе компоновки данных (СКД) с использованием элемента структуры Таблица разработчики часто сталкиваются с ситуацией, когда нечисловые поля (например, даты, текстовые комментарии или ссылки) вместо ячеек на пересечении строк и колонок попадают в шапку таблицы в виде дополнительных группировок. Разберем механизм работы таблицы в СКД, выясним причину такого поведения и пошагово настроим корректный вывод данных.
Проанализируем архитектуру элемента структуры Таблица. В СКД таблица состоит из трех ключевых областей:
Если поле добавлено в группировку колонок или строк как обычное поле (или детальные записи), СКД интерпретирует его как заголовок матрицы и выводит на уровень шапки. Для того чтобы значение попадало непосредственно внутрь ячейки на пересечении строки и колонки, это поле обязательно должно быть зарегистрировано на вкладке Ресурсы схемы компоновки данных.
Разберем по шагам, как правильно перевести нечисловое поле в состав ресурсов и настроить структуру отчета.
ДатаСтажа или ДатаСобытия) в список ресурсов.Сумма() для дат и строк не подходит, используем функции выбора экстремума:
Максимум(ДатаСтажа)
или
Минимум(ДатаСтажа)
СоединитьСтроки(Формат(ДатаСтажа, "ДФ=dd.MM.yyyy"), Символы.ПС)
ВидСтажа). Удалим оттуда поле даты или лишние детальные записи.ДатаСтажа.Поскольку для поля даты был создан ресурс с выражением агрегации, СКД по умолчанию попытается рассчитать общие итоги по горизонтали и вертикали таблицы. Для дат или текстовых данных вывод итоговых ячеек обычно лишен бизнес-смысла. Отключим их отображение.
Нет.Нет.Нет в свойствах конкретных группировок.После применения данных настроек дата будет выводиться строго в ячейках таблицы на пересечении соответствующих строк и колонок без дублирования в шапке и без лишних строк итогов.