Отчеты и Аналитика · 8 мин
Как в 1С свернуть иерархию: списки, деревья и отчёты
Как в 1С свернуть иерархию в списках, дереве значений и отчётах СКД: горячие клавиши, настройки группировок, программные методы и типичные ошибки.
Под «сворачиванием иерархии» в 1С пользователи обычно понимают три разные задачи: свернуть развёрнутое дерево в форме списка или документа, убрать детализацию в отчёте на СКД до уровня групп и программно свернуть дерево значений при разработке. Подход в каждом случае свой, и путаница между ними — главная причина того, что «ничего не сворачивается».
В тонком клиенте и веб-клиенте деревья и группировки управляются кнопками командной панели, контекстным меню и горячими клавишами. В отчётах на системе компоновки данных уровень детализации задаётся структурой настроек, а не кликами по строкам. В коде используются методы объекта «ДеревоЗначений» и свойства табличного поля.
Ниже разобраны все три сценария с конкретными действиями, ограничениями и способами проверить результат. Инструкции применимы к типовым конфигурациям на управляемых формах (БП, УТ, ERP, ЗУП); в обычных формах названия команд могут отличаться.
Определяем, где именно нужно свернуть иерархию
Прежде чем искать кнопку, определите, с каким объектом работаете. Это может быть иерархический список справочника (номенклатура, контрагенты, статьи затрат), дерево в документе или обработке, отчёт с группировками или план видов характеристик. Механика сворачивания у них разная.
Признак иерархического списка — пиктограммы папок слева от наименований и возможность переключения режима «Список / Дерево». Признак отчёта СКД — кнопки «Сформировать» и «Настройки», а результат строится заново после изменения параметров.
Сворачивается кнопками панели или горячими клавишами
Меняется в настройках отчёта, а не кликами
Управляется командами формы или кодом
Сворачиваем иерархию в списке справочника
Откройте список и убедитесь, что включён режим иерархического просмотра: «Ещё → Режим просмотра → Дерево» (в ряде конфигураций — «Иерархический список»). Без этого режима сворачивать нечего — элементы показываются плоским списком.
Чтобы свернуть всё дерево сразу, откройте меню «Ещё» и найдите команду «Свернуть все» либо используйте сочетание Ctrl+Shift+«минус» на цифровом блоке клавиатуры. Разворачивание всего дерева выполняется командой «Развернуть все» или Ctrl+Shift+«плюс». Отдельная ветка сворачивается кликом по значку «минус» у папки или клавишей «минус» на выделенной строке.
В некоторых конфигурациях список запоминает состояние развёрнутости между сеансами, в других при каждом открытии дерево разворачивается заново. Это поведение зашито в форму и пользователем не настраивается.
- 1Откройте справочник и включите режим «Дерево» через «Ещё → Режим просмотра»
- 2Для сворачивания всего: «Ещё → Свернуть все» или Ctrl+Shift+«минус»
- 3Для одной ветки: клик по значку у папки или клавиша «минус» на строке
- 4Проверьте: видны только группы верхнего уровня, элементы скрыты
Сворачиваем группировки в отчёте на СКД
В отчётах на системе компоновки данных «иерархия» — это уровни группировок: например, «Склад → Номенклатура → Документ». Чтобы свернуть отчёт до верхнего уровня, откройте «Настройки», перейдите на вкладку «Группировка» и удалите или отключите нижние уровни, оставив только нужный. После этого нажмите «Сформировать».
Если удалять группировки нельзя (отчёт используется в разных видах), есть альтернатива: в расширенных настройках группировки снимите флажок использования у вложенных группировок либо сохраните несколько вариантов отчёта — детальный и свёрнутый — через «Ещё → Сохранить вариант отчёта».
Обратите внимание: в уже сформированном табличном документе тоже есть группировки строк. Их можно свернуть кнопками уровней (цифры 1, 2, 3 в левом верхнем углу табличного документа) или через меню «Таблица → Группировки». Это визуальное сворачивание: данные в отчёте остаются полными, скрывается только отображение.
Программное сворачивание дерева значений
При разработке форм дерево значений сворачивается обходом строк и методом свёртки элемента формы. Типовой приём — после заполнения дерева пройти по строкам верхнего уровня и вызвать сворачивание для каждой:
Для Каждого Строка Из Дерево.ПолучитьЭлементы() Цикл
Элементы.ДеревоФормы.Свернуть(Строка.ПолучитьИдентификатор());
КонецЦикла;
Метод Свернуть() принимает идентификатор строки, а не саму строку — это частая ошибка. Для разворачивания используется Развернуть(Идентификатор, СПодчиненными), где второй параметр управляет раскрытием всей ветви.
Если нужно «свернуть» данные, а не отображение — например, агрегировать строки дерева до уровня групп — используйте свёртку таблицы значений методом Свернуть("КолонкиГруппировок", "КолонкиСумм") либо запрос с итогами по иерархии (ИТОГИ ПО ... ИЕРАРХИЯ).
Таблица.Свернуть("Номенклатура", "Количество, Сумма");Типичные ошибки и ограничения
Самая распространённая ошибка — попытка свернуть отчёт кликами по строкам, когда требуется изменить настройки СКД. Вторая — сворачивание табличного документа с последующей печатью: скрытые группировкой строки могут не попасть в печатную форму так, как ожидается, поэтому перед печатью проверяйте результат в предпросмотре.
В веб-клиенте часть горячих клавиш перехватывается браузером, поэтому надёжнее пользоваться командами меню «Ещё». В тонком клиенте сочетания Ctrl+Shift+«плюс/минус» работают именно с цифрового блока клавиатуры — на ноутбуках без numpad используйте меню.
Как проверить результат
После сворачивания списка на экране должны остаться только папки верхнего уровня; развёрнутые ветки помечаются значком «минус», свёрнутые — «плюс». Если часть веток осталась развёрнутой, повторите команду «Свернуть все» — команда применяется ко всему дереву, но при большом объёме данных отработка может занять заметное время.
В отчёте проверяйте две вещи: итоги по группам должны совпадать с итогами детального варианта, а в настройках не должно остаться активных нижних группировок. Расхождение итогов обычно означает, что при удалении группировки потерялись отборы или ресурсы, привязанные к ней.
Как проверить результат
Видны только группы верхнего уровня
Часть веток развёрнута или список пуст
Совпадают с итогами детального варианта
Суммы изменились — проверяйте ресурсы и отборы
Отчёт сразу строится свёрнутым
Детализация возвращается — настройки не сохранены
Часто задаваемые вопросы
Можно ли сделать, чтобы список всегда открывался свёрнутым?
В типовых конфигурациях такой пользовательской настройки обычно нет: состояние дерева либо запоминается платформой, либо сбрасывается. Гарантированно свёрнутое открытие реализуется доработкой формы — программным сворачиванием дерева в обработчике ПриОткрытии.
Почему команда «Свернуть все» неактивна?
Чаще всего список находится в плоском режиме просмотра. Переключитесь через «Ещё → Режим просмотра» в режим «Дерево» или «Иерархический список» — после этого команды сворачивания станут доступны.
Как свернуть отчёт, не меняя его настройки?
Используйте кнопки уровней группировки в левом верхнем углу сформированного табличного документа (цифры 1, 2, 3). Это скроет детальные строки только на экране; при следующем формировании отчёт снова будет полным.
Чем свёртка таблицы значений отличается от сворачивания дерева?
Метод Свернуть() у таблицы значений агрегирует данные: строки объединяются, числовые колонки суммируются. Сворачивание дерева на форме меняет только отображение — данные остаются без изменений.
Работают ли горячие клавиши сворачивания в веб-клиенте?
Не всегда: браузер может перехватывать сочетания клавиш. Надёжный способ в веб-клиенте — команды меню «Ещё» и клики по значкам групп в списке.
Что важно запомнить
Сворачивание иерархии в 1С зависит от контекста: в списках — команда «Свернуть все» или Ctrl+Shift+«минус», в отчётах СКД — настройка группировок, в коде — метод Свернуть() с идентификатором строки. Перед действием определите тип объекта, после — проверьте итоги и повторное формирование.