Добавление виртуального поля

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

В качестве источника данных для виртуального поля могут выступать:
  • Физическое поле самой карточки.

  • Физическое поле карточки другого типа, которая связана с данной.

  • Системные данные о карточке (например, дата последнего изменения).

  • Результат вычислений, произведённых над любым из вышеперечисленных полей.

Виртуальные поля, определённые в схеме карточки, всегда доступны в рамках соответствующих секций в диалоге настройки представления. Дополнительные виртуальные поля могут быть добавлены из РМА.

Чтобы добавить виртуальное поле карточки:
  1. Откройте настройки карточки (Edit  Card Properties).

  2. Вызовите команду New Virtual Field из контекстного меню узла Virtual Fields дерева объектов.

  3. Выберите добавленное виртуальное поле в дереве объектов.

    CardManager — Добавление виртуального поля
    Рисунок 1. CardManager — Добавление виртуального поля
  4. Введите псевдоним виртуального поля в поле Псевдоним.

    Псевдоним виртуального поля должен отвечать следующим требованиям:
    • Быть уникальным в рамках карточки.

    • Содержать только латинские символы.

    • Не содержать пробелы.

  5. Введите локализованные названия виртуального поля в таблице Названия.

  6. Введите локализованные описания виртуального поля, для отображения в подсказках к полю в диалогах поиска и представлений, в таблице Description.

  7. Выберите тип виртуального поля в списке Тип:

    • int — целое.

    • bool — булево значение.

    • datetime — дата и время.

    • uniqueid — уникальный идентификатор.

    • string — строка.

    • unistring — строка в формате Unicode.

    • float — число с плавающей точкой.

    • unitext — текст в формате Unicode.

    • decimal — десятичное число.

    • binary — двоичные данные.

  8. Выберите секцию, на основе данных которой строится виртуальное поле.

    Из этой секции будут выбираться физические поля для вычислений, и к ней будут последовательно присоединяться другие секции или таблицы.

  9. В элементе Определение поля выберите метод получения данных вычисляемого поля:

    • Поле секции — физическое поле основной или присоединённой секции.

    • Вычисляемое поле — вычисляемое поле по данным физического поля основной или присоединённой секции.

  10. В таблице Присоединенные разделы определите связи основной секции виртуального поля с другими секциями или таблицами.

    1. Кликните Добавить. Будет открыто диалоговое окно добавления присоединяемого раздела.

      CardManager — Присоединение раздела
      Рисунок 2. CardManager — Присоединение раздела
    2. Введите псевдоним присоединенного раздела в поле Alias.

    3. Выберите оригинальную секцию и поле, по которому связываются секции, в полях Source section и Source field.

    4. Выберите присоединяемую секцию и поле, с которыми связываются секции, в полях Target section и Target field.

    5. Если необходимо, настройте условия фильтрации записей присоединённой секции в поле Conditions.

  11. Нажмите кнопку Изменить, расположенную справа от элемента Определение поля. Будет открыто окно настройки виртуального поля:

    • Если в элементе Определение поля выбран режим Поле секции, укажите поле основной или присоединенной секции, из которого будут получены данные виртуального поля.

      CardManager — Выбор поля секции
      Рисунок 3. CardManager — Выбор поля секции
    • Если в элементе Определение поля выбран режим Вычисляемое поле, настройте вычисляемое поле.

      CardManager — Добавление вычисляемого поля
      Рисунок 4. CardManager — Добавление вычисляемого поля

      Описание вычисляемого поля по сути представляет собой совокупность атомарных операций (элементов), выполняющихся в определённом порядке, который задаётся через иерархические группы. Внутри каждой группы элементы могут объединяться арифметической операцией (+, -, \*, /), логической операцией (AND, OR) или агрегацией.

      Вычисления одного уровня исполняются строго последовательно, поэтому важно контролировать порядок их выполнения. Для этого можно перемещать элементы внутри группы кнопками Up и Down.

      Чтобы настроить вычисляемое поле:
      1. Выберите тип данных, возвращаемых при вычислении, в поле Result type.

      2. Если требуется создать группу операций, нажмите кнопку Add group.

      3. Чтобы добавить атомарную операцию, нажмите кнопку Add item.

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

    • Simple — значение физического поля секции, предопределённое значение или результат применения к нему простейшей функции.

    • Switch — результат селекции, сопоставляющей конкретным данным физического поля предопределённые значения.

    • Conditions — условный оператор, формирующий значение элемента в зависимости от значений других элементов.

CardManager — Добавление операции для вычисляемого поля
Рисунок 5. CardManager — Добавление операции для вычисляемого поля

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