Добавление виртуального поля
Виртуальное поле представляет собой правило для формирования данных, которые физически не хранятся в самой карточке, но могут быть использованы при построении представлений (отчётов) с участием карточек такого типа.
-
Физическое поле самой карточки.
-
Физическое поле карточки другого типа, которая связана с данной.
-
Системные данные о карточке (например, дата последнего изменения).
-
Результат вычислений, произведённых над любым из вышеперечисленных полей.
Виртуальные поля, определённые в схеме карточки, всегда доступны в рамках соответствующих секций в диалоге настройки представления. Дополнительные виртуальные поля могут быть добавлены из РМА.
-
Откройте настройки карточки (
). -
Вызовите команду New Virtual Field из контекстного меню узла Virtual Fields дерева объектов.
-
Выберите добавленное виртуальное поле в дереве объектов.
Рисунок 1. CardManager — Добавление виртуального поля -
Введите псевдоним виртуального поля в поле Псевдоним.
Псевдоним виртуального поля должен отвечать следующим требованиям:-
Быть уникальным в рамках карточки.
-
Содержать только латинские символы.
-
Не содержать пробелы.
-
-
Введите локализованные названия виртуального поля в таблице Названия.
-
Введите локализованные описания виртуального поля, для отображения в подсказках к полю в диалогах поиска и представлений, в таблице Description.
-
Выберите тип виртуального поля в списке Тип:
-
int — целое.
-
bool — булево значение.
-
datetime — дата и время.
-
uniqueid — уникальный идентификатор.
-
string — строка.
-
unistring — строка в формате Unicode.
-
float — число с плавающей точкой.
-
unitext — текст в формате Unicode.
-
decimal — десятичное число.
-
binary — двоичные данные.
-
-
Выберите секцию, на основе данных которой строится виртуальное поле.
Из этой секции будут выбираться физические поля для вычислений, и к ней будут последовательно присоединяться другие секции или таблицы.
-
В элементе Определение поля выберите метод получения данных вычисляемого поля:
-
Поле секции — физическое поле основной или присоединённой секции.
-
Вычисляемое поле — вычисляемое поле по данным физического поля основной или присоединённой секции.
-
-
В таблице Присоединенные разделы определите связи основной секции виртуального поля с другими секциями или таблицами.
-
Кликните Добавить. Будет открыто диалоговое окно добавления присоединяемого раздела.
Рисунок 2. CardManager — Присоединение раздела -
Введите псевдоним присоединенного раздела в поле Alias.
-
Выберите оригинальную секцию и поле, по которому связываются секции, в полях Source section и Source field.
-
Выберите присоединяемую секцию и поле, с которыми связываются секции, в полях Target section и Target field.
-
Если необходимо, настройте условия фильтрации записей присоединённой секции в поле Conditions.
-
-
Нажмите кнопку Изменить, расположенную справа от элемента Определение поля. Будет открыто окно настройки виртуального поля:
-
Если в элементе Определение поля выбран режим Поле секции, укажите поле основной или присоединенной секции, из которого будут получены данные виртуального поля.
Рисунок 3. CardManager — Выбор поля секции -
Если в элементе Определение поля выбран режим Вычисляемое поле, настройте вычисляемое поле.
Рисунок 4. CardManager — Добавление вычисляемого поляОписание вычисляемого поля по сути представляет собой совокупность атомарных операций (элементов), выполняющихся в определённом порядке, который задаётся через иерархические группы. Внутри каждой группы элементы могут объединяться арифметической операцией (
+
,-
,\*
,/
), логической операцией (AND
,OR
) или агрегацией.Вычисления одного уровня исполняются строго последовательно, поэтому важно контролировать порядок их выполнения. Для этого можно перемещать элементы внутри группы кнопками Up и Down.
Чтобы настроить вычисляемое поле:-
Выберите тип данных, возвращаемых при вычислении, в поле Result type.
-
Если требуется создать группу операций, нажмите кнопку Add group.
-
Чтобы добавить атомарную операцию, нажмите кнопку Add item.
При добавлении атомарной операции в существующую по умолчанию группу, необходимо выбрать тип элементов данной операции:
-
-
Simple — значение физического поля секции, предопределённое значение или результат применения к нему простейшей функции.
-
Switch — результат селекции, сопоставляющей конкретным данным физического поля предопределённые значения.
-
Conditions — условный оператор, формирующий значение элемента в зависимости от значений других элементов.
-
Важно контролировать типы конкретных элементов вычислений и их групп, чтобы избежать ошибок в вычислениях, и получить правильный тип результирующего значения.