К статье
Практический материал

Отчеты и Аналитика · 10 мин

Как свернуть группировки в отчете 1С

Как свернуть группировки в отчете 1С: настройка начальной свертки в СКД, кнопки управления в форме отчета, программные способы и типичные ошибки.

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

Способ зависит от того, кто вы и что за отчет перед вами. Обычный пользователь может сворачивать и разворачивать группы кнопками в форме отчета, не меняя настройки. Пользователь с правами настройки или разработчик может задать в схеме компоновки данных (СКД) режим, при котором отчет всегда формируется со свернутыми группировками. Ниже разобраны оба сценария для управляемых форм (1С:Предприятие 8.3, типовые конфигурации вроде ERP, УТ, БП, КА) и программный вариант.

Как свернуть группировки в уже сформированном отчете

В типовых конфигурациях на управляемых формах отчет строится на базе СКД, и в форме есть штатные средства управления группировками. После формирования отчета найдите на командной панели кнопки в виде цифр (1, 2, 3…) или пункт меню «Ещё» → «Уровень группировок». Цифра обозначает уровень вложенности: нажав «1», вы свернете отчет до первого уровня группировки, «2» — до второго и так далее.

В некоторых конфигурациях эта функция называется «Свернуть группировки» / «Развернуть группировки» и находится в меню «Ещё» командной панели табличного документа. Повторное нажатие разворачивает структуру обратно. Команда действует только на отображение уже сформированного результата — настройки отчета при этом не меняются, и при следующем формировании отчет снова будет развернут.

Если нужно развернуть или свернуть отдельный узел, щелкните по значку «минус» или «плюс» в начале строки группировки — так же, как в дереве проводника. Это работает, когда результат выведен в режиме иерархического отображения, что является поведением по умолчанию для табличных документов СКД.

Порядок действий в форме отчета
  1. 1
    Сформируйте отчет кнопкой «Сформировать»
  2. 2
    Найдите на командной панели кнопки уровней группировок (цифры) или откройте меню «Ещё»
  3. 3
    Выберите нужный уровень — отчет свернется до указанной глубины
  4. 4
    Для точечной работы щелкайте значки «+»/«−» у конкретных строк группировок

Как настроить отчет, чтобы он формировался свернутым

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

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

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

Настройка состояния группировки в конфигураторе

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

Среди параметров вывода найдите «Состояние» — оно принимает значения «Развернут» и «Свернут». Установите «Свернут» для тех уровней, которые не должны раскрываться автоматически. Настройку можно задать отдельно для каждой группировки, что позволяет, например, оставить развернутым верхний уровень (организации), а вложенные (контрагенты, документы) выводить свернутыми.

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

Программное управление состоянием группировок

Когда отчет формируется программно — из обработки, регламентного задания или при открытии формы — состоянием группировок можно управлять через объект настроек компоновщика. Значение состояния задается в параметрах вывода группировки с помощью значения параметра «СостояниеГруппировки».

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

bsl
Для Каждого Элемент Из КомпоновщикНастроек.Настройки.Структура Цикл
    Если ТипЗнч(Элемент) = Тип("ГруппировкаКомпоновкиДанных") Тогда
        Элемент.Состояние = СостояниеЭлементаКомпоновкиДанных.Свернут;
    КонецЕсли;
КонецЦикла;

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

Как проверить, что свертка работает правильно

После настройки сформируйте отчет и убедитесь, что структура ведет себя как ожидается. Свернутый отчет должен показывать строки группировок с итогами, а детальные записи под ними — скрываться до щелчка по значку разворота. Итоги при свертке не пересчитываются и не теряются: сворачивание влияет только на отображение.

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

Контрольные точки

Как проверить результат

Внешний вид после формирования
Норма

Видны только строки группировок с итогами, детали скрыты

Тревожный признак

Отчет по-прежнему выводит все строки развернутыми

Итоги по группам
Норма

Суммы в строках группировок совпадают с итогами развернутого варианта

Тревожный признак

Итоги отличаются — проверьте, не изменили ли вы структуру, а не только состояние

Сохраненный вариант
Норма

При выборе варианта отчет сразу формируется свернутым

Тревожный признак

Настройка сбрасывается — вариант не сохранен или перезаписан типовым

Типичные ошибки и ограничения

Самая частая ошибка — попытка найти кнопку свертки в отчете, построенном не на СКД, а выводимом в табличный документ программно «вручную». В таких отчетах штатных кнопок уровней группировок нет, и свернуть можно только те области, для которых разработчик создал группировки строк табличного документа (методы НачатьГруппуСтрок/ЗакончитьГруппуСтрок). Если групп строк нет, сворачивать нечего.

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

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

Типичные ошибки
01
Сохранение изменений в типовой вариант отчета — настройки теряются при обновлении конфигурации
02
Использование отбора вместо свертки — данные пропадают из отчета вместо скрытия
03
Установка «Свернут» не для той группировки — визуально ничего не меняется
04
Ожидание эффекта без переформирования — изменение настроек СКД применяется только при новом формировании

Альтернативы свертке: когда лучше изменить структуру

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

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

Сравнение вариантов

Свертка группировок

Детали скрыты, но доступны одним щелчком. Подходит, когда детализация нужна периодически. Отчет формируется полностью.

Удаление уровня группировки

Детали не формируются вообще. Отчет быстрее и легче, но вернуть детализацию можно только через настройки.

Отчет-расшифровка

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

Часто задаваемые вопросы

Почему в форме отчета нет кнопок свертки группировок?

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

Сохранится ли свернутое состояние при следующем открытии отчета?

Нет, ручная свертка действует только на текущий сформированный результат. Чтобы отчет всегда открывался свернутым, установите параметр «Состояние» = «Свернут» в настройках группировки и сохраните вариант отчета.

Влияет ли свертка на итоги и на выгрузку в Excel?

На итоги свертка не влияет — суммы остаются теми же. При выгрузке в Excel структура группировок обычно сохраняется, и в Excel появляются собственные кнопки сворачивания строк в левой части листа.

Можно ли свернуть группировки в отчете на обычных формах (8.2)?

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

Что делать, если настройка «Состояние» установлена, но отчет все равно развернут?

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

Итог

Что важно запомнить

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