Пользовательские типы данных для атрибутов

Этот раздел описывает пользовательские настройки атрибутов сущностей домена.

Ознакомьтесь с правилами нотации в схеме домена. Это позволит присваивать корректные названия создаваемым элементам схемы. Эти названия будут отображаться в интерфейсе системы.

Структура поля dataTypes

Путь в схеме: dataTypes[]

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

Описания пользовательских типов данных включают общие поля и специфические в зависимости от типа.

Общие поля для всех пользовательских типов данных

Описание каждого пользовательского типа включает следующие поля:

Поле Обязательное поле Значение по умолчанию Описание Тип данных Комментарий

id

да

Идентификатор типа данных.

Data ID

name

нет

Пустая строка

Название типа данных.

строка

description

нет

Пустая строка

Описание элемента домена.

строка

Не выводится в представлениях. Отображается в схеме домена

dataType

да

Описываемый тип данных.

перечисление

Доступные значения:

  • Enum

  • Table

  • Workflow

Ознакомьтесь со статьей Типы данных в схемах доменов.

Перечисления (dataType: Enum)

Описание перечисления дополнительно содержит следующие поля:

Поле Обязательное поле Значение по умолчанию Описание Тип данных Комментарий

values

да

Массив записей, входящих в перечисление.

массив

Доступно для перечислений. Ознакомьтесь с описанием поля values.

view

нет

Пустой массив

Представление значений перечисления.

массив

Ознакомьтесь с описанием поля view.

Значения перечисления (values)

Путь в схеме: dataTypes[].values[]

Поле values является массивом. Каждый элемент массива имеет следующую структуру:

Поле Обязательное поле Значение по умолчанию Описание Тип данных Комментарий

id

да

Идентификатор значения перечисления.

строка

name

нет

Пустая строка

Наименование значения перечисления.

строка

description

нет

Пустая строка

Описание элемента домена.

строка

Не выводится в представлениях. Отображается в схеме домена

hidden

нет

false

Скрытие значения.

булево

Если установлено значение true, указанное значение становится недоступным (скрывается) для записи в атрибуты объектов в любых операциях для любых пользователей. Для всех операций чтения и применения в фильтрах скрытое значение по-прежнему остается доступным.

Представление перечисления (view)

Путь в схеме: dataTypes[].view[]

Поле view используется для описания представления значений. Каждый элемент массива имеет следующую структуру:

Поле Обязательное поле Описание Тип данных Комментарий

value

нет

Ссылка на значение перечисления.

Data ID Ref

Доступно для перечислений.

color

нет

Цвет значения.

строка

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

Цвета задаются согласно схеме CSS.

