
Тема 1.4 Справочники
Сегодня Вы узнаете, что такое Справочник и как он используется, какова его структура и какими основными свойствами он обладает.
Кроме того, Вы узнаете еще об объекте конфигурации Форма. Узнаете ее виды и в каких ситуациях она используется.
Объект конфигурации Справочник используется для работы со списками данных. В любой работе фирмы используются различные списки: сотрудников, товаров, клиентов, поставщиков и т.д. Свойства и структура этих списков описывается в объектах конфигурации Справочник, на основе которых платформа создает в базе таблицы для хранения информации из этих справочников.
Справочник состоит из элементов. Например, для справочника Сотрудники элементом является сотрудник, для справочника товаров – товар и т.д. Пользователь может в процессе работы добавлять новые элементы в справочник, т.е. пополнить список сотрудников или товаров.
В БД каждый элемент справочника представляет собой отдельную запись в основной таблице, хранящей информацию из этого справочника.
Каждый элемент справочника имеет дополнительную информацию, которая подробнее описывает этот элемент. Например, товар может содержать информацию о производителе, сроке годности, условиях поставки т.п. Набор такой информации является одинаковым для всех элементов и для их описания используются Реквизиты – объект конфигурации Справочник, который так же является объектом конфигурации.
Поскольку эти объекты конфигурации логически связаны с объектом Справочник, они называются подчиненными этому объекту.
Большинство реквизитов разработчик создает самостоятельно, однако у каждого объекта конфигурации Справочник по умолчанию существует набор стандартных реквизитов: Код, Наименование и т.д. Причем доступность каждых реквизитов зависит от свойств справочника.
Например, если справочник иерархический, то у него будет доступен стандартный реквизит Родитель. Если справочник подчинен другому объекту конфигурации, то доступен реквизит Владелец. Если у стандартного реквизита Код выставить длину 0, то у справочника он будет недоступен. То же самое и к реквизиту Наименование. Однако или Код или Наименование должны присутствовать обязательно иначе справочник не имеет смысла.
Отсюда следует, что справочник в БД хранится в виде таблицы, в строках которой расположены элементы списка, а каждому реквизиту (Стандартному или разработанному) в этой таблице соответствует отдельный столбец, а в ячейках таблицы хранится информация конкретного реквизита для конкретного элемента справочника.
Каждый элемент справочника может содержать некоторый набор информации, которая одинакова по все структуре, но различна по количеству и предназначена для разных элементов справочника.
Например, каждый элемент справочника Сотрудники может содержать информацию о составе семьи сотрудника, для одного сотрудника это будет только супруга, а для другого супруга, сын, для третьего – супруга, дочь старшая, дочь младшая и т.д.
Для описания подобной информации могут быть использованы табличные части объекта конфигурации Справочник, являющиеся подчиненными ему объектами конфигурации. В этом случае в БД будут созданы дополнительные таблицы для хранения табличных частей, подчиненных конкретному элементу справочника.
Система при этом «скрывает» от разработчика всю техническую часть связанную с хранением данных: в БД для справочника создаются несколько таблиц, эти таблицы связываются по уникальному полю (Ссылка), поля таблиц имеют определенные типы и т.д. Все это система делает сама. Нужно только добавить в объект конфигурации Справочник подчиненный ему объект Табличная часть.
Для удобства использования элементы справочника могут быть сгруппированы пользователем по какому-либо принципу.
Например, в справочнике Товары могут быть созданы следующие группы: молочные продукты, консервы, бытовая химия, кондитерские изделия и т.д. Возможность создания таких групп в справочнике задается свойством «Иерархический» объекта конфигурации Справочник. В этом случае элемент справочника, представляющий собой группу, будет является Родителем для всех элементов и групп, входящих в эту группу. Этот вид иерархии называется Иерархия групп и элементов.
Есть и другой вид иерархии – Иерархия элементов. В этом случае в качестве родителя выступает не группа элементов справочника, а непосредственно один из его элементов. Например, Подразделения, когда одно подразделение является родителем других, входящих в его состав.
Иногда возникают ситуации, когда необходимо, чтобы в справочнике некоторые элементы существовали всегда, независимо от действий пользователя. Например, последовательность действий на предприятии такова, что все товары поступают на основной склад, а затем по мере необходимости перемещаются на другие склады. В этом случае в справочнике Склады всегда должен существовать склад Основной, иначе приходование товаров будет выполнено неправильно. Объект конфигурации Справочник позволяет описать любое количество этих элементов справочника, они называются предопределенными элементами справочника. Эти элементы отличаются от обычных остальных тем, что они создаются в конфигураторе и что пользователь не может их удалить, все остальные действия с ними пользователь может делать, в том числе и переименовывать.
В зависимости от того, какие действия мы хотим выполнить со справочником, нам требуется изображать справочник в разном виде, т.е. форме.
Система может самостоятельно сгенерировать все формы, которые нужны для представления данных, содержавшихся в справочнике. Причем система «знает», какие именно формы нужно использовать в каких ситуациях.
Строго говоря, для отображения справочника в различных ситуациях требуется максимум 5 форм для справочника.
Таблица. Формы справочника
Обратите внимание, что в различных метах конфигуратора одни и те же формы называются по-разному.
Свойства объекта |
Представления св-в |
Представления св-в |
В контекстное меню и в палитре свойств (рис) |
В конструкторе форм (рис) |
На закладке формы (рис) |
Форма объекта |
Форма элемента справочника |
Элемента |
Форма группы |
Форма группы справочника |
Группы |
Форма списка |
Форма списка справочника |
Списка |
Форма для выбора |
Форма выбора справочника |
Выбора |
Форма для выбора группы |
Форма выбора группы справочника |
Выбора группы |
Форма элемента используется для редактирования и создания элемента справочника.
Форма группы используется для редактирования или создания группы справочника. Группа, как правило, содержит гораздо меньше информации, чем сам элемент справочника. Поэтому для нее нужна отдельная форма, отличная от формы элемента.
Форма списка используется для отображения списка элементов справочника.
Форма выбора используется для того, что бы в поле некоторой формы выбрать один из элементов справочника. При этом форма выбора проще, чем форма списка, т.к. в форме списка может показаться много реквизитов.
Форма выбора группы используется, когда в поле некоторой формы нужно выбрать не просто элемент справочника, а одну из его групп.
В конфигураторе может быть описана любая форма. Для создания такого описания существует подчиненный объект конфигурации.
Объект конфигурации Форма может существовать самостоятельно и быть подчиненным одному из прикладных объектов.
Форма служит для визуализации данных, находящихся в БД. Она представляет для пользователя в удобном виде эти данные и позволяет описать алгоритмы, которые будут сопровождать пользователя в его работе с данными.
Код и наименование справочника
Длина кода – важное свойство справочника. Он используется для идентификации элементов справочника и содержит уникальные для каждого элемента справочника значения. Платформа может сама контролировать уникальность кодов и поддерживать астоматическую нумерацию элементов. Поэтому от длины кода будет зависеть количество элементов содержащихся в справочнике.
Длина кода – 9 символов от 1 до 999999999 и это более чем достаточно.
Длина наименовния ограничивается разработчиком и зависит от разумности применения указанной длинны.
Стандартные реквизиты
Стандартные реквизиты заполняются в режиме конфигуратора и являются константами. В окне редактирования объекта конфигурации Справочник Клиенты на закладке Данные нажмем кнопку Стандертные реквизиты. Наименовние, вызовим его контекстное меню пункт Свойства.
В палитре свойств стандартного реквизита Наименование мы видим, что свойствоПроверка заполнения по умолчанию установлено в знасение Выдавать обибку.
Табличная часть справочника
При добавлении нового объекта конфигурации Справочник табличного типа в окне, например, Справочник Сотрудники выходит Имя, Сининим, комментарий, Представление объекта, Расширенное представлени е объекта, Представление списка, Расширенное представление списка, Пояснение. После заполнения переходим на закладку Подсистемы. Выберим подходящую. Далее закладка Данные укажем Длину наименовния, Тип кода, Основное представление. Для дабослени табличной части нажмем кнопку « ».
Нужно задать Имя табличной части, Синоним, Данные, Использование.
Для создания реквизитов табличной части нажмем кнопку «добавить реквизит» и дадим Имя, Синоним и укажем тип.
Теперь в режиме отладки на запрос конфигуратора об обновлении конфигурации дадим утвердительный ответ. Нажмем «Принять». Теперь на панели навигации разделов при выделении подсистемы выйден ее структура. Все объекты отрображены сининимами.
Заполнение таблицы происходит в режиме пользователя.
Контрольные вопросы
С каким типом данных работает Справочник?