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