Добавляю фильтр в правиле поля:
let vFilter = Ext.create("Terrasoft.Filter", {
name: "CaseOwnerByGroupFiltration",
modelName: "SysAdminUnit",//фильтрующая таблица
property: "Id",//по какой колонке фильтруем
assocProperty: "ContactId",//результат фильтрации
funcType: Terrasoft.FilterFunctions.In,
funcArgs: ["87ca4908-f689-4b6b-b87b-934b4bf1c148",
"ae82c2be-09a2-4e7e-be52-b38a24a45037",
"fbf4d7aa-a7af-43e6-9d45-ca0a100576cf",
"9e58f420-47d7-4d5e-a4e2-dd11c27fce86",
"5181364d-ce77-472e-aadc-eaf0d6d97f18"
]
});
record.changeProperty("Owner", {addFilter: vFilter});
Вижу запрос, кот. улетает на сервер, получаю в списке отфильтрованные значения в соотв. с таблицей.
Пытаюсь получить указанную выше таблицу для фильтрации отдельным запросом.... ухожу уже в совсем примитив:
let vGroupId = record.get("Group.Id");
var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "SysUserInRole"
});
esq.addColumn("Id");
esq.getEntityCollection(function(result) {
var items = result.collection.getItems();
var exists = result.success && (items.length > 0);
//Ext.callback(callback, this, [exists]);
}, this);
Получаю ошибку: "getEntityCollection не существует" эм.... и как сформировать хотя-бы примитивный запрос на сервер из мобильной версии?
Нравится
Виктор, в мобильной версии используются запросы к моделям.
См., например, схему MobileActivityGridPageControllerV2, там в функции getContactRecord используют Terrasoft.DataUtils.loadRecords, перед этим наложив фильтр по Id.
getContactRecord: function(recordId) { return new Promise(function(resolve) { var filter = Ext.create("Terrasoft.Filter", { property: "Id", value: recordId }); Terrasoft.DataUtils.loadRecords({ proxyType: Terrasoft.ProxyType.Online, modelName: "Contact", columns: ["Name", "Account", "Photo.Id"], filters: filter, success: function(loadedContactRecords) { if (loadedContactRecords.length === 0) { resolve(); return; } resolve(loadedContactRecords[0]); }, failure: function() { resolve(); }, scope: this }); }); },
И ниже её использование:
this.getContactRecord(ownerId).then(function(contactRecord) {