Согласно статье https://academy.terrasoft.ru/documents/technic-sdk/7-16/klass-entityschemaquery-rabota-s-filtrami можно подключать и отключать фильтры и далее считывать уже разные отфильтрованные данные
var esqFirstFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Country.Name", "Испания");
var esqSecondFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Country.Name", "Франция");
esq.filters.logicalOperation = Terrasoft.LogicalOperatorType.OR;
esq.filters.add("esqFirstFilter", esqFirstFilter);
esq.filters.add("esqSecondFilter", esqSecondFilter);
esq.getEntityCollection(function (result) {
if (result.success) {
result.collection.each(function (item) {
// Обработка элементов коллекции.
});
}
}, this);
// Для второго фильтра указывается, что он не будет участвовать в построении результирующего запроса.
// При этом данный фильтр не удаляется из коллекции фильтров запроса.
esqSecondFilter.isEnabled = false;
esq.getEntityCollection(function (result) {
if (result.success) {
result.collection.each(function (item) {
// Обработка элементов коллекции.
});
}
}, this);
Решил сделать так же
var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "KtJasperFullNumberPool"
});
var requestFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
"KtRequest", this.get("KtRequest").value);
var productFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
"KtOpportunityProductInterest", this.get("Id"));
esq.filters.add("requestFilter", requestFilter);
esq.filters.add("productFilter", productFilter);
esq.getEntityCollection(function (result) {
if (result.success) {
this.set("IsVisibleKtJasperNumbersInKtRequestDetail", result.collection.getItems().length > 0 ? true : false);
}
}, this);
productFilter.isEnabled = false;
esq.getEntityCollection(function (result) {
if (result.success) {
this.set("NumberCounts", result.collection.getItems().length);
}
}, this);
Но при запуске, когда доходим до второго "esq.getEntityCollection" получаю ошибку "message: Uncaught Terrasoft.ItemAlreadyExistsException: Элемент с ключом "24f2c79e-4a52-457f-9e8e-e24009bb135b" Уже существует"
Как бы не старался, не могу сделать что бы как в примере с ак=ккадемии работало.
Подскажите, что я делаю не так, и что это за элемент что при чтении создается новый?