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

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

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

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