Skip to Content

Задание вычисляемого атрибута

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

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

Шаблон записиАтрибуты
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.