Вопрос

getEntityCollection получение размера

7.11(OnSite)

Задача вывести, значение агригирующей функции COUNT.(Т.е тупо - кол-во записей из таблицы) по правильному

Щас делаю по топорному(count++ при переборе коллекции):

 var esq = this.Ext.create(Terrasoft.EntitySchemaQuery, {rootSchemaName: "Lead" });
 
                  esq.addColumn("Id");
                  esq.addAggregationSchemaColumn("Id", Terrasoft.AggregationType.COUNT, "ID", Terrasoft.AggregationEvalType.ALL);
                  var esqFirstFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "UsrINN", INN);
                  esq.filters.add("esqFirstFilter", esqFirstFilter);
 
                  // this.showInformationDialog("message");
                     esq.getEntityCollection(function (result) {
                     	     window.console.log("Ответ сервера: "+result);
                     	  	 window.console.log(result);
                            if (!result.success) {
                              // обработка/логирование ошибки, например
                               this.showInformationDialog("Ошибка запроса данных");
 
                               return;
                            }
 
                             var count = 0;
                             result.collection.each(function (item) {
                               count++;
                             });
                               this.showInformationDialog(count);
                     }, this);

 

Также работает вот такой способ:

 this.showInformationDialog(result.collection.collection.length);

 

Нравится

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

либо

esq.addAggregationSchemaColumn("Id", Terrasoft.AggregationType.COUNT, "CountAll");

и никакие столбцы больше не добавлять.

Вернётся 1 запись, result.collection.collection.items[0].get("CountAll")



либо

result.collection.getCount() в вашем варианте

Спасибо

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