Україна понад усе! Приєднуйтеся до допомоги!
Уважаемые форумчане.
Вопрос по версии 7.6
Не получается сделать фильтрацию на детали.
Создал деталь активностей связанных контрагентов Activity на странице контрагента. Она похожа на деталь
Ативности в контрагенте, только она должна выдавать перечень активностей не текущего контрагента,
а активности контрагентов, которые связаны с текущим контрагентом. Связи контрагентов хранятся во
вьюхе VwAccountRelationship. В ней есть колонки AccountId и RelatedAccountId.
Сделал запрос
SELECT * FROM Activity
INNER JOIN VwAccountRelationship ON Activity.AccountId = VwAccountRelationship.RelatedAccountId
WHERE VwAccountRelationship.AccountId = 'a40cfdfb-cd46-4c63-9448-44110861c12c'
INNER JOIN VwAccountRelationship ON Activity.AccountId = VwAccountRelationship.RelatedAccountId
WHERE VwAccountRelationship.AccountId = 'a40cfdfb-cd46-4c63-9448-44110861c12c'
a40cfdfb-cd46-4c63-9448-44110861c12c - Id текущего контрагента.
Этот запрос выдает верный результат. Там всего одна запись.
Но сделать с помощью фильтра на js не получается.
Пробовал следующий код, но он выдает кучу ненужных записей.
"Activity": {
"schemaName": "SuSchema1Detail",
"entitySchemaName": "Activity",
"filter": {
"detailColumn": "Account",
"masterColumn": "Id"
},
filterMethod: "activityFilter"
}
methods: {
activityFilter: function() {
var currentAccount = this.get("Id");
var filterGroup = Ext.create("Terrasoft.FilterGroup");
filterGroup.add("CurrentAccountRelatedAccounts", Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
"=[VwAccountRelationship:RelatedAccount:Account].Account", currentAccount));
return filterGroup;
}
}
"schemaName": "SuSchema1Detail",
"entitySchemaName": "Activity",
"filter": {
"detailColumn": "Account",
"masterColumn": "Id"
},
filterMethod: "activityFilter"
}
methods: {
activityFilter: function() {
var currentAccount = this.get("Id");
var filterGroup = Ext.create("Terrasoft.FilterGroup");
filterGroup.add("CurrentAccountRelatedAccounts", Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
"=[VwAccountRelationship:RelatedAccount:Account].Account", currentAccount));
return filterGroup;
}
}
Заранее благодарен.
Нравится
1 комментарий
8 ноября 2016 12:42
Задача решена. Кстати код выше верный, если кому интересно
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать