Сворачивание строк и табличных частей в 1С 8.3

· 9 мин

Содержание

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

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

Что в 1С можно свернуть, а что нет

Сначала определите, с каким объектом вы работаете. От этого зависит весь дальнейший путь.

ОбъектСворачивается?Как
Табличная часть документа (плоская)Нет, строк-родителей нетСпрятать группу формы или уменьшить высоту
Список справочника с группамиДаЗначок ветки, стрелки, Num -
Дерево значений на формеДаТе же клавиши и методы
Отчёт с группировкамиДаЗначки «+» и «−» слева от группировки
Группа формы с таблицей внутриДа, если задано поведениеЗаголовок группы, стрелка

Признак «сворачиваемости» простой: слева от строки есть значок плюса или стрелка. Нет значка, значит, вложенности нет, и никакая клавиша не поможет.

Если у вас в документе табличная часть с очень длинным списком, сворачивать её бессмысленно. Помогает другое: отбор, сортировка или переход по клавише Ctrl+End к последней строке.

Свернуть ветки мышью и стрелками

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

С клавиатуры удобнее. Встаньте на строку-группу и нажмите:

  • 🔽 Стрелка вправо или Num + — раскрыть выбранную ветку;
  • 🔼 Стрелка влево или Num - — свернуть выбранную ветку;
  • ⏬ Num * — раскрыть ветку со всеми вложенными уровнями.

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

Клавиши Num + и Num - работают с цифровой клавиатуры. На ноутбуках без неё пользуйтесь стрелками или мышью. Через удалённый рабочий стол цифровые клавиши иногда не передаются, это не ошибка 1С.

Свернуть все ветки сразу

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

Другой вариант: переключить режим просмотра списка. Он меняет вид иерархии целиком, а не отдельную ветку.

Режимы просмотра иерархического справочника

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

  1. Иерархический список — группы и элементы в одном списке, у групп есть значки. Сворачивать можно.
  2. Дерево — ветки слева, элементы выбранной группы справа или в той же таблице. Сворачивать можно.
  3. Список — иерархия отключена, все элементы идут подряд. Сворачивать нечего.

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

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

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

Группировки в отчётах

В отчётах на системе компоновки данных (ведомости, анализ счетов, карточки) слева от строк группировки стоят значки «+» и «−». Нажатие раскрывает или сворачивает группу, как в списке.

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

Для типового отчёта порядок такой:

  1. Сформируйте отчёт.
  2. Нажмите кнопку настроек в панели отчёта.
  3. Перейдите в раздел группировок и уберите лишние уровни.
  4. Сформируйте отчёт заново.

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

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

Как убрать с формы всю таблицу вместе с группой

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

Настройка формы пользователем

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

Минус способа: скрытая таблица недоступна для ввода, а документ без заполненной табличной части не проведётся, если она обязательна. Прячьте только то, что не нужно для текущей работы.

Сворачиваемая группа в конфигураторе

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

После этого у группы в режиме 1С:Предприятия появляется стрелка. Клик по заголовку сворачивает всё содержимое, включая таблицу.

  • Группу нужно положить в форму как отдельный элемент, а не оставлять таблицу прямо в корне формы.
  • Если в группе несколько таблиц или полей, сворачиваться будут все сразу.
  • Начальное состояние (свёрнуто или развёрнуто) задаётся отдельным свойством группы. Точное название ищите в палитре свойств рядом с поведением.

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

Управление сворачиванием из кода

Если дерево на форме должно открываться свёрнутым или, наоборот, раскрываться при открытии, это делают программно. У таблицы формы, показывающей дерево или иерархию, есть методы Развернуть и Свернуть. Они принимают идентификатор строки.

Типичный сценарий: после заполнения дерева раскрыть корневые строки.

&НаКлиенте
Процедура РазвернутьКорневые()
	Для Каждого Строка Из Дерево.ПолучитьЭлементы() Цикл
		Элементы.Дерево.Развернуть(Строка.ПолучитьИдентификатор(), Ложь);
	КонецЦикла;
КонецПроцедуры

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

Обратный вариант — свернуть строки:

&НаКлиенте
Процедура СвернутьВсе()
	Для Каждого Строка Из Дерево.ПолучитьЭлементы() Цикл
		Элементы.Дерево.Свернуть(Строка.ПолучитьИдентификатор());
	КонецЦикла;
КонецПроцедуры

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

Запоминание состояния

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

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

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

  1. Курсор не на группе. Стрелка влево на элементе просто переводит выше. Встаньте на строку, у которой есть значок ветки.
  2. Режим «Список». Иерархия отключена. Верните иерархический просмотр.
  3. Плоская таблица. В табличной части документа родителей нет. Свернуть можно только группу формы.
  4. Фокус в другом элементе. Если курсор в поле быстрого поиска или в строке отбора, клавиши идут туда. Щёлкните по самой таблице.
  5. Нет цифровой клавиатуры. Используйте стрелки.
  6. Форма зафиксирована разработчиком. Видимость и вид списка могут быть заданы так, что пользовательской настройкой их не поменять.

Если после этих проверок ничего не изменилось, посмотрите, нет ли в конфигурации расширения, которое переопределяет форму. Отключите расширение на копии базы и сравните поведение.

Компактный вид вместо сворачивания

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

  1. Уберите лишние колонки. Через «Изменить форму» снимите видимость с колонок, которые вы не используете: артикул, штрихкод, служебные поля. Строка станет уже, а таблица читабельнее.
  2. Сократите шапку формы. Реквизиты шапки документа часто занимают больше места, чем сама таблица. Переместите редко нужные поля в группу «Дополнительно» или спрячьте.
  3. Откройте документ в отдельном окне. Если форма тесная из-за закладок и панелей, окно на весь экран даёт больше строк без прокрутки.
  4. Используйте масштаб интерфейса. Масштаб задаётся в настройках программы для пользователя, а не для отдельной формы. После смены он применяется ко всем окнам, поэтому подбирайте значение один раз.

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

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

Когда настройка формы не сохраняется

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

Что делать, если нужно «убрать лишние строки», а не свернуть

Иногда за вопросом «как свернуть» скрывается другая задача: человек хочет видеть меньше строк. Свёртка здесь не панацея. Есть более подходящие инструменты:

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

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

Что именно вы хотите свернуть?

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

Можно ли свернуть табличную часть документа «Поступление товаров»?
Саму таблицу нельзя: в ней нет вложенных строк. Можно спрятать группу формы, если в ней есть сворачиваемое поведение, либо убрать таблицу через настройку формы.
Какой клавишей сворачивается ветка в списке?
Стрелка влево или Num - на выбранной группе. Num + и стрелка вправо раскрывают, Num * раскрывает все вложенные уровни.
Как свернуть все группы справочника одним действием?
Отдельной команды нет. Переключите режим просмотра на «Список», и иерархия исчезнет, либо сворачивайте корневые группы по очереди стрелкой влево.
Почему в справочнике пропали группы?
Скорее всего, включён режим просмотра «Список» или установлен отбор. Верните иерархический вид через меню «Еще» в командной панели списка и сбросьте отбор.
Запоминает ли 1С, какие ветки я раскрыл?
Сама платформа состояние веток при закрытии формы не хранит. Если нужно сохранять, разработчик записывает его в пользовательские настройки.