Как в отчете СКД переместить ресурсы из колонок в строки и убрать пустые столбцы

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При разработке отчетов на Системе компоновки данных (СКД) часто возникает задача изменить стандартное горизонтальное отображение числовых показателей (ресурсов) на вертикальное. Это необходимо, когда количество колонок слишком велико или когда заказчик привык видеть показатели (например, Трудозатраты или Время) в виде строк. В данной статье мы разберем, как трансформировать структуру отчета и избавиться от технических «артефактов», таких как пустые первые колонки.

Вертикальное расположение ресурсов

По умолчанию СКД выводит ресурсы в колонках, если они добавлены в выбранные поля. Чтобы изменить это поведение, проанализируем настройки расположения ресурсов. Рассмотрим пошагово, как это сделать:

  1. Перейдем на вкладку Настройки в схеме компоновки данных или в пользовательских настройках отчета.
  2. Выберем корень отчета или конкретную группировку, для которой нужно изменить отображение.
  3. Перейдем на закладку Прочие настройки.
  4. Найдем параметр Расположение ресурсов. Установим для него значение Вертикально.

Рассмотрим подробнее, что при этом происходит. При значении Горизонтально (стандартно) ресурсы идут слева направо в шапке отчета. При выборе значения Вертикально названия ресурсов перемещаются в строки, и их значения выводятся друг под другом для каждой записи или группировки.

Стоит отметить важный нюанс: этот параметр можно настраивать на разных уровнях. Если мы установим его для всего отчета, настройки применятся ко всем таблицам и спискам. Если же выбрать конкретную группировку в дереве настроек, у нее также будет своя вкладка Прочие настройки, где можно переопределить расположение ресурсов только для этой части данных. Это крайне полезно, если в одной части отчета ресурсы должны идти в ряд, а в другой — списком.

Удаление лишней первой колонки

После того как мы перевели ресурсы в вертикальный режим, часто возникает проблема: слева остается пустая колонка, которая раньше предназначалась для заголовков группировок строк. Если мы удалили все группировки строк, чтобы получить плоский список, СКД все равно может зарезервировать это место.

Проанализируем ситуацию и найдем способы решения этой проблемы. Существует три основных метода убрать технический столбец:

Способ 1: Отключение расположения группировок

Самый простой и эффективный метод — это управление параметром отображения группировок. Разберем алгоритм действий:

  1. В настройках отчета (или конкретной группировки) перейдем в Прочие настройки.
  2. Найдем параметр Расположение группировок.
  3. Установим значение Нет.

Это действие говорит системе, что нам не нужно выделять отдельное пространство под иерархию строк. В результате заголовочная часть строк исчезает, оставляя только область данных и ресурсов. Это именно то, что нужно для создания компактного вида отчета.

Способ 2: Использование фиктивной группировки

Если первый способ не помог (что иногда случается в сложных структурах типа «Таблица»), мы можем применить небольшую хитрость. Создадим группировку по «пустому» полю:

  1. Добавим новую группировку в структуру отчета.
  2. В поле группировки укажем детальные записи или создадим вычисляемое поле с пустым выражением (например, пустая строка "").
  3. В настройках этой группировки на вкладке Выбранные поля снимем флажок Авто и вручную добавим только нужные ресурсы.
  4. В Прочих настройках этой группировки установим Тип макета — Вертикально.

Такой подход позволяет нам полностью контролировать состав и порядок вывода полей, игнорируя стандартные механизмы отрисовки пустых заголовков.

Способ 3: Настройка ширины через условное оформление

Если столбец все равно виден и портит внешний вид, мы можем принудительно скрыть его, используя механизмы оформления. Выясним причину, по которой он остается: СКД может считать, что там должна быть информация о полях. Чтобы это обойти:

  1. Перейдем на вкладку Условное оформление.
  2. Добавим новое условие.
  3. В оформлении выберем параметры Максимальная ширина и Минимальная ширина, установив их значение в 0.
  4. В области использования выберем Везде, а в качестве оформляемых полей выберем то поле группировки, которое создает «пустоту» (обычно это системные поля или поля первой группировки).

Использование объекта «Таблица» вместо «Списка»

Если стандартный «Список» не поддается настройке, мы рекомендуем рассмотреть структуру Таблица. Это более мощный инструмент для трансформации осей отчета. Посмотрим на пример настройки:

  1. В структуру отчета добавим объект Таблица.
  2. В Строки таблицы добавим системное поле Авто (в него попадут наши ресурсы, если настроить их вертикально).
  3. В Колонки таблицы добавим поля, которые должны стать заголовками столбцов (например, Период или Подразделение).

Такая структура позволяет более прозрачно управлять тем, что идет по горизонтали, а что по вертикали. Ресурсы в данном случае будут вести себя как полноценные элементы строк, и «борьба» с пустыми ячейками станет гораздо проще.

Настройка заголовков при вертикальном выводе

При вертикальном расположении названий ресурсов (например, Трудозатраты, Время) они начинают дублироваться в каждой строке данных. Чтобы отчет не выглядел загроможденным, разберем еще несколько настроек:

Во-первых, проверьте параметр Расположение реквизитов в Прочих настройках. Значения Вместе или Отдельно позволяют управлять тем, как будут сгруппированы названия и значения.

Во-вторых, если названия ресурсов интуитивно понятны пользователю и не требуют расшифровки, можно зайти в Набор данных, выбрать поле ресурса и задать ему пустой Заголовок. Однако будьте осторожны: это может затруднить понимание отчета новыми пользователями.

Особенности экспорта в Excel

Проанализируем ситуацию, когда отчет нужно сохранить в формате .xlsx. При вертикальном расположении ресурсов СКД часто создает объединенные ячейки, что крайне неудобно для последующей фильтрации или обработки данных в Excel. Чтобы этого избежать:

  1. В Прочих настройках найдите параметры Выводить параметры и Выводить отбор.
  2. Установите их в значение Не выводить. Это уберет лишние шапки в начале файла.
  3. Убедитесь, что Расположение группировок установлено в Нет, как мы разбирали выше.

Это сделает структуру таблицы «чистой», без лишних пустых областей слева и сверху, что обеспечит корректную загрузку данных в сторонние программы.

Устранение пустых ячеек (дырок) в данных

Иногда после перемещения ресурсов в строки возникают «дыры» — пустые ячейки, если за конкретный период или по конкретному аналитику нет данных. Визуально это исправляется через Условное оформление.

Мы можем задать условие: если ресурс Не заполнен, то установить параметр Текст в значение 0 или прочерк —. Это придаст отчету завершенный и профессиональный вид.

Таким образом, комбинируя настройки Расположение ресурсов, Расположение группировок и используя возможности Условного оформления, мы можем добиться идеального визуального представления данных в СКД, полностью адаптировав отчет под требования бизнес-заказчика.

← На главную