Иерархический справочник в 1С 8.3

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

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

Интерфейсные особенности иерархического справочника в 1С

Разделение на группы и элементы
Если справочник настроен как “Иерархия групп и элементов”, пользователь может создавать папки (группы) и помещать в них элементы. В интерфейсе группы и элементы имеют разные иконки, что помогает пользователям быстрее ориентироваться.

Разделение на группы и элементы иерархический справочник 1С

Навигация по иерархии
В режиме работы можно легко изменять структуру, перемещая объекты между группами. Если переместить одну группу в другую, вместе с этой группой переместится и все ее содержимое.

Навигация по иерархии справочника 1С

Пометка на удаление группы вместе с вложенным содержимым
При установке/снятии пометки на удаление группы, пометка устанавливается / снимается также и на все вложенные подгруппы и элементы.

Пометка на удаление родителя с вложенными элементами

Варианты отображения иерархического справочника

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

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

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

Режим иерархический список

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

Режим дерево иерархического справочника в 1С

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

Иерархия групп и элементов или иерархия элементов?

В 1С:Предприятие при создании иерархического справочника можно выбрать один из двух типов организации данных: иерархия групп и элементов или иерархия элементов. Они отличаются способом построения структуры и возможностями работы с данными. См. примеры выше – справочник “Номенклатура” настроен с иерархией групп, а справочник “Организационная структура” – с иерархией элементов.

Иерархия групп и элементов позволяет разделять справочник на группы (папки) и отдельные элементы внутри них. Группы служат для логического объединения элементов, но сами по себе не являются полноценными записями справочника. Например, в справочнике “Номенклатура” можно создать группы “Одежда”, “Обувь”, “Аксессуары”, а внутри них разместить конкретные товары. Пользователь может перемещать элементы между группами, а сами группы не могут хранить такие же данные, как элементы.

В иерархии элементов отсутствуют отдельные группы, и каждый элемент может выступать в роли родителя для других элементов. Это позволяет создавать вложенную структуру без жёсткого деления на папки и записи. Такой вариант может использоваться, например, в справочнике “Территории”, где каждая территория может содержать более мелкие территории, но при этом все элементы хранят одинаковые реквизиты.

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

Разработка иерархического справочника в Конфигураторе

Создание иерархического справочника во многом идентично созданию обычного справочника. Отличия заключаются в настройке на вкладке Иерархия. Первым делом нужно включить флажок Иерархический справочник. Далее следует выбрать вид иерархии – о нем рассказано выше. Если выбран вид “Иерархия групп и элементов”, можно отметить флажок Размещать группы сверху – это исключительно вопрос интерфейса – в каких-то случаях удобнее настроить так, в каких-то – оставить флажок снятым.

Ниже рассмотрена еще одна настройка – Ограничение количества уровней иерархии. Если ее указать и задать количество уровней, то при попытке в режиме 1С: Предприятие создать слишком глубоко вложенный элемент или группу возникнет ошибка:

Ошибка Превышено количество уровней

Настройка реквизитов для иерархического справочника

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

Примеры программной работы с иерархическим справочником

Помимо интерфейсных отличий, иерархический справочник в 1С 8 имеет ряд особенностей и при работе средствами встроенного языка.

Создать группу программно

// Создание элемента в справочнике "Номенклатура" с указанием родительской группы
НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
НовыйЭлемент.Наименование = "Новый элемент";
НовыйЭлемент.Родитель = Справочники.Номенклатура.НайтиПоНаименованию("Новая группа"); // Указываем родительскую группу
НовыйЭлемент.Записать();

Создать элемент программно и указать родителя

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

Пометить группу со всеми подчиненными

// Находим группу в справочнике "Номенклатура" и помечаем её на удаление.
// Второй параметр отвечает за то, нужно ли пометить на удаление также и все подчиненные.
ГруппаДляУдаления = Справочники.Номенклатура.НайтиПоНаименованию("Новая группа");
ГруппаДляУдаления.УстановитьПометкуУдаления(Истина, Истина)

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

тринадцать − один =

К НАЧАЛУ