Платформа 3V/Справочник/Задание атрибутов в справочнике

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

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

"attributes": [...]
 1 {
 2         "id": 1,
 3         "name": "...",
 4         "code": "...",
 5         "description": "",
 6         "dataType": "...",
 7         "type": "...",
 8         "isNullable": false,
 9         "hasMultipleValues": false,
10         "isVisible": false,
11         "isReadOnly": true,
12         "formula": null,
13         "tableName": "",
14         "identIndex": {
15           "code": null,
16           "isUnique": false,
17           "dbIndexName": null,
18           "fields": [],
19           "isNew": true
20         },
21         "referenceIndex": {
22           "code": null,
23           "isUnique": false,
24           "dbIndexName": null,
25           "fields": [],
26           "isNew": true
27         },
28         "attributeLink": null,
29         "defaultValue": null,
30         "defaultValueExpression": null,
31         "userAttributePermissions": null,
32         "component": null
33       }

Описание свойств атрибута

Свойство Описание
id Уникальный идентификатор атрибута справочника (базовые атрибуты имеют идентификаторы от 1 до 4, нумерация дополнительных атрибутов начинается с 20)
name Наименование атрибута, которое будет по умолчанию отображаться у атрибута
code Код атрибута в таблице в базе данных
description описание хранимых данных атрибута
dataType тип данных (список доступных типов данных см. ниже)
type тип атрибута (список доступных типов атрибутов см. ниже)
isNullable флаг о возможности пустого значения
hasMultipleValues для атрибутов в типом данных "Связанный" флаг на возможность множественной отметки
isVisible флаг о видимости атрибута
isReadOnly флаг о возможности только чтения или редактирования атрибута
formula формула расчета для вычислимых атрибутов
tableName Физическое имя связанной таблицы для множественного атрибута
attributeLink блок свойств предназначенных для указания связи между двумя справочниками
attributeLink.name наименование связанного справочника
attributeLink.linkedDictionaryId идентификатор связанного справочника
attributeLink.linkedAttributeId в связанном справочнике идентификатор атрибута, по которому необходимо связать данные
attributeLink.linkedAttributeNameId в связанном справочнике идентификатор атрибута, значения которого необходимо отобразить в текущем справочнике
attributeLink.canSelect связь атрибутов, по которой будет происходить блокировка элементов в столбцах отчета
defaultValue постоянное значение атрибута по умолчанию
defaultValueExpression значение атрибута по умолчанию на основании выражения
component наименование компонента (веб), который должен использоваться для работы с данными. Например, используется для отображения в отчетах логических атрибутов в трех возможных состояниях (True/False/null)


Базовыми атрибутами справочника является:

Наименование атрибута (name) Идентификатор (id) Код (code) Тип атрибута (type) Тип данных (dataType)
Идентификатор 1 ID Id Integer/String/DateTime/Guid
Наименование 2 NAME Name String
Порядок 3 ORD Ord Integer
Родитель 4 PARENT_ID ParentId Integer/String/DateTime/Guid

Типы данных:

Тип данных (dataType) Описание
Boolean Логическое значение (да/нет)
Clob Двоичные данные
DateTime Дата и время
Double Вещественное число
Integer Целое число (32 разряда)
Guid Гарантированный уникальный идентификатор
Json Данные в формате JSON
Long Целое число (64 разряда)
String Строка

NB! Поддержка атрибутов типа DateTime, String и guid в качестве первичного ключа справочника - идентификатора поддерживается только чтения, без изменения элементов. Если в справочнике есть атрибут с типом "родитель", то ему необходимо обязательно указывать тип данных такой же как у идентификатора!