Содержание:
1. Вид иерархии по группам и элементам в конфигурации программы 1С: Предприятие
2. Вид иерархии по элементам в системе конфигурации 1С
3. «Родитель» в иерархическом справочнике
4. Создание элемента для справочника с иерархией в системе программы 1С
5. Изменение элементов внутри иерархического справочника
6. Выборки внутри справочников с иерархией в системе программы 1С: Предприятие
1. Вид иерархии по группам и элементам в конфигурации программы 1С: Предприятие
Обычно, внутри системы конфигурации 1С, все справочники настраиваются при помощи предопределённого порядка, по которому в нём идёт подчинение элементов. Чтобы создать такой конкретный порядок – нужно стандартный справочник «превратить» в справочник с иерархией.
Для системы программы 1С существует две вариации иерархии – это иерархия поэлементная и иерархия групп и элементов.
Чтобы у справочника была иерархия по группам и элементам – нужно открыть редактор и настройки этого справочника во вкладке «Иерархия» и поставить «галочку» около «Иерархический справочник», а для категории свойства «Вид иерархии» выбрать «Иерархия групп и элементов», как демонстрируется на скриншоте ниже:
Для такого вида справочником можно делать группы, внутри которых будут помещены элементы, как можно увидеть ниже:
Когда создаётся иерархия и для групп, и для элементов одновременно, то появляются особые каталоги, внутри которых содержатся иные группы и/или элементы. В таком случае, и элементы, и группы выступают экземплярами в справочнике.
2. Вид иерархии по элементам в системе конфигурации 1С
Иерархия по элементам выстраивается такими же манипуляциями, но в категории «Вид иерархии» нужно выбрать «Иерархия элементов», как можно увидеть на примере далее:
После такого выбора, получаем, что любой из элементов может быть главным – «родителем» для некого другого элемента, как показано ниже:
3. «Родитель» в иерархическом справочнике
Для каждого из элементов справочника, который имеет иерархию, должен быть «родитель» - главный над ним – это некий реквизит внутри справочника, который относится к стандартным.
Когда имеем случай, когда иерархия не была создана, то такой реквизит отображён не будет, как в данном примере:
Если же у справочника имеется иерархия, то он будет такого вида, как в этом примере:
Когда у нас в конфигурации системы 1С ситуация, когда форма элемента для справочника была стандартно сгенерирована при помощи платформы, то такой реквизит будет показан на форме, которая является управляемой. Когда у нас есть иерархия по группам и элементам, то будет отображена та группа, к которой наш элемент относится, как на скриншоте ниже:
Когда у элемента отсутствует указание группы – это означает, что он относится к элементам на верхнем уровне, как можно увидеть тут:
Важно отметить, что «родитель» есть у тех справочных элементов, которые имеют иерархию по элементам, как продемонстрировано на этом примере:
4. Создание элемента для справочника с иерархией в системе программы 1С
Рассмотрим, как можно сделать группу внутри справочника, который имеет иерархию. Для этого, необходимо обратиться к справочнику «СоздатьГруппу()» и его «менеджеру». Чтобы аналогично создать в подобном справочнике элемент нужно избрать метод «СоздатьЭлемент()».
Если же, требуется, чтоб новый элемент справочника относился к конкретной, существующей, группе – нужно открыть свойство «Родитель» для необходимого элемента и вписать ссылку на ту группу, к которой он должен принадлежать.
Далее представлен пример программного кода 1С, в котором показано создание нового элемента, который будет относится к новой группе:
При этом, мы создавали группу, которая является верховной – находилась на верхнем уровне.
Если же, вид иерархии является иерархией по элементам, то необходимо прописывать все элементы, однако, при этом, у свойства «Родитель» в новом элементе справочника должна содержаться ссылка на иной элемент, который будет главным для нового. Далее представлен программный код 1С, его пример, для такого случая:
5. Изменение элементов внутри иерархического справочника
В случае, когда необходимо изменить порядок элементов внутри иерархического справочника 1С – нужно обратиться к главному реквизиту – «Родитель». Для этого реквизита нужно создать и применить к нему новую ссылку, которая будет содержать иную ссылку, например, вот таким способом:
Когда требуется сделать элемент главным – верхним – тогда данному реквизиту необходимо «дать» пустую ссылку, как показано в примере с программным кодом 1С далее:
Организация поиска внутри иерархического справочника
Чтобы найти что-то внутри выбранной группы, которая относится к справочнику с иерархией – нужно внести параметр «Родитель» для методов «НайтиПоРеквизиту», «НайтиПоНаименованию» и «НайтиПоКоду», как показано в примере кода ниже:
6. Выборки внутри справочников с иерархией в системе программы 1С: Предприятие
Чтобы выбрать элементы справочника, которые относятся к той или иной группе внутри иерархического справочника – необходимо задействовать метод «Выбрать» (при этом, у него не должен быть пустой параметр «Родитель»). Для такого случая, системой избираются те элементы и группы, которые относятся к той, которая была прописана. Однако, важно заметить, что дополнительно в подчинении группы и элементы выбраны не будут, для такого случая уже нужно задействовать метод «ВыбратьИерархически».
Для выбора в конфигурации системы 1С будет следующий программный код:
Так, изберутся элементы из конкретной группы.
А при таком программном коде 1С, как на скриншоте далее:
Так, изберутся элементы, которые входят и в выбранную группу, и в её внутренние группы.
В данной статье было полностью разобрано как внутри конфигурации системы 1С можно управлять иерархическими справочниками, а именно: какие виды таких справочников бывают, как настраивать типы справочников с иерархией, как искать группы и элементы внутри таких справочников, как распределять подчинения, а также то, как создавать выборки внутри таких справочников, которые имеют иерархию.
Специалист компании "Кодерлайн"
Айдар Фархутдинов















