Приветствую!
Недавно занялся изучением и работой с платформой Creatio. По тому по коду прошу не ругать ;)
Задача популярная: выбрать из таблицы записи по фильтру, посчитать кол-во совпадений и сравнить с системной настройкой.
Код реализации с getEntity:
var message;
var recordId = this.get("Id");
if(recordId) {
var esq1 = this.Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "UsrSwimmProgramm"
});
var filterA = esq1.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL, "UsrSPBooleanActive" , 1);
var filterP = esq1.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL, "UsrSPLookupPeriod.Name" , "Ежедневно");
esq1.filters.logicalOperation = Terrasoft.LogicalOperatorType.AND;
esq1.filters.add("filterA",filterA);
esq1.filters.add("filterP",filterP);
esq1.addAggregationSchemaColumn("Id", Terrasoft.AggregationType.COUNT,
"NumberDayLesson", Terrasoft.AggregationEvalType.ALL);
esq1.getEntity(recordId, function(result) {
if (!result.success) {
this.showInformationDialog("Ошибка запроса");
return;
}
message = result.entity.get("NumberDayLesson") + "\n";
this.showInformationDialog(message);
}, this);
}
Код реализации с getEntityCollection:
var message;
var recordId = this.get("Id");
if(recordId) {
var esq1 = this.Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "UsrSwimmProgramm"
});
var filterA = esq1.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL, "UsrSPBooleanActive" , 1);
var filterP = esq1.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL, "UsrSPLookupPeriod.Name" , "Ежедневно");
esq1.filters.logicalOperation = Terrasoft.LogicalOperatorType.AND;
esq1.filters.add("filterA",filterA);
esq1.filters.add("filterP",filterP);
esq1.addAggregationSchemaColumn("Id", Terrasoft.AggregationType.COUNT,
"NumberDayLesson", Terrasoft.AggregationEvalType.ALL);
esq1.getEntityCollection( function(result){
message = result.collection.getByIndex(0).get("NumberDayLesson");
this.showInformationDialog(message);
},this);
}
Так вот, почему при всех равных метод getEntity выдает не определенной значение, а вот с getEntityCollection все работает норм ?