Вопрос
Есть некий объект – положим, контрагент, у которого есть параметр 1, параметр 2, параметр 3. У этого объекта есть деталь, в которой отображаются записи этого же типа объекта, например, контрагенты, у которых выполняется условие «параметр 1 + параметр 2 соответствуют основной записи», «параметр 2 + параметр 3 соответствуют основной записи», «параметр 1 + параметр 3 соответствуют основной записи». В детали можно фильтровать по нескольким колонкам. Но вот как сделать UNION, т.е. «просуммировать» несколько таких независимых наборов фильтров?
Ответ
Для сложной фильтрации используйте класс filterGroup (можно реализовать фильтры любой сложности).
Пример реализации можно увидеть в схеме AccountPageV2 (пакет UIv2) – фильтр emailDetailFilter .
Необходимо реализовать пользовательский метод, который будет содержать «filterGroup» (например, «emailDetailFilter») и затем этот метод добавить необходимой сущности.
filterGroup имеет по умолчанию условие «И». Если необходимо использовать условие «ИЛИ», то необходимо добавить свойство
filterGroup.logicalOperation = Terrasoft.LogicalOperatorType.OR
Пример изображен ниже