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

Настройка фильтра для атрибутов записи

В Comindware Business Application Platform есть дополнительная возможность ограничить отображение и выбор значений для некоторых типов атрибутов. Данный функционал настраивается в разделе «фильтр» в настройках конструктора конкретной формы, на которую вынесен атрибут.

1. Атрибут типа «Пользователь».

Для ограничения выбора значений из списка Пользователей платформы существует 3 варианта:

  • Можно обратиться к системному справочнику пользователей и сделать фильтр по системным атрибутам, например, email, департамент.

Пример: (from a in db->_Account where a->department == "Финансовый департамент" select a->id) – отображение всех пользователей финансового департамента.

  • Можно обратиться к прикладному Шаблону пользователя и сделать фильтр либо по системным, либо по настроенным атрибутам данного шаблона.

Пример: (from a in db->Sotrudniki where NOT(EMPTY(a->INN)) select a->id) – отображение всех сотрудников, у кого указан ИНН.

  • Можно обратиться к любому другому Шаблону записи, где есть атрибут типа Пользователь.

Пример: (from a in db->contracts where GREATER(a->budget, 1000000) select a->managerRef->id) – отображение пользователей, которые являются менеджерами в договорах с бюджетом более 1000000.

Полный перечень атрибутов «Пользователя» можно посмотреть здесь.

2. Атрибут типа «Ссылка».

  • Для ограничения выбора значений из списка связанного шаблона записи напишите выражение с учётом параметров фильтрации.

Например: (from a in db->contracts where GREATER(a->budget, 1000000) select a->id) – отображение договоров с бюджетом более 1000000.

  • Для ограничения выбора значений из списка связанного шаблона записи с обращением в другой шаблон записи, где используется такая же ссылка, напишите выражение со своими параметрами фильтрации.

Например: (from a in db->project where EQUALS(a->status, “Выполнен”) select a->companyRef->id) – отображение компаний с выполненными проектами.

Примечание : для фильтра возможно использовать атрибуты текущей записи (контекста).

3. Атрибут типа «Коллекция».

  • Фильтр для отображения

Для ограничения отображения записей в коллекции напишите выражение на языке Comindware Expression Language, например:

(from a in db->contracts where GREATER(a->budget, 1000000) select a->id) – отображение в форме компании договоров с бюджетом более 1000000.

  • Фильтр для добавления

Для ограничения выбора записей напишите выражение на языке Comindware Expression Language, например:

(from a in db->contracts where GREATER(a->budget, 1000000) select a->id) – ограничение в форме компании возможности добавления договоров с бюджетом более 1000000.

Примечание : на разных формах шаблона записи можно настроить разные фильтры на атрибуты для отображения и выбора значений.


Исследования осуществляются <br>ООО «Колловэар» при грантовой <br>поддержке Фонда «Сколково»
Comindware