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

Справочники и Данные · 11 мин

Как убрать иерархию в 1С: пошаговая инструкция

Как убрать иерархию в 1С: отключение дерева групп, перенос элементов из папок, изменение вида иерархии справочника в конфигураторе и на форме списка.

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

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

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

Определяем, какая именно иерархия мешает

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

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

Маршрут решения

Как выбрать действие

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

Скрываем дерево групп в пользовательском режиме

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

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

В обычных формах (старые конфигурации на 8.2, «Управление торговлей 10.3», «Бухгалтерия 1.6») дерево групп убирается через кнопку «Иерархический просмотр» на командной панели табличного поля: один клик переключает список между иерархическим и плоским режимом.

Переключаем режим отображения: дерево, список, иерархический список

Форма списка иерархического справочника поддерживает три режима просмотра. Откройте меню «Ещё» в форме списка и найдите подменю «Режим просмотра» (в некоторых конфигурациях — «Вид списка»). Доступны варианты:

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

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

Настраиваем форму списка для всех пользователей

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

Более надёжный программный вариант — в модуле формы списка в обработчике ПриСозданииНаСервере установить отображение таблицы:

bsl
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Элементы.Список.Отображение = ОтображениеТаблицы.Список;
КонецПроцедуры

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

Убираем иерархию в конфигураторе: изменение вида иерархии

Когда иерархия мешает на уровне данных — например, внешняя система при обмене не понимает группы, или отчётность строится по плоскому списку — справочник делают неиерархическим. Порядок действий в конфигураторе:

Порядок действий
  1. 1
    Сделайте выгрузку информационной базы (Файл → Сохранить копию / dt) и проверьте, что копия разворачивается
  2. 2
    В конфигураторе откройте свойства справочника, перейдите на закладку «Иерархия»
  3. 3
    Снимите флаг «Иерархический справочник» или смените вид иерархии на нужный
  4. 4
    Обновите конфигурацию базы данных (F7), согласившись на реструктуризацию
  5. 5
    Проверьте, что данные на месте, а группы либо удалены, либо преобразованы ожидаемым образом

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

Альтернатива полному снятию — смена вида иерархии. На закладке «Иерархия» доступны варианты «Список» (иерархия элементов, когда элемент может быть подчинён другому элементу) и «Группы и элементы» (классические папки). Иногда достаточно перейти с «Группы и элементы» на «Список» или ограничить количество уровней иерархии, не отключая её полностью.

Переносим элементы из групп перед снятием иерархии

Чтобы после снятия иерархии не потерять логику данных, элементы из папок переносят на верхний уровень. В пользовательском режиме это делается вручную: выделите элементы в списке (Ctrl+A внутри группы или выбор с Shift/Ctrl) и перетащите их на корень дерева либо используйте команду «Переместить в группу» с выбором верхнего уровня. Для сотен элементов ручной перенос утомителен, но безопасен.

При больших объёмах используют групповую обработку: в типовых конфигурациях есть «Групповое изменение реквизитов» (раздел «Администрирование» → «Обслуживание»). Выберите справочник, установите отбор по нужной группе и измените реквизит «Родитель» на пустое значение. Обработка выполняется в транзакции и показывает число изменённых элементов.

bsl
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура ГДЕ НЕ ЭтоГруппа");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
	Объект = Выборка.Ссылка.ПолучитьОбъект();
	Объект.Родитель = Справочники.Номенклатура.ПустаяСсылка();
	Объект.Записать();
КонецЦикла;

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

Проверяем результат и типичные ошибки

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

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

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

Форма списка
Норма

Открывается плоской, все элементы видны без папок

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

Часть элементов пропала или дерево осталось

Поиск и подбор
Норма

Элементы из бывших групп находятся по наименованию

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

Подбор не находит часть позиций

Отчёты и документы
Норма

Суммы и отборы совпадают с данными до изменения

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

Отчёт по группам пуст или выдаёт ошибку

Ссылочная целостность
Норма

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

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

Есть ссылки на удалённые группы

Итог

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

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

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

Можно ли убрать иерархию только для одного пользователя?

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

Что будет с группами после снятия флага «Иерархический» в конфигураторе?

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

Почему после снятия иерархии перестал работать отчёт?

Частая причина — отбор или группировка вида «В иерархии» по группе справочника. Когда иерархии нет, такой отбор теряет смысл. Найдите в отчёте, схеме компоновки или коде все обращения к иерархии и замените их на отбор по конкретным элементам или дополнительному реквизиту.

Как заменить группы, если классификация всё же нужна?

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

Можно ли ограничить глубину иерархии, не убирая её полностью?

Да. В свойствах справочника на закладке «Иерархия» есть параметр «Количество уровней иерархии». Установите, например, 1 — тогда вложенность папок в папки станет невозможной, а существующие более глубокие уровни потребуется привести к новой структуре при реструктуризации.

Слетит ли настройка плоского списка при обновлении конфигурации?

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