Можно использовать следующие обозначения цвета:

  • название (например, blue)

  • HEX-код (например, #0000ff). Если задать код в шаблоне #rgb (например: #00f), система автоматически распознает его как #rrggbb.

Таблицы (dataType: Table)

Описание таблицы дополнительно содержит следующие поля:

Поле Обязательное поле Значение по умолчанию Описание Тип данных Комментарий

attributes

да (для таблиц)

Массив атрибутов, которые могут отображаться в столбцах таблицы.

массив

Доступно для таблиц. Ознакомьтесь с описанием поля attributes.

maxRows

нет

Максимальное количество записываемых строк в таблице.

Доступно для таблиц.

sorting

нет

Правило сортировки.

Ознакомьтесь с описанием поля sorting.

view

нет

Пустой массив

Табличное представление.

объект

Ознакомьтесь описанием поля view.

Атрибуты таблицы (attributes)

Путь в схеме: dataTypes[].attributes[]

Поле attributes представляет собой массив записей атрибутов атрибута-таблицы. Каждый элемент массива имеет следующую структуру:

Поле Обязательное поле Значение по умолчанию Описание Тип данных Комментарии

id

да

Уникальный идентификатор атрибута

Data ID

name

нет

Пустая строка

Название атрибута

строка

description

нет

Пустая строка

Описание атрибута

строка

Не выводится в представлениях. Отображается в схеме домена.

dataType

да

Тип данных атрибута

перечисление, Data ID Ref или FQID

Можно указывать как встроенный тип данных, так и идентификатор пользовательского типа данных. Если пользовательский тип данных определен в другом домене, нужно указывать в этом поле FQID пользовательского типа данных.

constraints

нет

Пустой массив

Валидация атрибута

массив

Для каждого типа данных задается свой набор ограничителей с набором полей. Ознакомьтесь с описанием поля constraints.

readonly

нет

false

Возможность редактирования атрибута

булево

Доступные значения:

  • true — значение атрибута задается при его создании и не может быть обновлено.

  • false — значение атрибута можно обновлять.

Правила атрибута (constraints)

Путь в схеме: dataTypes[].attributes[].constraints[]

В поле constraints задаются виды валидации атрибута. Каждый элемент массива имеет следующую структуру:

Поле Обязательность и значение по умолчанию Описание Тип данных

kind

да

Описание валидации. Ознакомьтесь со списком доступных значений.

массив

message

нет (по умолчанию — пустая строка)

Сообщение об ошибке при срабатывании ограничителя на входящих данных.

строка

min

нет (по умолчанию — 0)

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

  • range — минимальное значение числа;

  • length — минимальное возможное количество символов в атрибуте.

целое число

max

нет (по умолчанию:

  • 231-1 для числа символов;

  • 4 МБ для размера файла.

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

  • range — максимальное значение числа;

  • length — максимальное возможное количество символов в атрибуте;

  • size — максимальный размер файла.

целое число

regexp

нет

Регулярное выражение. Поле применимо только для ограничителя regexp.

строка

Виды валидации атрибута (kind)

Путь в схеме: dataTypes[].attributes[].constraints[].kind

Доступны следующие типы валидации:

  • required — обязательный атрибут, то есть значение атрибута не должно быть пустым.

  • range — ограничения числового значения (используется только для числовых типов данных: Integer, Decimal, Float).

  • length — ограничение количества символов в атрибуте. Необходимо указать максимальное и/или минимальное количество символов в полях max и min.

  • regexp — задание текстового шаблона в формате регулярного выражения. Необходимо задать выражение в поле regexp.

Правила сортировки (sorting)

Путь в схеме: dataTypes[].sorting[]

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

Поле Обязательное поле Значение по умолчанию Описание Тип данных Комментарии

id

да

Уникальный идентификатор правила сортировки из описания сущности

Data ID

name

Название правила сортировки

строка

by

да

Сортируемые атрибуты, перечисленные в последовательности сортировки

массив

Ознакомьтесь с описанием поля by.

Структура by

Путь в схеме: dataTypes[].sorting[].by[]

Поле by представляет собой массив записей правил сортировки. Каждый элемент массива имеет следующую структуру:

Поле Обязательное поле Значение по умолчанию Описание Тип данных Комментарии

attribute

да

Ссылка на атрибут, по которому производится сортировка.

Data ID Ref

Если в правиле указана ссылка на атрибут с типом данных Reference, система подставляет при сортировке объектов вместо значения самого атрибута значение поля label объекта, на который указывает ссылка.

direction

да

asc

Порядок сортировки

перечисление

Доступные значения:

  • asc — по возрастанию.

  • desc — по убыванию.

Представление таблицы (view)

Путь в схеме: dataTypes[].view

Поле view используется для описания представления значений. Поле имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

columns

да

массив

Описания столбцов таблицы.

Ознакомьтесь с описанием поля columns.

sortingBy

нет (по умолчанию объекты сортируются по времени создания, начиная от более новых)

объект

Описание правила сортировки.

Ознакомьтесь с описанием поля sortingBy.

paging

нет

объект

Настройки количества записей, показываемых в таблице.

Ознакомьтесь с описанием поля paging.

rowHeight

нет

целое положительное число

Высота строки таблицы в виджете, определенная в количестве текстовых строк.

Столбцы таблицы (columns)

Путь в схеме: dataTypes[].view.columns[]

Поле columns используется для описания столбцов таблицы. Каждый элемент массива имеет следующую структуру:

Поле Обязательное поле Значение по умолчанию Описание Тип данных Комментарий

id

да

Идентификатор столбца таблицы.

массив

attribute

да

Атрибут столбца.

строка

label

нет

Пустая строка

Лейбл столбца.

строка

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

control

нет

Тип редактора, используемый в столбце, в соответствии с таблицей.

строка

Определяется системой автоматически на основе указанного атрибута.

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

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

layout

нет

Настройки размера столбца.

объект

Содержит поле width. Ознакомьтесь с описанием поля width.

rowHeight

нет

Высота строки таблицы по умолчанию в количестве текстовых строк.

целое число

Настройки ширины столбца (width)

Путь в схеме: dataTypes[].view.columns[].layout.width

Поле width содержит настройки ширины столбца. Поле имеет следующую структуру:

Поле Обязательное поле Значение по умолчанию Описание Тип данных

default

да

Ширина столбца по умолчанию, в пикселях.

целое положительное число

min

да

Максимальная ширина столбца в пикселях.

целое положительное число

max

да

Минимальная ширина столбца в пикселях.

целое положительное число

Сортировка в столбцах таблицы (sortingBy)

Путь в схеме: dataTypes[].view.sortingBy

Поле sortingBy содержит описание сортировки в столбцах таблицы. Поле имеет следующую структуру:

Поле Обязательное поле Значение по умолчанию Описание Тип данных Комментарий

columns

да

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

массив

default

нет

Столбец и направление сортировки по умолчанию.

объект

Сортировка в столбце

Путь в схеме:

  • dataTypes[].view.sortingBy.columns[]

  • dataTypes[].view.sortingBy.default

Каждый элемент массива columns и поле default имеют следующую структуру:

Поле Обязательное поле Описание Тип данных

column

Да

Столбец, по которому выполняется сортировка

View ID Ref

direction

Да

направление сортировки:

  • asc — сортировка по возрастанию;

  • desc — сортировка по убыванию.

перечисление

Настройки количества записей в таблице (paging)

Путь в схеме: dataTypes[].view.paging

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

Поле Обязательное поле Значение по умолчанию Описание Тип данных Комментарий

sizes

да

Количество записей, показываемых в таблице.

массив целых положительных чисел

В этом поле указываются варианты количества записей, доступные для выбора в настройке. Например, [10, 50, 100].

defaultSize

да

Количество записей, показываемых по умолчанию.

целое положительное число

Конфигурация рабочего процесса (dataType: Workflow)

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

В компактном представлении домена в поле Статус отображается текущий статус рабочего процесса.

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

  • Уведомление об ошибке — если для перехода необходимо загрузить файл или ввести данные.

  • Информационное уведомление — если для перехода необходимо получить обновленные данные сущности. Отображается окно с кнопкой обновления данных.

Описание перечисления дополнительно содержит следующие поля:

Поле Обязательное поле Значение по умолчанию Описание Тип данных Комментарий

statuses

да

Статусы процесса.

массив

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

Ознакомьтесь с описанием поля statuses.

initial

да

Начальный статус процесса.

строка

Доступно для рабочих процессов.

transitions

да

Допустимые переходы между статусами.

массив

Доступно для рабочих процессов. Ознакомьтесь с описанием поля transitions.

view

нет

Пустой массив

Представление статусов рабочего процесса.

массив

Ознакомьтесь с описанием поля view.

Статусы рабочего процесса (statuses)

Путь в схеме: dataTypes[].statuses[]

Поле statuses содержит массив статусов рабочего процесса. Каждый элемент массива имеет следующую структуру:

Поле Обязательное поле Значение по умолчанию Описание Тип данных Комментарий

id

Идентификатор статуса.

Data ID

name

нет

Пустая строка

Название статуса.

строка

description

нет

Пустая строка

Описание элемента домена.

строка

Не выводится в представлениях. Отображается в схеме домена.

hidden

нет

false

Скрытие значения.

булево

Если установлено значение true, указанное значение становится недоступным (скрывается) для записи в атрибуты объектов в любых операциях для любых пользователей. Для всех операций чтения и применения в фильтрах скрытое значение по-прежнему остается доступным.

Переходы между статусами рабочего процесса (transitions)

Путь в схеме: dataTypes[].transitions[]

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

Поле Описание Тип данных Комментарии

from

Идентификатор статуса, для которого описывается переход.

строка

Значение * позволяет задать переход из любого статуса.

to

Идентификатор статуса, в который может перейти исходный статус.

строка

Представление рабочего процесса (view)

Путь в схеме: dataTypes[].view

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

Каждый элемент массива имеет следующую структуру:

Поле Обязательное поле Описание Тип данных Комментарий

status

да (для рабочих процессов)

Ссылка на значение перечисления.

Data ID Ref

Доступно для рабочих процессов.

color

нет

Цвет значения.

строка

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

Цвета задаются согласно схеме CSS.

Можно использовать следующие обозначения цвета:

  • название (например, blue)

  • HEX-код (например, #0000ff). Если задать код в шаблоне #rgb (например: #00f), система автоматически распознает его как #rrggbb.

Была ли полезна эта страница?

Обратная связь