Справочники в 1С – объекты для хранения однородно постоянной и условно постоянной информации. В справочниках системы 1С Предприятие 8.3 обычно хранят:
Каждая запись в справочнике называется элементом справочника.
Основные особенности справочников в том, что они могут быть иерархическими и иметь владельца в виде другого справочника.
Для добавления справочника необходимо в дереве объектов метаданных перейти на узел “Справочники” и с помощью контекстного меню данного узла у вас будет возможность добавить новый справочник в конфигурацию.
Для примера добавим новый справочник и на открытой вкладке “Основные” в поле “Имя” введем название: “ПримерСправочника”. Как мы зададим поле “Имя” справочника, так мы сможем обратиться к нему из кода в конфигураторе 1C. Синоним зададим “(Softrema) Пример справочника”.
Синоним – это название справочника, которое мы будем видеть в пользовательском режиме.
На этой вкладке можем отметить к каким подсистемам относится справочник, например, подсистемы могут быть: “Закупки”, “Продажи”, “Казначейство”, “Бюджетирование” и т.п.
Подсистемы служат для того, чтобы логически разделить предназначение объекта метаданных. Не редки случаи, когда один справочник относится к нескольким подсистемам, например, “Продажи”, и к подсистеме “Закупки”, примером служит справочник “Партнеры” в УТ (Управлении торговлей).
Содержит настройки для создания справочника иерархичным.
Вид иерархии справочника может выбран один из списка:
Отличия данных настроек приведены на картинках.
У справочника может быть владелец, что бы понять смысл данной опции, представим, что у нас есть два справочника, “Регион” и “Офис”. В справочнике “Регион” перечислены регионы страны, а в справочнике “Офис” представлены офисы, входящие в данный регион. Т.к. “Офис” подчинен своему “Региону”, справочник “Регион” будет владельцем справочника “Офис”.
На данной вкладке можно добавить новые реквизиты справочника и табличные части. На данной вкладке нужно внимательно отнестись к полям “Длина кода” и “Длина наименования” справочника. Длина наименования может быть максимум 150 символов.
Объект метаданных “Справочник” поддерживает следующие формы:
Рассмотрим некоторые из них.
Форма элемента открывается тогда, когда мы открываем элемент справочника из 1С Предприятия. Что бы программно открыть новую форму элемента справочника достаточно написать код:
ОткрытьФорму("Справочник. ПримерСправочника.ФормаОбъекта");Если необходимо открыть форму справочника модально, нужно написать следующий код:
ОткрытьФорму("Справочник. ПримерСправочника.ФормаОбъекта",, ЭтаФорма);В третьем параметром указываем значение “ЭтаФорма”, это будет означать, что текущая форма является владельцем открываемой формы. Оба примера необходимо выполнять в функции или процедуре с директивой “&НаКлиенте”, т.к. формы открываются только на клиенте.
Форма списка справочника. Данная форма содержит список всех элементов, когда мы только открываем справочник. Примером может служить список сотрудников или организаций. Что бы открыть форму списка справочника из конфигуратора, нужно написать так:
ОткрытьФорму("Справочник. ПримерСправочника.ФормаСписка");Форма выбора справочника. Форма выбора справочника открывается, тогда, когда мы выбираем элемент, например, если мы принимаем на работу сотрудника, мы кликаем по реквизиту “Сотрудник” из документа “Прием на работу” и перед нами открывается форма со списком сотрудников, именно эта форма и называется формой выбора справочника.
Для создания новой группы справочника нужно выполнить код на 1С:
НоваяГруппаСправочника = Справочники.ПримерСправочника. СоздатьГруппу();Новый элемент справочника создается аналогично предыдущему примеру:
НовыйЭлементСправочника = Справочники.ПримерСправочника. СоздатьЭлемент();Для того, чтобы разместить новый элемент справочника в группе, достаточно в предыдущем примере при создании элемента указать строчку перед вызовом функции “Записать()”:
НовыйЭлементСправочника.Родитель = НоваяГруппаСправочника.Ссылка;Что бы получить значение справочника можно воспользоваться двумя приемами, через запрос и через функции, которые поддерживает сам справочник.
Описываются через конструкцию “Запрос”, например, выберем из справочника значения реквизитов Ссылка, Владелец и Родитель:
Запрос = Новый Запрос("ВЫБРАТЬЧто бы найти нужный нам элемент, можно воспользоваться функциями:
НайтиПоКоду(“Код справочника”);В параметрах нужно указать код искомого элемента справочника
ИлиВ данном случае необходимо указать название искомого элемента.
Стоит отметить, что получение элементов справочника по коду и наименованию являются не самыми элегантными приемами получения элементов, рекомендуется пользоваться запросами и в них указывать нужные отборы.
Вернуться назад