Добрый день.
Коллеги, прошу помочь.
Бизнес-задача: необходимо выделить запись в реестре Контрагентов, если в контрагенте добавлен юридический адрес.
Реализация через запрос esq:
prepareResponseCollectionItem: function(item) {
this.callParent(arguments);
let accountId = item.get("Id");
var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "AccountAddress"
});
esq.addColumn("Account");
esq.addColumn("AddressType");
var esqFirstFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Account", accountId);
var esqSecondFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "AddressType", "0092db56-5b25-4804-a900-ab3b00912832");
esq.filters.logicalOperation = Terrasoft.LogicalOperatorType.AND;
esq.filters.add("esqFirstFilter", esqFirstFilter);
esq.filters.add("esqSecondFilter", esqSecondFilter);
esq.getEntityCollection(function(result) {
if (result.success) {
result.collection.each(function(item) {
item.customStyle = {
"background": "#ffaf3e"
};
});
}
}, this);
},
Реализация через вызов сервиса (который возвращает true/false):
prepareResponseCollectionItem: function(item) {
this.callParent(arguments);
let accountId = item.get("Id");
var serviceData = {
AccountId: accountId
};
ServiceHelper.callService("MyService", "MyMethod", function(response) {
if (response.MyServiceResult === true) {
item.customStyle = {
"background": "#ffaf3e"
};
}
}, serviceData, this);
},
Оба варианта не успевают выполниться при отрисовке страницы.
Прошу подсказать как можно поменять цвет записи реестре путем обращения в БД, а не относительно колонки обьекта.
Спасибо.