Перейти к содержанию

Пример настройки вычисляемого атрибута

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

Системные имена шаблонов записи и атрибутов, задействованных в примере, приведены в таблице:

Шаблон записи Атрибуты
Request (Заявка) ClientForCurrentUser — клиент 
Cp (Контактные лица)  Cp — деловой партнер
User — пользователь
Clients (Деловые партнеры)  Name — наименование делового партнера (ФИО) 

Атрибут «ClientForCurrentUser» шаблона записи «Request» вычисляется на основании данных, хранящихся в шаблоне записи «Cp».

В выражении будут использованы следующие функции и операторы:

  • функция «EQUALS()» для выбора записи, которая соответствует текущему пользователю;
  • функция «USER()» для определения текущего пользователя;
  • оператор «from» для перечисления всех записей из шаблона записи «Cp»;
  • оператор «where» для выбора записей, которые соответствуют текущему пользователю;
  • оператор «select» для выбора значений атрибута «Name».

 

Пошаговая инструкция:

1. Создайте и настройте шаблоны записей и атрибуты.

2. В шаблоне записи «Request» откройте созданный атрибут «ClientForCurrentUser».

3. Отметьте флаг «Вычисляемый» и перейдите на вкладку «Выражение».

4. Введите выражение.

from a in db->cp where EQUALS(a->user,USER()) select a->cpRef->name

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».