Зачем нужны иерархические справочники и что такое родитель 1с

Обновлено: 04.07.2024

Иерархический справочник - это также многоуровневый справочник, или справочник с группами.
Группа справочника в 1С часто называется "родитель".

Назначение иерархических справочников

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


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

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

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

Установка текущей группы


Информация о текущем элементе

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







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

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

Подчиненные справочники

Справочник-владелец, это также справочник-хозяин.


Справочник-владелец и подчиненный справочник также называются связанными справочниками.
В терминах реляционных баз данных справочник-владелец - это родительская таблица, подчиненный справочник - это дочерняя таблица.

Назначение подчиненных справочников

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

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

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

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

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

Установка текущего владельца

Информация о текущем элементе
Если справочник подчиненный, то будет полезным применение следующих методов и атрибутов, которые позволяют получить информацию о текущем элементе справочника:

Продолжение одинэсной темы, ответы на книгу Радченко, занятие 2 и 3.

Для чего используется объект конфигурации "Подсистема"?
Подсистема - основной элемент для построения интерфейса 1С:Предприятие. Подсистемы выделяют в конфигурации функциональные части, на которые логически разбивается прикладное решение.

Как описать логическую структуру при помощи Подсистем?
При помощи разделения на функциональные части, представляющие собой отдельные предметные области.

Как управлять порядком вывода и отображения подсистем в конфигурации?
Правый клик мыши по конфигурации, выбираем команду "Открыть командный интерфейс конфигурации", поменять позиции можно с помощью стрелочек.


Управление порядком вывода подсистем.


Что такое окно редактирования объекта конфигурации и в чем его отличие от панели свойств?

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

Для чего предназначен объект конфигурации Справочник?
Справочник предназначен для работы со списками данных, описания их свойств и структуры.

Какие характерные особенности объекта конфигурации Справочник?
Справочник состоит из элементов; Каждый элемент представляет собой отдельную запись в таблице, хранящей информацию из этого справочника;
Элемент также может содержать дополнительную информацию, которая подробнее описывает этот элемент - одинаковый для всех элементов справочника - реквизит; Реквизит также является объектом конфигурации;

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

Зачем нужны иерархические справочники и что такое Родитель?
Иерархические справочники нужны для группировки элементов справочника по какому-либо признаку или принципы. Различаются несколько типов иерархий: иерархия групп и элементов - элемент справочника, представляющий группу - родитель для всех элементов и групп, входящих в эту группу;
Иерархия элементов - родителем является не группой элементов справочника, а непосредственно сам элемент.

Зачем нужны подчиненные справочники и что такое Владелец?
Элементы одного справочника могут быть подчинены элементам другого справочника, и в таком случае устанавливается связь один-ко-многим. Так же может быть использована связь один-к-одному, когда каждый элемент подчиненного справочника связан с одним из элементов справочника-владельца.

Какие основные формы существуют у справочника?
Форма элемента - для редактирования или создания элемента справочника;
Форма группы - для редактирования или создания группы справочника;
Форма списка - для отображения списка элементов в справочнике;
Форма выбора группы - для выбора одной из группы справочника;

Что такое предопределенные элементы справочника?
Элементы справочника, создающиеся в конфигураторе, данные элементы пользователь удалить не может; Служат для хранения информации всегда, независимо от действий пользователя;

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


Как пользователь может отличить обычный элемент от предопределенного?
С помощью пиктограммы

Очень часто в 1С 8.3. в справочнике необходимо настроить определенный порядок подчинения элементов. Для реализации подобных задач из простого справочника необходимо сделать иерархический справочник 1С.

В платформе 1С существует два вида иерархии – иерархия групп и элементов и иерархия элементов.

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

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

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

Тогда у справочника можно будет создавать группы, и размещать элементы в группах.

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

При иерархии групп или элементов существуют группы (каталоги), в которые входят или другие группы, или элементы. И группы, и элементы являются экземплярами объекта справочника.

Группа это тоже экземпляр объекта справочника, по которому не ведется какой-либо учёт (как правило), и который может быть родителем другого экземпляра, т.е. в группу могут входить другие группы и элементы справочников.

Иерархия элементов

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

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

После этого, каждый элемент может быть родителем другого элемента.

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

Родитель иерархического справочника 1С

У каждого элемента иерархического справочника должен быть родитель. В случае иерархии групп и элементов родитель это группа иерархического справочника, в случае иерархии элементов, родитель это элемент.

Родитель это стандартный реквизит справочника. Если иерархия отключена, то этот стандартный реквизит не доступен. Как у этого справочника Сотрудники.

Родитель иерархического справочника 1С

А если иерархия включена, то этот реквизит доступен. Как у справочника Контрагенты.

Родитель иерархического справочника 1С

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

Родитель иерархического справочника 1С

Если группа не указана, то значит элемент верхнего уровня.

Также, родитель имеется у элементов справочника с иерархией элементов.

Родитель иерархического справочника 1С

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

Для того, чтобы создать группу справочника (в случае, иерархии групп и элементов), необходимо воспользоваться методом менеджера справочника СоздатьГруппу(). А для создания элемента следует воспользоваться методом СоздатьЭлемент(). Если мы хотим, чтобы вновь созданный элемент входил в какую-то группу, то следует в свойство Родитель этого элемента записать ссылку на нужную группу.

