Что такое справочник в базе данных
Перейти к содержимому

Что такое справочник в базе данных

  • автор:

Справочники

No contents entries on this page

Contents

Система Ultima Businessware® предоставляет прикладному разработчику механизмы создания и редактирования справочников, описывающих бизнес-объекты предметной области.

Описание справочников хранится в схеме ядра базы данных в следующих таблицах:

• DICTIONARIES – атрибуты справочников;

• DICT_PROPERTIES – свойства справочников;

• PROP_TRANSLATIONS – локализованные значения полей справочника, переводимых на язык отличный от языка по умолчанию;

• DICT_TOONEREFS – взаимосвязи свойств справочников с другими справочниками;

• LINK_TABLES – атрибуты развязочных таблиц;

• LINK_PROPERTIES – свойства развязочных таблиц;

• LINK_TOONEREFS – взаимосвязи свойств развязочных таблиц со справочниками;

• DICT_LINKTABLES – взаимосвязи справочников с другими через развязочные таблицы.

Поля этих таблиц будут подробно описаны ниже при описании механизма создания новых объектов типа справочник.

С помощью таблиц OBJECTS и VERSIONS реализуется механизм версионирования конфигурации.

Каждая из таблиц, описывающих справочники, имеет по два ключевых поля, связанных с соответствующими таблицами:

• OBJECT_ID – идентификатор объекта;

• VERSION_ID – идентификатор версии конфигурации.

Физическая (ER) модель данных выглядит следующим образом:

Dict_Dict_Tables_ER

Прикладной разработчик может осуществлять запросы к метаданным и через представления (view) – виртуальные таблицы, полученные выборкой из базы данных всех объектов относящихся к одной версии конфигурации, идентификатор которой получен из текущей сессии. Таким образом, обращаясь к таблицам базы данных и внося в них изменения, разработчик получает доступ только к выбранной при входе в систему версии конфигурации. Для всех таблиц представлений к имени таблицы добавляется префикс «V».

Модель проекции текущей версии данных выглядит в этом случае гораздо проще:

Dict_Dict_Tables

Таблица PROP_TRANSLATIONS модели данных не имеет префикса «V», так как не является представлениям по причине того, что не версионируется.

В таблице DICTIONARIES хранятся атрибуты , которые описывают справочник и его таблицу в прикладной схеме базы данных:

• NAME – название справочника, определяет название генерируемого класса ;

• CAPTION – отображаемое в экранных формах название справочника, например, для справочника контрагентов Agents это может быть название «Контрагенты» или «Справочник контрагентов»;

• TABLE_NAME – название таблицы в прикладной схеме базы данных (вследствие ограничений, накладываемых СУБД Oracle, название может содержать только буквы латинского алфавита в верхнем регистре, цифры и знак «_», при этом название должно начинаться с буквы и быть не больше 30 символов);

• CACHED – флаг кэширования, если он установлен – справочник кэшируется на компьютерах конечных пользователей. При повторном обращении к нему данные берутся из локальной копии, а не с сервера базы данных, что можно использовать для справочников с редко меняющимися данными, например, списком офисов.

Для кэшируемого справочника всегда рассылаются уведомления об изменении, поэтому не следует делать кэшируемыми часто изменяющиеся справочники .

• NOTIFICATION_ENABLED – флаг уведомления, используется для оповещения о внесенных в данные справочника изменениях. Для кэшируемого справочника уведомления рассылаются всегда независимо от состояния флага;

• PARENT_REF_OBJ_ID (FK) – атрибут используется для создания справочника древовидного типа. В качестве его значения указывается ссылка на запись таблицы DICT_TOONEREFS , которая указывает, какое из свойств выбранного справочника (полей его таблицы) будет родительским ( PARENT_ID в примере):

Dict_Tree

• DISPLAY_FORMAT – формат строки, в котором отображаются элементы справочника в экранных формах, когда они выводятся не в табличном, а строковом виде;

• SCRIPT_OBJ_ID (FK) – обработчик событий справочника (перед созданием, перед сохранением, после сохранения, перед удалением, после удаления), создается при необходимости;

• IS_SMALL – флаг размера справочника, устанавливается в true для справочников с небольшим количеством строк. Флаг влияет на работу некоторых элементов управления (controls), ориентированных на работу со справочниками. Так, например, содержимое маленьких справочников выводится в элементах управления DictionaryLookupEdit и DictionaryMultiSelectEdit целиком, содержимое прочих фильтруется;

• TRANSP_LOCALIZATION – флаг прозрачности локализации ( true – справочник локализуется прозрачно, false – непрозрачно).

Локализация справочников подробно описана в следующем разделе .

В таблице DICT_PROPERTIES описываются свойства справочника – по сути, поля его таблицы :

• NAME – название свойства, определяет название свойства генерируемого класса ;

• CAPTION – отображаемое в экранных формах название свойства справочника, например, для свойства Name справочника контрагентов это может быть «Имя контрагента» или «Название контрагента»;

• DICT_OBJ_ID (FK) – ссылка на справочник, которому принадлежит свойство, заполняется автоматически при добавлении его в справочник;

• COLUMN_NAME – название поля таблицы в прикладной схеме базы данных (на название поля СУБД Oracle накладывает те же ограничения, что и на таблицу);

• TYPE_ID (FK) – тип свойства (подробнее см. раздел Типы данных );

• CONTROL_ID (FK) – элемент управления, который будет использоваться по умолчанию в экранных формах для ввода значений этого свойства, выбирается из предлагаемых системой. Например, для строкового свойства это может быть строка, поле или строка для ввода пароля, скрывающая введенные символы;

• STRING_SIZE – ограничивает длину строки, если в качестве типа свойства TYPE_ID выбран string или text ;

• IS_MULTILANGUAGE – флаг, указывающий требуется ли перевод для этого свойства;

• IS_REQUIRED – флаг, указывающий обязательно ли свойство для заполнения;

• DEFAULT_VALUE – значение свойства по умолчанию, которое подставляется автоматически при создании нового элемента справочника.

В таблице PROP_TRANSLATIONS хранятся локализованные значения полей справочника :

• OBJECT_ID (FK) – ссылка на локализуемое свойство справочника;

• VALUE_ID – запись справочника в прикладной схеме базе данных, свойство которой локализуется;

• LANG_ID (FK) – язык локализации;

• STRING_VALUE – поле, предназначенное для хранения локализованного значения длинной не больше 4’000 символов;

• CLOB_VALUE – поле, предназначенное для хранения локализованного значения длинной свыше 4’000 символов.

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

• NAME – название взаимосвязи, определяет название свойства генерируемого класса типа класса , на который оно ссылается;

• CAPTION – отображаемое в экранных формах название взаимосвязи;

• DICT_OBJ_ID (FK) – справочник, свойство которого является ссылкой на другой справочник;

• PROP_OBJ_ID (FK) – свойство, которое является ссылкой на другой справочник. В качестве значения типа этого свойства ( TYPE_ID ) должен быть выбран long ;

• REF_DICT_OBJ_ID (FK) – справочник, на который ссылается указанное свойство.

Кроме того, через таблицу DICT_TOONEREFS задается свойство-родитель для справочников древовидного типа. В этом случае значения DICT_OBJ_ID (FK) и REF_DICT_OBJ_ID (FK) совпадают.

В результате заполнения всех обязательных атрибутов и свойств в прикладной схеме базы данных будет создана новая таблица TABLE_NAME с первичным ключом ID и полями COLUMN_NAME , которая будет использоваться для хранения данных нового справочника.

Кроме того, для каждой таблицы справочника создается представление, через которое производятся все операции чтения/записи. Представление необходимо для:

• версионирования схемы СУБД;

• поддержки часовых поясов;

• прозрачной локализации мультиязычных свойств справочников.

Рассмотрим на примере создание справочника товаров.

Описываем атрибуты и свойства нового справочника «Товары». В результате в схеме ядра сохраняются следующие метаданные:

Dict_Example1

На их основании в прикладной схеме базы данных ядром создается таблица GOODS.

В таблице LINK_TABLES хранятся атрибуты , которые описывают развязочную таблицу в прикладной схеме базы данных:

• NAME – название развязочной таблицы, определяет название генерируемого класса ;

• CAPTION – отображаемое в экранных формах название развязочной таблицы, значение этого атрибута подставляется по умолчанию в соответствующее поле при заполнении связи с ней справочника;

• TABLE_NAME – название таблицы в прикладной схеме базы данных.

В таблице LINK_PROPERTIES описываются свойства развязочной таблицы – по сути, поля ее таблицы в прикладной схеме базы данных.

• NAME – название свойства, определяет название свойства генерируемого класса ;

• CAPTION – отображаемое в экранных формах название свойства развязочной таблицы;

• LINK_OBJ_ID (FK) – ссылка на развязочную таблицу, которой принадлежит свойство, заполняется автоматически при добавлении его в развязочную таблицу;

• COLUMN_NAME – название поля таблицы в прикладной схеме базы данных;

• TYPE_ID (FK) – тип свойства (подробнее см. раздел Типы данных );

• CONTROL_ID (FK) – элемент управления, который будет использоваться по умолчанию в экранных формах для ввода значений этого свойства, выбирается из предлагаемых системой. Например, для строкового свойства это может быть строка, поле или строка для ввода пароля, скрывающая введенные символы;

• STRING_SIZE – ограничивает длину строки, если в качестве типа свойства TYPE_ID выбран string или text ;

• IS_MULTILANGUAGE – флаг, указывающий требуется ли перевод для этого свойства;

• IS_REQUIRED – флаг, указывающий обязательно ли свойство для заполнения;

• DEFAULT_VALUE – значение свойства по умолчанию, которое подставляется автоматически при создании нового элемента развязочной таблицы;

• IS_KEY – флаг, указывающий, что данное свойство является ключевым . Каждому набору ключевых свойств развязочной таблицы (помеченных флагом IS_KEY ) соответствует только один набор значений остальных ее свойств. У каждой развязочной таблицы должно быть как минимум два ключевых свойства.

Свойство развязочной таблицы может быть ссылкой на справочник, взаимосвязи такого рода хранятся в таблице LINK_TOONEREFS :

• NAME – название взаимосвязи, определяет название свойства генерируемого класса типа класса , на который оно ссылается;

• CAPTION – отображаемое в экранных формах название взаимосвязи;

• LINK_OBJ_ID (FK) – развязочная таблица , свойство которой является ссылкой на справочник;

• PROP_OBJ_ID (FK) – свойство развязочной таблицы, которое является ссылкой на справочник. В качестве значения типа этого свойства ( TYPE_ID ) должен быть выбран long ;

• REF_DICT_OBJ_ID (FK) – справочник, на который ссылается указанное свойство.

В результате заполнения всех обязательных атрибутов и свойств в прикладной схеме базы данных будет создана новая таблица TABLE_NAME с полями COLUMN_NAME , которая будет использоваться для хранения данных развязочной таблицы.

В таблице DICT_LINKTABLES хранятся взаимосвязи справочника с другими посредством развязочных таблиц :

• NAME – название развязочной таблицы, определяет название свойства-коллекции генерируемого класса ;

• CAPTION – отображаемое в экранных формах название развязочной таблицы, подставляется по умолчанию из соответствующего атрибута LINK_TABLES , может быть изменено;

• DICT_OBJ_ID (FK) – ссылка на редактируемый справочник, заполняется автоматически;

• LINK_OBJ_ID (FK) – развязочная таблица, с которой будет связан редактируемый справочник;

• PROP_OBJ_ID (FK) – поле развязочной таблицы, которому будет соответствовать идентификатор ( ID ) свойств редактируемого справочника.

Развязочные таблицы не имеют собственного интерфейса редактирования данных, как, например, элементы справочников. В экранной форме редактирования элементов справочника, который мы связываем с помощью развязочных таблиц с другим, автоматически создастся закладка с названием, заданным в атрибуте CAPTION , на которой будет возможно задавать отношения элементов текущего справочника с элементами, заданными в развязочной таблице LINK _OBJ_ID (FK), и редактировать связанные с ними переменные .

В таблице DICT_TOMANYREFS описываются взаимосвязи справочника с другими через отношения многие ко многим и соответствующая им таблица в прикладной схеме базы данных:

• NAME – название ссылки ко многим, определяет название свойства коллекции генерируемого класса ;

• CAPTION – отображаемое в экранных формах название ссылки ко многим;

• DICT_OBJ_ID (FK) – ссылка на создаваемый (редактируемый) справочник, заполняется автоматически;

• TABLE_NAME – название таблицы ссылок ко многим в прикладной схеме базы данных;

• COLUMN_NAME – свойство (поле) таблицы ссылок ко многим, по которому создаваемый (редактируемый) справочник будет связан с другим;

• REF_DICT_OBJ_ID (FK) – ссылка на другой справочник, с которым будет связан создаваемый (редактируемый);

• REF_COLUMN_NAME – свойство (поле) таблицы ссылок ко многим, с которым будет связан другой справочник.

В результате заполнения всех свойств в прикладной схеме базе данных будет создана новая таблица (ссылок ко многим) с именем TABLE_NAME и двумя полями COLUMN_NAME и REF_ COLUMN_NAME , ссылающимися на ключевые поля двух справочников DICT_OBJ_ID (FK) и REF_DICT_OBJ_ID (FK) .

Таблицы отношений многие ко многим так же, как и развязочные таблицы, не имеют собственного интерфейса редактирования данных. Связывая текущий справочник ссылками ко многим с другим, мы тем самым автоматически создаем в его экранной форме закладку с названием, заданным в атрибуте CAPTION , на которой будет возможно задавать отношения элементов текущего справочника с элементами справочника REF_DICT_OBJ_ID (FK) .

Справочники

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

Структура справочника

Каждый элемент справочника характеризуется кодом и наименованием. Система поддерживает режим автоматической нумерации элементов, при котором она самостоятельно может генерировать код для нового элемента справочника. Кроме этого система позволяет осуществлять контроль уникальности кодов справочника, не разрешая создавать элементы с одинаковыми кодами:

Справочники

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

Справочники

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

Справочники

Справочники могут поддерживать иерархическое расположение элементов. Например, в справочнике Номенклатура могут быть созданы группы: Бытовая техника, Обувь, Продукты и т. д., в которых располагаются элементы, относящиеся к этим группам. Кроме того группы справочника могут включать в себя и другие группы, создавая тем самым многоуровневую иерархическую структуру.

Справочники

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

Справочники

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

Справочники

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

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

Справочники

Формы справочника

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

Справочники

Форма списка

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

Справочники

Форма элемента

Для просмотра и изменения данных отдельных элементов справочника используется форма элемента. Как правило, она представляет данные в удобном для восприятия и редактирования виде:

Справочники

Форма группы

Система поддерживает отдельный вид формы для групп справочника. Это связано с тем, что, как правило, состав информации, относящейся к группе справочника, намного меньше, чем состав данных, имеющих отношение к отдельным элементам справочника:

Справочники

Форма выбора, форма выбора группы

При различных действиях пользователя в прикладном решении возникает необходимость выбора конкретных элементов справочников. Это может потребоваться, например, при создании приходной накладной, в которой должны быть перечислены определенные товары. В этом случае система использует форму выбора справочника, которая, обычно, содержит минимальный набор информации, необходимой для выбора того, или иного элемента:

Справочники

Кроме всех перечисленных форм, система поддерживает еще форму выбора группы справочника, предназначенную для выбора только среди групп, содержащихся в справочнике.

Макеты

Справочнику могут быть сопоставлены несколько макетов, содержащих данные, необходимые для обеспечения работы справочника:

Справочники

Макеты могут использоваться для формирования печатных форм справочника или для отображения дополнительной информации, имеющей отношение к справочнику.

Классификация типов справочников в базах данных

К справочникам я отношу всю ту информацию, которая необходима исключительно для красивого вывода пользователю. И как вариант от нее будет нужно брать пару циферок. Какой-нибудь (вес коробки). Внутри приложения все равно будут всевозможные ID и константы. При проектировании от них можно абстрагироваться и считать что они просто есть и будут показываться как надо.

Одно из решений, к которому все приходят рано или поздно это вообще не создавать никакой структуры под справочники, а хранить все в некой универсальной структуре. Которая с виду отлично ложится на классы в приложении.

СХЕМА

EAV модель

В интернете про нее написано много чего. Но основная идея, подверженная на практике использовать ее только в том случае когда необходимы сущности задаваемые пользователем. Это настолько редкий класс проектов, что о них даже не стоит говорить.
В любом другом случае мы получаем неудобочитаемую, медленно работающую структуру. Без каких-либо плюсов.

Классические справочники

Нерасширяемые справочники
Пример: Пол человека.
Плюсы выделения этого класса в том что мы сразу, на этапе проектирования, определяем сколько и каких значений в них будет лежать.
Благодаря этому мы можем соответсвенно проектировать интерфейс пользователя, писать CASE по всем возможным вариантам, итд. С ограниченным числом значений в справочнике работать всегда проще чем с неограниченным.
Например:
CASE
WHEN sex = ‘М’ then caption = ‘Он’
WHEN sex = ‘Ж’ then caption = ‘Она’
WHEN sex = ‘Н’ then caption = ‘НЛО’
END

Если сделать справочник расширяемым, такая конструкция не заработает. Надо делать дополнительные таблицы, писать дополнительные запросы.

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

Расширяемые справочники
Пример: Страна проживания
Плюсы выдления этого класса в том что мы не будем требовать задавания уникального кода для каждого нового значения. Нам такие коды вообще будут не нужны.
Есть большой соблазн сделать таблицу со списком всех стран. И реализовать выбор из списка. В лучшем случае с поиском по первой букве. Но на практике оказывается что 95% людей будут из России. А остальные 5% из десяти других стран. И весь этот список из сотни наименований полностью никогда не будет использоваться.

Куда лучше сделать обычное текстовое поле для ввода, и показывать список отфильтрованный по первым буквам. Эстеты могут добывить кнопочку показывающую весь список сразу. Сам список генерить по всем ранее введенным значениям.

Расширяемые справочники лучше всего делать просто текстовыми аттрибутами. Контроль дубликатов будет осуществляться благодаря выпадающему списку подходящих вариантов. Ну и совсем хорошо добавить администратору возможность заводить синонимы РФ = Россия для автозамены.
Как и с нераширяемыми справочниками, не надо делать отдельных таблиц, ключей. Не надо проверять целостность, и думать о том как хранить изменения. Они выраждаются до обычных аттрибутов объетов.

Справочники достойные отдельных таблиц
Пример: Товары
К этому типу относятся все справочники имеющие собственные аттрибуты или ссылающиеся на что-либо. Делаем для них отдельные таблицы.
Их надо проектировать, думать. Общего подхода тут нет.

Коды
Иногда возникает необходимость хранить много связей Код-Имя. Под такие связи лучше всего выделить отдельную таблицу. И во всех остальных таблицах хранить только коды. Этот подход полностью совместимо с этой системой хранения справчников. К примеру для нераширяемого справочника Пол можно довавить коды (“М”, “Ж”, “Н”) и соответвующие им имена (“мужской”, “женский”, “НЛО”)

UPD: Критика выслушана. Статья обновлена.

Что такое справочники

Справочник – унифицированное описание массива условно-постоянной информации, каждый экземпляр которого имеет одинаковые структуру, правила изменения, правила распространения, правила идентификации и консолидации.

Классификатор – это справочник, в структуру которого входит один не участвующий в идентификации атрибут.

Единая система нормативной справочной информации (далее – ЕСНСИ) – федеральная государственная информационная система, которая предназначена для обеспечения единой точки доступа к справочной информации (НСИ).

Данная справочная информация используется в государственных и муниципальных информационных системах, где все заинтересованные стороны – участники информационного взаимодействия – могут получить:

  • Описание справочников/классификаторов, а также базовых государственных информационных ресурсов;
  • Актуальные данные справочников и классификаторов.

В ЕСНСИ для пользователя доступно несколько типов справочников:

  • Простой справочник – тип справочника, представляющий собой массив данных с заданной Пользователем структурой.
  • Справочник-агрегатор простых справочников – тип справочника, имеющий собственную структуру, массив данных которого формируется из входящих в его состав справочников-доноров. В свою очередь справочники-доноры содержат в себе только массив данных и не имеющих собственной структуры, обновляемых и распространяемых совместно.
  • Иерархический справочник – тип справочника, обеспечивающий возможность формирования многоуровневой иерархии с возможность ведения, хранения и распространения связей между родительской и дочерней записями .

