Компактный отчёт на СКД: сворачиваем группировки и колонки

· 9 мин

Содержание

Отчёт на СКД выгрузил четыре тысячи строк, и руководитель просит «поменьше цифр». Свернуть колонки в СКД можно тремя способами: сгруппировать данные по колонкам, построить иерархию и скрыть детальные записи, оставив итоги. Какой из них подходит, зависит от того, что именно вы хотите свернуть.

Тема разрабатывающая и пользовательская одновременно. Что-то делается кнопкой «Настройки» прямо в отчёте, что-то требует правки схемы компоновки данных в конфигураторе или расширении. Ниже разобраны оба уровня. Речь идёт о платформе 8.3 с интерфейсом «Такси».

Что значит «свернуть» в отчёте на СКД

Слово «свернуть» применяют к трём разным вещам, и способы у них разные.

Что нужноКак делаетсяГде
Спрятать детальные строки, оставить итоги по группировкамУбрать детальные записи из структуры, оставить только группировкиНастройки отчёта, пользователь
Показывать группы с кнопкой «плюс/минус»Иерархия и уровни группировкиНастройки и сама группировка
Объединить несколько колонок в одну или убрать лишниеГруппировка колонок, выбор полей, расположение полейНастройки и схема

Сначала определите, что вы хотите видеть на выходе. Если нужно просто убрать ненужные поля, тратить время на иерархию не стоит.

Как устроена иерархия: от структуры отчёта до результата

Структура отчёта в СКД — дерево. В корне стоит сам отчёт, ниже группировки строк, а в ветке колонок — группировки колонок. Табличный документ строится по этому дереву.

Откройте настройки отчёта в пользовательском режиме. Если кнопки «Настройки» нет, она выключена разработчиком, и менять придётся в конфигураторе.

Что важно знать про дерево:

  • 📂 Группировка без полей — это детальные записи. Она выводит каждую строку источника.
  • 📁 Группировка с полем делит данные по значению этого поля и считает итоги.
  • 📊 Вложенная группировка уходит на уровень глубже и даёт «плюс/минус» в результате.
  • 🧱 Группировка колонок строит заголовки столбцов из значений поля, например месяцев или складов.

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

Иерархические группировки

Если поле иерархическое (номенклатура, подразделения, счета), у группировки появляется тип «Иерархия» и «Только иерархия». Первый показывает и родителей, и элементы внутри. Второй выводит только группы-родители.

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

Иерархия работает, если у справочника включено свойство иерархии. У обычного плоского справочника тип группировки «Иерархия» не добавит ничего.

Группировки и отборы: делаем отчёт компактным

Типичная ситуация: отчёт по продажам в разрезе контрагентов, номенклатуры и документов. Читать его невозможно, потому что на каждый контрагент приходится по сорок документов.

Порядок действий:

  1. Откройте настройки отчёта и перейдите на закладку со структурой.
  2. Выделите группировку детальных записей и отключите её — снимите флажок использования.
  3. Проверьте, что остались группировки по контрагенту и номенклатуре.
  4. Сформируйте отчёт заново.

Теперь вместо сорока строк у контрагента одна строка итога. Если документы понадобятся, включите флажок обратно.

Отборы вместо скрытия

Часто скрывать нечего — достаточно не загружать лишнее. Отбор срабатывает раньше вывода и ускоряет формирование, чего скрытие колонок не даёт.

Типовые отборы для компактности:

  • 🔹 только ненулевые остатки;
  • 🔹 только документы определённого вида;
  • 🔹 только значимые обороты — например, больше заданной суммы;
  • 🔹 только выбранные подразделения.

Отбор можно задать для всего отчёта или для отдельной группировки. Во втором случае он действует только на эту ветку структуры.

Выбор полей и порядок

На закладке выбранных полей оставьте минимум. Каждое поле в списке — колонка в таблице. Лишние можно отключить флажком, не удаляя, так что вернуть их можно за секунду.

Для группировки есть отдельный набор выбранных полей. Он определяет, что показывается в строках именно этой группы. Так можно вывести в верхней группе только названия, а в нижней — суммы.

Группировки по колонкам: как сжать горизонтальную таблицу

Когда колонок слишком много, виновата обычно группировка колонок по полю с множеством значений: дни месяца, склады, контрагенты. Отчёт расползается вправо.

Что делать:

  • сузить диапазон значений отбором (только нужные склады);
  • заменить поле группировки колонок на более крупное: вместо дней — недели или месяцы, вместо номенклатуры — группу номенклатуры;
  • перенести поле из колонок в строки, если смысл остаётся прежним.

Третий вариант самый честный. Отчёт, у которого 80 столбцов, плохо читается и на экране, и на бумаге. В строках те же данные уместятся вертикально и будут прокручиваться привычным способом.

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

Условное оформление: что оно скрывает, а что нет

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

Что реально сделать оформлением:

  • выделить итоги жирным и фоном, чтобы взгляд цеплялся за них, а не за детали;
  • приглушить серым строки с нулевыми значениями;
  • задать формат числа, чтобы убрать копейки и разделить разряды тысяч;
  • закрасить текст цветом фона, если значение надо оставить в таблице, но не показывать.

Последний приём — это маскировка, а не удаление. Значение остаётся в ячейке и попадёт в выгрузку в Excel. Для конфиденциальных данных так делать нельзя.

Если нужно реально убрать строки или поля, пользуйтесь отборами и отключением полей. Оформление — это про читаемость.

Итоги, расположение и табличный документ

Итоги определяют, как выглядит свёрнутый отчёт. Их настройки лежат отдельно от группировок.

Расположение итогов

У группировки есть параметр размещения итогов: в начале, в конце, в начале и в конце или без итогов. Для сворачивания удобнее итог в начале: он виден сразу, а детали под ним можно пролистать или скрыть.

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

Уровни в табличном документе

В готовом отчёте слева от строк виден значок структуры: у группировок есть кнопки «плюс» и «минус», а сверху слева — цифры уровней. Нажатие на цифру показывает данные до этого уровня. Это самый быстрый способ свернуть отчёт у пользователя: ничего не настраивая, нажали «2» и видите только итоги второго уровня.

Если значков нет, то при выводе структура не создана. Причина обычно в том, что отчёт собран вручную, а не по настройкам СКД.

Начальное состояние группировки

В свойствах группировки есть параметр начального состояния: развёрнута она при открытии или свёрнута. Если нужно, чтобы отчёт открывался свёрнутым, включите свёрнутое состояние. В разных релизах платформы название и место параметра могут различаться, поэтому ищите его в окне свойств группировки.

Пользователь после этого раскрывает нужные ветки сам, отчёт формируется быстрее и читается легче.

Параметры и варианты отчёта

Когда одну и ту же настройку приходится собирать вручную каждый день, пора сохранять её как вариант.

Что умеет вариант отчёта:

  • хранить структуру: какие группировки включены, а какие нет;
  • запоминать отборы и порядок;
  • хранить состав выбранных полей;
  • запоминать условное оформление.

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

Параметры данных — отдельная тема. Это значения, которые влияют на запрос: период, организация, вид остатков. Они задаются в блоке параметров и влияют на объём данных, а значит, косвенно на «компактность».

Для двух постоянных читателей — руководителя и бухгалтера — заведите два варианта. В первом только верхние итоги, во втором полная раскладка. Спорить, что именно показывать, больше не придётся.

Свёртка на стороне разработчика

Если вы пишете отчёт сами, часть работы удобно сделать в схеме.

Приёмы, которые применяет практик:

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

При выводе результата программно создают компоновщик и процессор вывода. В типовом отчёте это тот же код, что и в формах отчётов БСП; перепечатывать его вручную нужно только для нестандартных сценариев.

Пример: от 4 000 строк до одной страницы

Возьмём отчёт по продажам за квартал. Источник даёт 4 000 строк: 25 контрагентов, у каждого в среднем 160 документов реализации. Руководителю нужно видеть сумму по контрагентам и по месяцам.

Что меняем по шагам:

  1. Структура строк: группировка «Контрагент», внутри неё детальные записи. Отключаем детальные записи. Осталось 25 строк плюс общий итог, то есть 26.
  2. Структура колонок: сейчас в колонках группировка по дням, это около 90 столбцов. Заменяем поле на период с детализацией «Месяц». Получается 3 столбца плюс итоговый.
  3. Выбранные поля: оставляем сумму продаж и количество. Себестоимость и наценку отключаем флажками.
  4. Отбор: добавляем условие «Сумма больше нуля», чтобы возвраты и нулевые строки не засоряли таблицу.
  5. Сохраняем как вариант «Продажи по месяцам для руководителя».

В результате таблица 26 строк на 4 столбца вместо 4 000 строк на 90 столбцов. Вся исходная детализация остаётся в соседнем варианте отчёта, и вернуться к ней можно одним выбором из списка.

Проверьте итог: сумма по месяцам должна совпасть с суммой по контрагентам. Если не совпала, в одном из разрезов сработал отбор, которого нет в другом.

Выгрузка свёрнутого отчёта в Excel

При выгрузке в Excel структура группировок обычно сохраняется. Если на листе остались кнопки уровней, свёрнутые ветки раскрываются на месте, как и в 1С. Но скрытые оформлением значения (цвет текста равен цвету фона) в файле останутся видны. Передавайте за пределы организации только вариант, где лишнее убрано отбором и отключенными полями.

Перед отправкой свёрнутого отчёта
Выполнено: 0 / 4

Типичные ошибки и их причины

Список короткий, но каждая позиция встречается регулярно.

  • ❌ Отчёт после отключения детальных записей пустой. Причина: в структуре не осталось ни одной группировки с полем, а флажок использования снят у корневой.
  • ❌ Итоги не совпадают после сворачивания. Причина: у ресурса задано вычисление по группировке, и при смене структуры формула берёт другой уровень.
  • ❌ Кнопки «плюс/минус» не появились. Причина: отчёт выводится не через настройки структуры, а просто таблицей.
  • ❌ Иерархия не включается. Причина: поле не иерархическое или у справочника не включена иерархия.
  • ❌ Отчёт медленный, хотя выводит мало строк. Причина: запрос выбирает все детали, а сворачивание происходит только при выводе. Добавьте отбор в запрос.

Частые вопросы

Можно ли свернуть отчёт в СКД без доступа к конфигуратору?
Да. В пользовательских настройках отключите группировку детальных записей, уберите лишние поля и сохраните это как вариант отчёта.
Скрывает ли условное оформление данные?
Нет. Оно меняет вид ячеек, но значения остаются в результате и попадают в выгрузку в Excel.
Почему отчёт сворачивается, а считается всё равно долго?
Потому что отбор и группировка работают на уровне вывода, а запрос уже собрал все данные. Сократите объём отбором или параметром периода.
Как сделать, чтобы отчёт открывался сразу в свёрнутом виде?
Задайте начальное состояние группировки как свёрнутое и сохраните вариант по умолчанию.
Что быстрее всего показывает итоги второго уровня?
Цифры уровней в левом верхнем углу табличного документа. Нажмите нужную цифру, и ниже этого уровня строки спрячутся.