В коде ниже, создаем группу, а потом создаем элемент, который входит в эту группу:

Заметьте, группа в коде выше, группа верхнего уровня. У неё при создании не был задан Родитель.

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

Изменить элемент иерархического справочника 1С

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

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

Поиск в иерархическом справочнике 1С

В платформе 1С имеется возможность искать в определенной группе иерархического справочника, для этого следует в методах НайтиПоНаименованию, НайтиПоКоду и НайтиПоРеквизиту заполнять параметр Родитель.

Например, поиск в определенной группе будет осуществляться так:

Выборка иерархического справочника 1С

В платформе 1С 8.3. существует возможность выбрать элементы иерархического справочника, которые входят в ту или иную группу, для этого следует воспользоваться методом Выбрать с заполненным параметром Родитель. В этом случае будут выбраны группы и элементы, которых входят непосредственно в указанную группу, но не будут выбраны группы элементы, которые входят в подчиненные группы. Чтобы выбрать элемент и группы, входящие в какую-то группу, следует воспользоваться методом ВыбратьИерархически.

Например, при таком коде:

Будут выбраны элементы, входящие в указанную группу.

А в этом случае:

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

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

Программировать в 1С за 11 шагов

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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


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

Справочник в 1С 8.3

Структура справочника

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

Справочник в 1С 8.3

Если добавить в справочник несколько реквизитов:

Справочник в 1С 8.3

То в таблицу базы данных автоматически будут добавлены две колонки: Артикул и Поставщик:

СсылкаНаименованиеКодАртикулПоставщик

Каждый элемент справочника хранится в отдельной строке (записи) таблицы. Например, если в пользовательском режиме добавить несколько элементов:

Справочник в 1С 8.3

То таблица базы данных будет выглядеть следующим образом:

СсылкаНаименованиеКодАртикулПоставщик
8eae102c-86d5-11eb-80a3-e0d55e4e2669Клавиатура000000001Клав20Привезу все
8eae102d-86d5-11eb-80a3-e0d55e4e2669Смартфон000000002См-30Привезу все

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

Табличная часть справочника хранится в отдельной таблице. В этой таблице есть колонки Ссылка и НомерСтроки, а также по одной колонке для каждого реквизита табличной части. Основная таблица справочника и табличная часть связаны между собой через поле Ссылка.

Если мы добавим в справочник табличную часть для хранения цен:

Табличные части справочника в 1С 8.3

И для элемента Клавиатура заполним ее следующим образом:

Табличные части справочника в 1С 8.3

То в базе данных будет создана следующая таблица:

СсылкаНомер строкиВид ценыЦена
8eae102c-86d5-11eb-80a3-e0d55e4e26691Оптовая500
8eae102c-86d5-11eb-80a3-e0d55e4e26692Розничная1000

В поле Ссылка хранится тот же самый идентификатор, что и в основной таблице справочника.

Иерархические справочники

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

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

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

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

Элементы можно перетаскивать в группы, тогда они будут находиться внутри этой группы:

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

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

Для текущего состояния справочника таблица будет выглядеть следующим образом (для упрощения в поле Ссылка я буду отображать наименование элемента, а не идентификатор. Из реквизитов в таблице только код и наименование):

СсылкаНаименованиеКодЭто группаРодитель
СмартфоныСмартфоны000000004Да
СмартфонСмартфон000000002НетСмартфоны
Составляющие ПКСоставляющие ПК000000003Да
КлавиатураКлавиатура000000001НетСоставляющие ПК

Для элементов или групп, которые находятся на верхнем уровне иерархии поле Родитель не заполнено.

Иерархия может быть двух видов:

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

Пример иерархии групп и элементов можно увидеть выше. Это когда есть группы и есть элементы. Иерархия элементов выглядит следующим образом:

Иерархия элементов в 1С 8.3

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

Флаг Размещать группы сверху определяет как будет выполняться сортировка. Если данный флаг установлен, то группы всегда будут выше элементов:

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

Если снять данный флажок, то сортировка будет выполняться независимо от признака ЭтоГруппа:

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

Также можно ограничить использование реквизитов. Для этого у каждого в реквизита в свойствах можно указать Использование:

Подчиненные справочники

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

Настройка подчиненности выполняется на закладке Владельцы в подчиненном справочнике:

Подчиненные справочники в 1С 8.3

Для добавления владельца нужно нажать на кнопку с зеленым карандашом и указать справочники-владельцы. Можно указать несколько справочников, тогда поле Владелец будет составного типа.

В поле Использование подчинения можно указать могут ли владельцами быть группы справочников или только элементы.

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

Подчиненные справочники в 1С 8.3

Нумерация

Настройка нумерации справочников выполняется на закладке Нумерация:

Нумерация справочников в 1С 8.3

Флаг Автонумерация позволяет автоматически заполнять поле Код при записи. Новый код будет на единицу больше предыдущего. Если данный флаг снят, то поле Код придется заполнять вручную. Как правило данный флаг оставляют включенным.

Флаг Контроль уникальности позволяет контролировать уникальность кодов справочника. Ниже можно указать в пределах чего контролировать уникальность:

Также на закладке Данные можно указать Длину кода и Тип кода. Тип может быть строковым или числовым:

Нумерация справочников в 1С 8.3

Формы справочника

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

Формы справочника в 1С 8.3

Читайте также: