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

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

Как создать подгруппу в группе в 1С

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

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

Ниже разобраны способы создания подгруппы в типовых конфигурациях 1С (Бухгалтерия, Управление торговлей, ERP, Зарплата и управление персоналом), отличия для справочников с разным видом иерархии, а также вариант с программным созданием группы через встроенный язык — для случаев, когда подгрупп нужно много.

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

Подгруппа в 1С — это обычная группа справочника, у которой в поле «Родитель» указана другая группа. Количество уровней вложенности платформой не ограничено: внутри группы «Товары» может быть группа «Электроника», внутри неё — «Ноутбуки», а внутри — «Игровые ноутбуки». На практике глубже 3–4 уровней заходить не стоит: такой структурой сложно пользоваться, а отчёты по ней становятся громоздкими.

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

Создание подгруппы через интерфейс: базовый способ

Способ работает в любой типовой конфигурации на управляемых формах — Бухгалтерии 3.0, УТ 11, ERP, ЗУП. Возьмём для примера справочник «Номенклатура», но последовательность одинакова для контрагентов, складов, статей расходов и других иерархических справочников.

Порядок действий
  1. 1
    Откройте справочник: например, раздел «Справочники» → «Номенклатура» или «Покупки» → «Номенклатура».
  2. 2
    В списке найдите и выделите группу, внутри которой нужна подгруппа. Если группы свёрнуты, разверните дерево значком «+» или включите режим «Дерево».
  3. 3
    Нажмите кнопку «Создать группу» на панели инструментов списка. Если её нет — откройте меню «Создать» (стрелка рядом с кнопкой) и выберите «Группа».
  4. 4
    В открывшейся форме заполните наименование подгруппы. Поле «Группа» (родитель) уже заполнено выбранной группой — проверьте это.
  5. 5
    Нажмите «Записать и закрыть». Подгруппа появится внутри родительской группы в дереве.

Если при создании группы поле родителя осталось пустым, подгруппа окажется на верхнем уровне справочника. Это не ошибка — её можно перенести в нужную группу позже (об этом ниже), но лучше сразу контролировать заполнение поля «Группа» в форме нового объекта.

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

Альтернативные способы: контекстное меню и клавиши

Если кнопки на панели инструментов не видно из-за настроек формы, используйте контекстное меню. Кликните правой кнопкой мыши по группе-родителю и выберите «Создать группу» или «Создать» → «Группа». В ряде конфигураций пункт называется «Новая группа». Результат идентичен основному способу.

Быстрый вариант для тех, кто работает с клавиатуры: выделите группу и нажмите Insert — в некоторых конфигурациях откроется выбор «Элемент / Группа», в других сразу создаётся элемент, поэтому надёжнее пользоваться явной командой создания группы. Также работает универсальное меню «Ещё» в правой части панели команд списка.

Режимы отображения списка

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

Перенос существующей группы внутрь другой группы

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

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

Почему кнопка «Создать группу» недоступна

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

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

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

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

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

Программное создание подгруппы

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

bsl
&НаСервере
Процедура СоздатьПодгруппу()
    Родитель = Справочники.Номенклатура.НайтиПоНаименованию("Электроника", Истина);
    Если Родитель.Пустая() Тогда
        Возврат; // родительская группа не найдена
    КонецЕсли;

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

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

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

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

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

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

Положение в дереве
Норма

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

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

Подгруппа на верхнем уровне — поле «Группа» не было заполнено

Возможность добавить элемент
Норма

В подгруппу добавляются элементы и другие группы

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

Создан элемент вместо группы — внутрь ничего не добавить

Отчёты с иерархией
Норма

Подгруппа входит в итоги родительской группы

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

Подгруппа выпадает из итогов — проверьте родителя и отборы отчёта

Типичные ошибки
01
Создание элемента вместо группы — кнопка «Создать» по умолчанию создаёт элемент; для папки нужна команда «Создать группу», иначе внутрь такого объекта ничего не положить
02
Дублирование подгрупп — перед созданием не проверяют, нет ли уже группы с таким наименованием; дубли ломают отчёты и обмены, ищите существующую группу поиском по справочнику
03
Слишком глубокая вложенность — 5–6 уровней делают подбор и навигацию неудобными; обычно достаточно 2–3 уровней
04
Перенос групп без учёта обменов — после синхронизации структура в связанной системе расходится с 1С, и товары начинают выгружаться не в те разделы
05
Игнорирование реквизитов группы — пустой вид номенклатуры или ставка НДС на группе приводят к тому, что новые элементы создаются с неправильными значениями по умолчанию

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

Итог

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

Подгруппа создаётся командой «Создать группу» при выделенной родительской группе; главное — проверить заполнение поля «Группа» (родителя). Если кнопки нет, уточните вид иерархии справочника и права. Для массового создания используйте метод СоздатьГруппу() в обработке, предварительно проверив код на копии базы.

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

Можно ли ограничить глубину вложенности групп?

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

Как создать подгруппу у контрагентов, если справочник выглядит плоским списком?

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

Что будет с элементами группы, если удалить саму группу?

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

Можно ли скопировать группу вместе со всеми подгруппами и элементами?

Стандартное копирование (F9 или «Скопировать») создаёт копию только самой группы без вложенного содержимого. Для копирования целой ветки структуры нужна обработка на встроенном языке, которая рекурсивно обходит дерево и создаёт копии с сохранением связей «родитель-подгруппа».

Почему в режиме «Список» не видно созданной подгруппы?

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

Влияет ли перемещение группы на уже проведённые документы?

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