Структура справочника

  • Строка;
  • Целое число;
  • Дата;
  • Дробное число;
  • Ссылка;
  • Логический тип;
  • Текст.

Тип строка

  • Наименование атрибута (обязательное поле).
  • Длина (максимальное значение 255 символов) – необязательное поле.
  • Выражение – необязательный атрибут.
  • Выбор отметки «База составного ключа».
  • Выбор отметки «Обязательность заполнения» атрибута – необязательное поле
  • Проверка орфографии.
  • Проверка нецензурной лексики.

Тип целое число

  • Наименование атрибута (обязательное поле).
  • Выбор отметки «База составного ключа».
  • Выбор отметки «Обязательность заполнения» атрибута – необязательное поле.
  • Диапазон значений – необязательное поле.

Тип Дата

  • Наименование атрибута (обязательное поле).
  • Выбор отметки «База составного ключа».
  • Выбор отметки «Обязательность заполнения» атрибута – необязательное поле.
  • Диапазон – необязательное поле.

Тип Дробное число

  • Наименование атрибута (обязательное поле).
  • Выбор отметки «База составного ключа».
  • Выбор отметки «Обязательность заполнения» атрибута – необязательное поле
  • Диапазон значений – необязательное поле.

Тип Логический

  • -true (истина, «да», логическая единица «1»);
  • false (ложь, «нет», логический ноль «0»).
  • Наименование атрибута (обязательное поле).
  • Выбор отметки «Обязательность заполнения» атрибута – необязательное поле.

Тип Текст

  • Наименование атрибута (обязательное поле).
  • Длина (более 255 символов) – необязательное поле.
  • Выражение – необязательный атрибут.
  • Выбор отметки «Обязательность заполнения» атрибута – необязательное поле.
  • Проверка орфографии.
  • Проверка нецензурной лексики.

Тип Ссылка

  • Выбор отметки «Обязательность заполнения» атрибута – необязательное поле.
  • Справочник из списка.
  • Атрибут из справочника.
  • Тип Ссылка не подлежит изменению
  • Любой тип атрибута можно изменить на тип Текст или тип Строка
  • Для ключевого атрибута доступна смена типа только на строку.
  • Ограничения на количество символов для строки можно только увеличить.

Автозаполнение полей в справочниках-донорах

Для справочников-доноров реализована возможность выбирать и заполнять константными значениями атрибуты, у которых есть свойство Автоматическое заполнение в справочнике-доноре (Рисунок 1). При создании новой записи справочника-донора поле с этим свойством заполняется автоматически. Данное свойство недоступно, если атрибут выбран в качестве уникального идентификатора ключа записи (База составного ключа).

Рисунок 1 Заполнение структуры справочника-агрегатора.png

Рисунок 1 – Заполнение структуры справочника-агрегатора.

Если у справочника-агрегатора есть донор хотя бы с одним автозаполняемым полем, то у атрибутов справочника-агрегатора становится неактивно для редактирования – имя атрибута и чекбокс автозаполнения (Рисунок 2).

Рисунок 2 Вид структуры справочника-агрегатора после создания справочника-донора.png

Рисунок 2 – Вид структуры справочника-агрегатора после создания справочника-донора.

Указывать константные значения для автозаполняемых атрибутов пользователь может на этапе создания справочника-донора (Рисунок 3).

Рисунок 3 Создание справочника-донора.png

Рисунок 3 – Создание справочника-донора.

На вкладке атрибутов у справочника-донора и справочника-агрегатора проставляются метки «Автозаполнение», если поле было заполнено при создании автозаполняемым значением (Рисунок 4).

Рисунок 4 Просмотр атрибутного состава справочника-донора справочника-агрегатора.png

Рисунок 4 – Просмотр атрибутного состава справочника-донора/справочника-агрегатора.

При заполнении значений в доноре автозаполняемые поля неактивны и сразу заполнены значениями, которые были введены при создании донора (Рисунок 5).

Рисунок 5 Создание записи в справочнике-доноре.png

Рисунок 5 – Создание записи в справочнике-доноре.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *