Вопрос

FilterGroup в сценариях бизнес-процессов

Коллеги, добрый день.

В схемах страниц можно создавать группы фильтров для Esq-запросов, например:

var filterGroup = this.Terrasoft.createFilterGroup();
filterGroup.setLogicalOperation(1);
 
filterGroup.add("NotIPDueDate", this.Terrasoft.createColumnIsNullFilter("CreatedOn"));
filterGroup.add("IPDueDate",this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.GREATER_OR_EQUAL, "CreatedOn",IPDueDate));
 
esq.filters.add("filterGroup", filterGroup);
esq.filters.add("Filter", Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Name", "1"));

Как задать аналогичную конструкцию в задании-сценарии бизнес-процесса на c#?

Нравится

2 комментария
Лучший ответ

Здравствуйте! Как работать с серверным кодом описано в данной статье.

Здравствуйте! Как работать с серверным кодом описано в данной статье.

Класс EntitySchemaQueryFilterCollection

Пример

// create filter collection with And
var filterGroup = new EntitySchemaQueryFilterCollection(esq, LogicalOperationStrict.And);
 
// add CreatedOn filter
filterGroup.Add(esq.CreateFilterWithParameters(FilterComparisonType.GreaterOrEqual, "CreatedOn", ThreeHoursAgo));
 
// add another filter collection for Status with Or
filterGroup.Add(new EntitySchemaQueryFilterCollection(esq, LogicalOperationStrict.Or) {
    esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Status.Text", "Complete"),
    esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Status.Text", "Pending")
});
 
// now add filter collection to esq
esq.Filters.Add(filterGroup);

 

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