Разработка и Конфигурация · 10 мин
Как создать группу в 1С через конфигуратор
Как создать группу в конфигураторе 1С: настройка иерархического справочника, виды иерархии, права, типичные ошибки и проверка результата в режиме предприятия.
Группа в 1С — это элемент иерархического справочника, который служит «папкой» для упорядочивания других элементов: товаров, контрагентов, сотрудников, статей расходов. Чтобы пользователи могли создавать группы в режиме «Предприятие», разработчик должен заранее включить и настроить иерархию у справочника в конфигураторе. Если этого не сделать, кнопка создания группы в пользовательском режиме просто не появится или будет недоступна.
Под фразой «создать группу в конфигураторе» обычно понимают одну из двух задач. Первая — настроить саму возможность группировки: включить иерархичность справочника, выбрать вид иерархии и задать ограничения. Вторая — добавить конкретную группу программно, например при начальном заполнении базы или в обработке загрузки данных. Ниже разобраны оба сценария, а также типичные ошибки, из-за которых группы не создаются или ломают логику учёта.
Все действия с конфигурацией выполняются на копии базы или в тестовом контуре. Изменение структуры справочника требует обновления конфигурации базы данных, а в клиент-серверном варианте — монопольного доступа, поэтому планируйте работу вне рабочего времени пользователей.
Что такое группа и когда она нужна
Группа — это особый вид элемента справочника, который не хранит прикладных данных, а объединяет другие элементы и группы в древовидную структуру. Например, в справочнике «Номенклатура» группы «Материалы», «Готовая продукция» и «Услуги» позволяют быстро находить нужные позиции и строить отчёты по укрупнённым категориям.
Группы оправданы, когда элементов много и их нужно классифицировать: сотни товаров, филиалы контрагентов, виды расходов по подразделениям. Если справочник содержит десяток позиций, иерархия только усложнит интерфейс — пользователю придётся делать лишние клики ради короткого списка.
Важно понимать ограничение: группа и элемент — разные сущности. В большинстве типовых конфигураций проводки, документы и связанные данные привязываются к элементам, а не к группам. Попытка использовать группу как обычную позицию (например, указать группу номенклатуры в документе продажи) обычно блокируется настройками или приводит к ошибкам в отчётах.
Подготовка: что проверить перед настройкой
Перед изменением конфигурации убедитесь, что у вас есть права на работу в конфигураторе и что конфигурация не находится на полной поддержке с запретом изменений, если вы не планируете снимать её с поддержки. Для типовых решений предпочтительный путь — расширение конфигурации, но свойство иерархии существующего справочника через расширение изменить нельзя, поэтому здесь чаще требуется доработка основной конфигурации.
Определите, какой вид иерархии вам нужен, исходя из прикладной логики. Если пользователи должны свободно смешивать группы и элементы на одном уровне, выбирайте «Иерархию списка». Если методология учёта требует, чтобы элементы всегда лежали строго внутри групп (классификаторы, план счетов подобные структуры) — «Иерархию групп и элементов».
Включение иерархии у справочника в конфигураторе
Основная работа выполняется в палитре свойств справочника. Последовательность одинакова для большинства версий платформы 8.3: откройте конфигуратор, найдите нужный справочник в дереве конфигурации и перейдите к его свойствам.
- 1Откройте конфигуратор и загрузите конфигурацию (Конфигурация → Открыть конфигурацию).
- 2В дереве объектов найдите ветку «Справочники» и дважды щёлкните нужный справочник.
- 3Перейдите на закладку «Иерархия» в окне редактирования объекта.
- 4Установите флаг «Иерархический справочник».
- 5Выберите вид иерархии: «Список» или «Групп и элементов».
- 6При необходимости задайте «Ограничение количества уровней» и укажите максимальное число уровней вложенности.
- 7Сохраните конфигурацию и выполните обновление конфигурации базы данных (F7 или через меню Конфигурация).
Ограничение количества уровней стоит задавать осознанно. Если оставить значение по умолчанию, пользователи смогут строить деревья неограниченной глубины, что со временем усложняет навигацию и отчёты. Для большинства прикладных задач достаточно трёх-пяти уровней вложенности.
После обновления конфигурации базы данных проверьте, что реструктуризация прошла без ошибок: платформа выводит список изменений и предупреждений. Если справочник уже содержал данные, убедитесь, что они на месте и открываются в пользовательском режиме.
Создание группы в режиме «Предприятие»
Когда иерархия включена, пользователь создаёт группу без конфигуратора. В форме списка справочника появляется отдельная команда «Создать группу» (обычно в меню кнопки «Создать» или отдельной кнопкой на панели). Откроется упрощённая форма, где достаточно указать наименование и, при необходимости, родительскую группу в поле «Входит в группу».
Обратите внимание: у группы недоступна часть реквизитов элемента. Это нормальное поведение — платформа скрывает прикладные поля, чтобы в группу случайно не ввели данные, которые потом не попадут в документы. Если пользователю нужен «элемент с подчинёнными», значит, задача решается не группой, а иерархией списка, где элементы тоже могут иметь вложенные позиции.
Перемещение элементов между группами выполняется перетаскиванием мышью, командой «Переместить в группу» из контекстного меню или редактированием поля «Входит в группу» в карточке элемента. Массовое перемещение удобнее делать через выделение нескольких строк списка.
Программное создание группы
При начальном заполнении базы, обмене данными или загрузке классификаторов группы создаются кодом на встроенном языке. Используется менеджер справочника и метод создания группы, после чего объект заполняется и записывается.
НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
НоваяГруппа.Наименование = "Материалы";
НоваяГруппа.Родитель = РодительскаяГруппа; // необязательно
НоваяГруппа.Записать();Несколько практических правил для программного создания. Во-первых, перед созданием проверяйте существование группы поиском по наименованию или по коду, иначе повторный запуск обработки создаст дубли. Во-вторых, при загрузке дерева сначала создавайте и записывайте родительские группы, а потом дочерние — ссылка на родителя должна уже существовать в базе. В-третьих, при больших объёмах загрузки оборачивайте запись в транзакцию, чтобы при сбое не осталось половины дерева.
Типичная ошибка новичков — попытаться создать группу методом СоздатьЭлемент() и потом «превратить» её в группу. Признак группы устанавливается только в момент создания объекта соответствующим методом, изменить его у записанного элемента штатными средствами нельзя — потребуется создать новую группу и перенести в неё подчинённые элементы.
Проверка результата и типичные ошибки
После настройки убедитесь, что всё работает так, как задумано: группа создаётся, элементы в неё перемещаются, отчёты по справочнику корректно показывают итоги с учётом иерархии. Проверку выполняйте под учётной записью обычного пользователя, а не администратора, чтобы увидеть реальную картину с учётом прав.
Как проверить результат
Команда «Создать группу» доступна и открывает форму новой группы
Кнопки нет — иерархия не включена или команда скрыта в форме
Группа отображается со значком папки, в неё можно перейти
Объект создан как обычный элемент без возможности вложения
Итоги по группе включают вложенные элементы
Данные группы не учитываются или дублируются
Создание и перемещение групп доступны по роли
Ошибка нарушения прав доступа при записи
FAQ
Можно ли превратить существующий элемент справочника в группу?
Штатного способа нет: признак группы задаётся при создании объекта. Практический обходной путь — создать новую группу, перенести в неё нужные элементы, а старый элемент пометить на удаление или переименовать, чтобы его не выбирали в документах.
Почему в форме списка нет кнопки «Создать группу»?
Чаще всего у справочника не включено свойство «Иерархический» в конфигураторе либо конфигурация базы данных не обновлена после изменения. Реже причина в доработанной форме списка, где команда скрыта, или в ограничении прав пользователя на добавление групп.
Чем отличается иерархия списка от иерархии групп и элементов?
При иерархии списка и группы, и элементы могут находиться на любом уровне и смешиваться. При иерархии групп и элементов элементы размещаются только внутри групп, а дерево групп строится отдельно — это подходит для строгих классификаторов, но ограничивает гибкость.
Можно ли ограничить, кто создаёт группы, а кто только элементы?
Да. В ролях для справочника есть отдельные права на добавление и изменение, а в шаблонах ограничения доступа (RLS) можно различать группы и элементы по признаку «ЭтоГруппа». Проще всего выдать пользователю право интерактивного добавления только для элементов через настройку ролей и проверить результат под его учётной записью.
Что будет с данными, если отключить иерархию у заполненного справочника?
При обновлении конфигурации базы данных платформа выполнит реструктуризацию: группы потеряют свой статус, а вложенность перестанет отображаться. Сами элементы обычно сохраняются, но связи «родитель-потомок» утрачиваются, и восстановить дерево придётся вручную или из резервной копии.
Что важно запомнить
Группы становятся доступны после включения иерархии у справочника в конфигураторе и обновления конфигурации базы данных. Вид иерархии выбирайте под прикладную задачу до наполнения базы, изменения на рабочих данных делайте только после резервной копии, а программное создание групп всегда сопровождайте проверкой на дубли.