Родитель элемента справочника в 1С 8.3: создаём группу, переносим позиции и настраиваем иерархию

· 9 мин

Содержание

Чтобы добавить родителя в 1С, откройте список справочника и нажмите Создать группу (или Ctrl+F9). Затем выделите нужные элементы и перенесите их в группу командой Ещё → Переместить в группу (Ctrl+Shift+M). Новая группа станет родителем для перенесённых позиций.

Типичная ситуация: в номенклатуре за пару лет накопилось 800 позиций одним списком. Бухгалтер хочет видеть отдельно «Канцтовары», «Хозтовары» и «Запчасти», а в отчётах получать итог по каждой папке. Это и есть работа с родителем: в 1С так называется группа, в которую входит элемент иерархического справочника. Механизм общий для платформы 8.3, поэтому порядок действий одинаков в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на интерфейсе «Такси».

Что проверить в справочнике до создания групп

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

📌 Признаки иерархического справочника:

  • в командной панели списка есть кнопка Создать группу;
  • в меню Ещё → Режим просмотра доступны варианты «Иерархический список» и «Дерево»;
  • у элементов в списке видны значки папок рядом с группами.

В 1С есть два вида иерархии, и от них зависит, кто может быть родителем.

Вид иерархииКто бывает родителемПример справочника
Иерархия групп и элементовтолько группа (папка)Номенклатура, Контрагенты, Статьи затрат
Иерархия элементовлюбой элементПодразделения

В первом случае папка и элемент — разные сущности. У группы обычно меньше реквизитов, в ней нельзя, например, указать артикул или ИНН. Во втором случае групп нет вовсе: одно подразделение просто подчиняется другому.

Не путайте родителя с владельцем. Родитель — это папка внутри того же справочника. Владелец — элемент другого справочника. Например, договор принадлежит контрагенту как владельцу, а сам контрагент может лежать в группе «Поставщики» как в родителе.

Перед массовой перестановкой продумайте схему папок на бумаге. Две-три ступени вложенности читать удобно. Шесть ступеней превращают поиск позиции в долгое раскрытие дерева.

Как создать группу-родителя в справочнике 1С

Пример ниже на справочнике «Номенклатура» в Бухгалтерии 3.0, но шаги те же для любого справочника с иерархией групп.

Создание группы верхнего уровня

  1. Откройте справочник: Справочники → Товары и услуги → Номенклатура.
  2. Переключите вид: Ещё → Режим просмотра → Иерархический список. Так вы видите, в какой папке находитесь.
  3. Встаньте на самый верхний уровень списка.
  4. Нажмите Создать группу или Ctrl+F9.
  5. Введите наименование, например «Канцтовары».
  6. Нажмите Записать и закрыть.

Группа появится в списке со значком папки.

Создание вложенной группы

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

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

Новый элемент сразу в нужной папке

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

Где найти справочники с группами в Бухгалтерии 3.0

СправочникПуть в менюТипичные папки
НоменклатураСправочники → Товары и услуги → НоменклатураМатериалы, Товары, Услуги
КонтрагентыСправочники → Покупки и продажи → КонтрагентыПокупатели, Поставщики, Бюджет
Статьи затратСправочники → Доходы и расходы → Статьи затратАренда, Связь, Транспорт

Если нужного справочника нет в меню, найдите его через Главное меню → Все функции (команда включается в параметрах программы).

Как ориентироваться в списке с папками

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

  • 🔎 Для поиска по всему справочнику переключитесь в Ещё → Режим просмотра → Список. Элементы покажутся плоско, без папок.
  • 🌳 Режим «Дерево» показывает всю структуру сразу, им удобно проверять результат раскладки.
  • ↩️ Строка с папкой и стрелкой вверх в иерархическом списке возвращает на уровень родителя.

Как перенести элементы справочника в новую группу

Создать папку — полдела. Дальше в неё нужно переложить уже существующие позиции. Есть три способа.

Способ 1. Команда «Переместить в группу»

Самый надёжный путь для десятков и сотен позиций.

  1. Выделите элементы. Отдельные строки — с зажатым Ctrl, диапазон — с Shift.
  2. Откройте Ещё → Переместить в группу или нажмите Ctrl+Shift+M.
  3. В окне выбора укажите группу-приёмник.
  4. Подтвердите выбор.

