Задание вычисляемого атрибута
В данном примере настраивается автоматическое назначение клиента для текущего пользователя. Существует база данных клиентов и менеджеры компании. Каждому менеджеру привязывается клиент.
Системные имена шаблонов записи и атрибутов, задействованных в примере, приведены в таблице:
Шаблон записи | Атрибуты |
---|---|
Request (Заявка) | ClientForCurrentUser – клиент |
Cp (Контактные лица) | Cp – деловой партнер User – пользователь |
Clients (Деловые партнеры) | Name – наименование делового партнера (ФИО) |
Атрибут ClientForCurrentUser шаблона записи Request вычисляется на основании данных, хранящихся в шаблоне записи CP.
В выражении будут использованы следующие Функции и Операторы:
- функция EQUALS() для выбора записи, которая соответствует текущему пользователю,
- функция USER() для определения текущего пользователя,
- оператор from для перечисления всех записей из шаблона записи Cp,
- оператор where для выбора записей, которые соответствуют текущему пользователю,
- оператор select для выбора значений атрибута Name.
Пошаговая инструкция:
1. Создайте и настройте шаблоны записей и атрибуты.
2. В шаблоне записи Request откройте созданный атрибут ClientForCurrentUser.
3. Отметьте флаг Вычисляемый и перейдите на вкладку Выражение.
4. Напишите выражение.
Вычисляемое выражение
5. Запись выражения атрибута
Синтаксис
Элемент | Значение |
---|---|
from a in db->cp | Объявление локальной переменной а. Объявление шаблона записи cp в качестве источника данных: db->cp. Перечисление всех записей из шаблона записи cp. |
where EQUALS(a>user,USER()) | Выбор записи, значение User в которой соответствует текущему пользователю. Функция User() возвращает текущего пользователя, если вычисляемый атрибут принадлежит типу данных Пользователь. |
select a->cpRef->Name | Выбор значений атрибута Name в соответствующих записях и передача этих значений в качестве аргумента. Постфикс Ref в атрибуте cp используется для того, чтобы вызвать данные связанного шаблона записи Name. |