Элемент проекта вида «Справочник»

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

Например, список сотрудников — это справочник:

Код ФИО Возраст
001 Булатов И.В. 32
002 Громова Н.П. 45
003 Орлова Е.Н. 23
004 Савинская З.Ю. 41

Элементами этого справочника являются Булатов И.В. с кодом 001 и возрастом 32, Громова Н.П. с кодом 002 и возрастом 45 и т. д.

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

Вид Справочник содержит специальные свойства, которые называются реквизитами. Реквизит — это описание одной колонки в такой таблице. У вида Справочник есть три стандартных реквизита — Код, Владелец и Наименование. В проекте вы можете добавить справочнику один, два или все три этих стандартных реквизита, а также любое количество собственных реквизитов для того, чтобы описать дополнительные колонки, например ФИО, Возраст, Адрес, Должность и др.

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

В самом простом случае в проекте справочник может иметь только один реквизит, например Название типа Строка. Например, справочник Склады:

Название
Большой
Малый
Склад отдела продаж
Строящийся склад

Вид Справочник предоставляет следующую функциональность и логику работы с данными:

Порождаемые типы встроенного языка
Справочник, добавленный в проект, порождает во встроенном языке несколько типов. Они позволяют вам работать как с самим справочником, так и с его элементами. Некоторые из этих типов имеют модули. С помощью этих модулей вы можете изменять стандартное поведение справочника (обрабатывая его события) и расширять функциональность типа, которому принадлежит модуль (добавляя собственные методы)
Таблица языка запросов
Вы можете обращаться к данным справочника с помощью языка запросов, для этого используйте таблицу справочника
Таблица регистрации изменений
После добавления справочника в состав плана обмена, для него создается специальная таблица регистрации изменений. Вы можете обращаться к ней с помощью языка запросов.
Уникальность кодов элементов
Стандартно во время работы приложения запрещает записывать элементы справочника с повторяющимися кодами. При необходимости вы можете отключить этот контроль
Автонумерация элементов
Стандартно во время работы приложения автоматически создает код для нового элемента справочника. Вы можете настроить этот процесс или совсем отказаться от него
Реквизиты справочника
Вы, как разработчик, можете создать в справочнике необходимое количество реквизитов. Реквизит — это составная часть элемента проекта, описывающая одно поле таблицы базы данных.
Совет: Реквизиты справочника могут реализовывать контракт типа и контракты сущности.
Реквизиты-коллекции
Справочник может содержать реквизиты-коллекции. Такой реквизит хранит не одно, а сразу несколько значений — Массив. Например, справочник Сотрудники может иметь реквизит-коллекцию Телефоны, в котором для каждого сотрудника хранятся все его номера телефонов
Табличная часть
Вместе с каждым элементом справочника может потребоваться хранить информацию, однородную по своей структуре. Количество строк такой информации заранее неизвестно и может быть разным у разных элементов справочника. Например, для каждого элемента справочника Заказы нужно хранить состав заказа: какие товары заказаны, их количество и цену. Для этого можно использовать реквизит-коллекцию справочника и хранимую структуру
Хранение двоичных данных
Реквизиты справочника, которые вы добавляете в проект, могут быть предназначены для хранения двоичных данных: файлов документов, изображений, видео и т. д. Как правило двоичные данные имеют большой размер, поэтому хранит их в специальных хранилищах, отдельно от других данных
Справочники-владельцы
Элементы одного справочника могут быть связаны с элементами другого справочника. Например, клиенты и их телефонные звонки. Для таких справочников предоставляет ряд стандартных действий
Представление элемента
Представление — это строка, которая будет обозначать для пользователя тот или иной элемент справочника во время работы приложения. Вы можете настроить представление в соответствии со своими потребностями
Поиск элементов при вводе по строке
Во время работы приложения, чтобы выбрать один из элементов справочника, пользователь может просто начать вводить в поле ввода известный ему фрагмент названия, кода, артикула или другого реквизита справочника. автоматически подберет ему подходящие элементы. Вы можете задать список тех реквизитов справочника, в которых будет искать текст, введенный пользователем
Индексы базы данных
Для того чтобы запросы к данным выполнялись быстро, стандартно создает для таблицы справочника два индекса: по полю Ссылка и по полю Код. Эти индексы удобны в общем случае, но могут не подходить для конкретных операций поиска и чтения элементов справочника в приложении. Тогда вы можете описать в проекте, какие дополнительные индексы должен создать в таблицах справочника
Представление справочника в командном интерфейсе
Во время работы приложения автоматически генерирует все команды и формы, которые требуются для работы с элементами справочника. Однако они могут не подходить вам в каких-то сложных или особенных случаях. Тогда вы можете создать собственные формы и указать, в каких ситуациях их должна использовать для работы с элементами этого справочника
Права
Элемент проекта вида Справочник обладает следующими правами: Создание, Чтение, Изменение и Удаление (подробнее).
События ВычислитьРазрешенияДоступа и ВычислитьРазрешенияДоступаДляОбъектов следует обрабатывать в модуле справочника.
Дополнительные пространства управляемых блокировок
Помимо стандартных пространств управляемых блокировок вы можете создать для справочника одно или несколько дополнительных пространств. Это позволит вам более гибко устанавливать управляемые блокировки
Запись данных в оптимизированном режиме
Во время массовой загрузки данных с помощью типа ГрупповаяОперация можно отключить обработчики, выполняемые во время записи элементов справочника, а также отключить расчет прав. Это позволяет ускорить запись данных
Все свойства справочника
Здесь описано назначение всех свойств справочника, которые вы можете менять в проекте