Все выделенные элементы сменят родителя за одну операцию.

Способ 2. Перетаскивание мышью

В режимах «Иерархический список» и «Дерево» строку можно перетащить на папку. Удобно для двух-трёх позиций. Для больших объёмов ненадёжно: рука дрогнула — и товар уехал не в ту группу.

Способ 3. Поле группы в карточке

Откройте элемент, выберите новую группу в поле родителя и запишите. Подходит, когда вы и так редактируете карточку.

СпособКогда удобенНа что смотреть
Переместить в группумного позиций, точный переносправильно ли выделены строки
Перетаскивание1–3 позицииточность попадания на папку
Поле в карточкеправка одного элементане забыть записать карточку

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

Программный перенос

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

Группа = Справочники.Номенклатура.СоздатьГруппу();
Группа.Наименование = "Канцтовары";
Группа.Записать();

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

Метод Выбрать() с первым параметром-родителем перебирает только непосредственных потомков указанной группы. Пустая ссылка означает корень справочника.

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

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

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

Свойства находятся в палитре свойств справочника, на вкладке «Иерархия» окна редактирования объекта:

  • ✅ Иерархический справочник — главный флажок, без него родителя нет;
  • 🗂 Вид иерархии — «Иерархия групп и элементов» или «Иерархия элементов»;
  • 🔢 Ограничение количества уровней иерархии и Количество уровней — запрет на слишком глубокую вложенность;
  • ⬆️ Размещать группы сверху — папки в списке идут раньше элементов.

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

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

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

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

Ошибки при назначении родителя и как их исправить

Ниже — ситуации, на которых чаще всего застревают при раскладке справочника.

Диагностика: выберите симптом

Отдельно про удаление. Когда вы помечаете на удаление группу, 1С помечает и всё её содержимое. Перед этим переложите нужные позиции в другие папки, иначе они уйдут вместе с группой при удалении помеченных объектов.

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

Ради итогов по папкам иерархию обычно и строят. В 1С есть три инструмента.

Отбор «В группе»

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

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

Группировка с типом «Иерархия»

В расширенных настройках отчёта, на вкладке структуры, у группировки по справочнику есть тип:

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

«Только иерархия» удобна для руководителя: оборот по «Канцтоварам» одной строкой, без 300 строк скрепок и ручек.

Пример. В группе «Канцтовары» две подгруппы: «Бумага» с продажами 120 000 ₽ и «Письменные принадлежности» с продажами 45 000 ₽. При типе «Иерархия» отчёт покажет итог по «Канцтоварам» 165 000 ₽ и раскроет обе подгруппы ниже.

Иерархия в запросах

Программист фильтрует данные по родителю конструкцией В ИЕРАРХИИ:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    Номенклатура.Ссылка,
|    Номенклатура.Наименование
|ИЗ
|    Справочник.Номенклатура КАК Номенклатура
|ГДЕ
|    Номенклатура.Ссылка В ИЕРАРХИИ (&Группа)
|    И НЕ Номенклатура.ЭтоГруппа";
Запрос.УстановитьПараметр("Группа", Группа);
Результат = Запрос.Выполнить().Выгрузить();

В ИЕРАРХИИ берёт саму группу и всех её потомков на любой глубине. Условие НЕ ЭтоГруппа убирает из результата сами папки.

Как не превратить дерево групп в лабиринт

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

  • 🧭 Один признак на уровень. Первый уровень — вид товара, второй — бренд. Не смешивайте на одном уровне «Бумага» и «Поставщик Альфа».
  • 📏 Не глубже трёх-четырёх ступеней для справочников, которыми пользуются люди каждый день.
  • 🚫 Без папки «Разное» на 200 позиций. Она копит всё, что не разложили, и обесценивает отчёты.
  • 👤 Один ответственный за структуру. Когда папки создают все подряд, появляются «Канцтовары» и «Канц. товары» рядом.
  • 🔁 Обмены. Если справочник приходит из другой базы, папки могут перезаписываться при синхронизации. Структуру тогда меняют в базе-источнике.

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

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

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

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