Раздел "Virtual fields"
После описания секций и полей карточки можно переходить к описанию виртуальных полей. Виртуальные поля представляют собой правила для формирования данных, которые физически не хранятся в самой карточке, но могут быть интересны при построении представлений (отчётов) с участием карточек такого типа.
-
Физическое поле самой карточки.
-
Физическое поле карточки другого типа, которая по каким-то признакам связана с данной.
-
Системные данные о карточке, например дата последнего изменения.
-
Результат вычислений, произведённых над любым из вышеперечисленных полей.
Виртуальные поля, определённые в схеме карточки, будут всегда доступны в рамках соответствующих секций в диалоге настройки представлений. Помимо этого, пользователи смогут самостоятельно доопределить дополнительные виртуальные поля уже в процессе работы с системой. |
Для создания нового виртуального поля нужно перейти в раздел Virtual fields и выбрать соответствующий пункт контекстного меню.
-
Псевдоним — псевдоним виртуального поля, с помощью которого к нему можно обращаться в коде. Псевдоним должен быть уникальным в рамках карточки.
-
Названия — локализованные названия виртуального поля, отображаемые у пользователя (в диалоге настройки представлений).
-
Description — словесное описание виртуального поля, будет отображаться в виде подсказки к полю в диалогах поиска и представлений.
-
Идентификатор — уникальный идентификатор виртуального поля.
-
Тип — результирующий тип данных виртуального поля.
Доступны только простые типы:-
int — целое.
-
bool — булевское значение.
-
datetime — дата и время.
-
uniqueid — уникальный идентификатор (
GUID
). -
string — строка.
-
unistring — строка в формате Unicode.
-
float — число с плавающей точкой.
-
unitext — текст в формате Unicode.
-
decimal — десятичное число.
-
binary — двоичные данные.
-
-
Идентификатор секции, на основе данных которой строится виртуальное поле. Из этой секции будут выбираться физические поля для вычислений, и к ней будут последовательно присоединяться другие секции или таблицы.
-
Определение поля — источник данных для виртуального поля.
Доступные источники:-
Поле секции — физическое поле основной или присоединённой секции.
-
Вычисляемое поле — правила вычислений над физическим полем основной или присоединённой секции.
-
-
Присоединенные разделы — позволяет определить связи основной секции виртуального поля с другими секциями или таблицами. Секции связываются между собой по определённому полю (обычно — уникальному идентификатору).
-
Alias — уникальный (в рамках определения виртуального поля) псевдоним присоединяемой секции.
-
Source section — секция, к которой производится присоединение (основная секция виртуального поля или ранее присоединенная).
-
Source field — поле оригинальной секции, по которому производится присоединение (
JOIN
). -
Target section — секция другой карточки или системная таблица.
-
Target field — поле присоединяемой секции, по которому производится
JOIN
. -
Conditions — условия фильтрации записей присоединённой секции.
После присоединения всех необходимых секций можно задать правила построения вычисляемых полей. Для чего кликните по кнопке Изменить в блоке настроек поля.
Описание вычисляемого поля по сути представляет собой совокупность атомарных операций (элементов), выполняющихся в определённом порядке, который задаётся через иерархические группы. Внутри каждой группы элементы могут объединяться арифметической операцией (+
, -
, *
, /
), логической операцией (AND
, OR
) или агрегацией.
Вычисления одного уровня исполняются строго последовательно, поэтому важно контролировать порядок их выполнения. Для этого можно перемещать элементы внутри группы кнопками Up и Down. |
-
Simple — значение физического поля секции, предопределённое значение или результат применения к нему простейшей функции.
Рисунок 4. Элемент вычисления вида "Simple" -
Switch — результат селекции, сопоставляющей конкретным данным физического поля предопределённые значения.
Рисунок 5. Элемент вычисления вида "Switch" -
Conditions — условный оператор, формирующий значение элемента в зависимости от значений других элементов.
Рисунок 6. Элемент вычисления вида "Conditions"Важно контролировать типы конкретных элементов вычислений и их групп, чтобы избежать ошибок в вычислениях и получить правильный тип результирующего значения.