Использую очень простой метод (см. ниже) в контексте двух событий:
1) onEntityInitialized
2) при изменении поля Account на карточке.
В первом случае формируется запрос без использования фильтра по идентификатору контрагента, во втором с фильтром. В обоих случаях "var account = this.get("Account");" успешно вычисляется. Как добиться гарантированной фильтрации в обоих случаях?
setIsAffiliated: function() {
var account = this.get("Account");
var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "Account"
});
//esq.rowCount = 1;
esq.addColumn("IsAffiliatedLegalEntity");
esq.filters.add("Account", esq.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL,
"Id",
account.Id));
esq.getEntityCollection(function(result) {
if (result.success) {
var first = result.collection.firstOrDefault();
if (!Ext.isEmpty(first)) {
var isAffil = first.get("IsAffiliatedLegalEntity");
this.set("IsAffiliatedLegalEntity", isAffil);
}
}
}, this);
}