Типы, порождаемые элементом проекта вида «Справочник»
После того как вы добавили в проект справочник, «1С:Шина» создаст несколько типов,имена которых в общем случае выглядят следующим образом:
имя-справочникаимя-справочника.Ссылкаимя-справочника.Объектимя-справочника.Данные
Например, если в проекте есть справочник Сотрудники, то будут созданы следующие типы:
СотрудникиСотрудники.СсылкаСотрудники.ОбъектСотрудники.Данные
Тип «имя-справочника»
Это тип-одиночка.
Тип имя-справочника содержит методы для работы с элементами справочника и ссылками на них. Например, НайтиПоКоду(), ПолучитьСсылку().
Также он позволяет пересчитать разрешения доступа: ПересчитатьРазрешенияДоступа(), ПересчитатьРазрешенияДоступаДляОбъектов() (подробнее).
Этот тип не имеет конструктора и имеет единственный экземпляр, обращение к которому выполняется по имени типа:
// Получить менеджера справочника «Сотрудники»
пер МенеджерСправочника = Сотрудники
// Пересчитать разрешения доступа справочника «Сотрудники»
Сотрудники.ПересчитатьРазрешенияДоступа()
Модуль справочника
В проекте модуль, расширяющий тип имя-справочника, называется модулем справочника.
В этом модуле вы можете обработать событие ПолучитьЗначенияВыбора для того, чтобы изменить стандартный алгоритм подбора элементов справочника при вводе по строке.
Также в модуле справочника можно обработать события вычисления разрешений доступа: ВычислитьРазрешенияДоступа, ВычислитьРазрешенияДоступаДляОбъектов (подробнее).
Вы можете расширить тип имя-справочника, добавив в модуль справочника собственные публичные методы. Например, метод, создающий элементы определенного вида:
// Создает сотрудников-кандидатов в справочнике «Сотрудники»
@ВПроекте
метод СоздатьКандидата(ФИО: Строка): Сотрудники.Ссылка
пер Сотрудник = новый Сотрудники.Объект()
Сотрудник.ФИО = ФИО
Сотрудник.Статус = СтатусыСотрудников.Кандидат
Сотрудник.Записать()
возврат Сотрудник.Ссылка
;
Этот метод будет доступен в других модулях:
// Вызов метода разработчика у менеджера справочника «Сотрудники»
пер НовыйКандидат = Сотрудники.СоздатьКандидата("Гаврилов Сергей")
Тип «имя-справочника.Ссылка»
Тип