Вопрос

Как составить запрос в ESQ

Добрый день!

Работаю в Клиентском модуле

Помогите составить запрос : (Field1 == 1) AND (Field2 == 2) AND (Field3 == (33 OR 44 OR 55 OR 66)).

Для случая:

var filtersCollection = this.mixins.RelationshipsRecordsUtilities.getHierarchicalFilter.call(this, 
    masterRecordId, parentRecord.ParentCase, "NameCase");
filtersCollection.add("Filter1", 
    this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "Field1", 1));
filtersCollection.add("Filter2", 
    this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "Field2", 2));
..........................................help

 

Нравится

2 комментария

Павел, здравствуйте.

 

Необходимо создать группу фильтров, указать, что логическая операция - это OR, добавить туда необходимые фильтры. А затем в изначальную коллекцию фильтров добавить созданную группу фильтром следующим образом:

let filterGroup = this.Terrasoft.createFilterGroup();
 
filterGroup.logicalOperation = this.Terrasoft.LogicalOperatorType.OR;
filterGroup.add("Filter3", 
    this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "Field3", 33));
filterGroup.add("Filter4", 
    this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "Field3", 44));
filterGroup.add("Filter5", 
    this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "Field3", 55));
filterGroup.add("Filter6", 
    this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "Field3", 66));
 
filtersCollection.add("FilterGroup", filterGroup);

 

Михаил Назыров,

Спасибо огромное!

Показать все комментарии