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