Фильтр для ссылочного поля. Пример настройки
В данной статье описан пример фильтра договоров клиента на форме заявки.
Системные имена шаблонов записи и атрибутов, задействованных в примере, приведены в таблице:
| Шаблон записи | Атрибуты |
|---|---|
| Requests (Заявки) | contract — контракт; client_requestor — клиент |
| Contracts (Контракты) | client — клиент |
В выражении будут использованы следующие функции и операторы:
- функция
EQUALS()для выбора записи, которая соответствует клиенту в заявке; - оператор
fromдля перечисления всех записей из шаблона записиContracts; - оператор
whereдля выбора записей, которые соответствуют условию; - оператор
selectдля выбора значений атрибута.
Порядок настройки
-
Создайте и настройте шаблоны записей и атрибуты.
-
В шаблоне записи
Requestsоткройте раздел «Формы». -
Добавьте атрибут
contractна форму. -
В поле «Фильтр» введите выражение:
from a in db->Contracts where EQUALS($client_requestor,a->client) select a->id
Синтаксис
| Элемент | Описание |
|---|---|
from a in db->Contracts |
Объявление локальной переменной a. Объявление шаблона записи Contracts в качестве источника данных: db->Contracts. Перечисление всех записей из шаблона записи Contracts. |
where EQUALS($client_requestor, a->client) |
Выбор записи, в которой значение client_requestor текущей записи соответствует значению атрибута client в справочнике контрактов. |
select a->id |
Выбор идентификаторов необходимых записей. |