Здравствуйте, помогите пожалуйста. Создал деталь, в которой есть поля Счет, Контрагент и др. Должен присутствовать фильтр счетов по контрагенту.
Пришел к следующей реализации:
"UsrBill": {
lookupListConfig: {
filters: [
function() {
var account = this.get("UsrContragent");
var filterGroup = this.Ext.create("Terrasoft.FilterGroup");
var left = [Invoice:AccountId]
filterGroup.add("UsrContragent",
Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
left,
account.value));
return filterGroup;
}
]
}
}
}
}
Но никак не получается записать левое выражение.
Нравится
Иван,
Данную задачу можно решить через бизнес-правило rules с типом FILTRATION,
Либо:
[javascript]
attributes: {
"UsrBill": {
lookupListConfig: {
filters: [
function() {
var account = this.get("UsrContragent");
var filterGroup = this.Ext.create("Terrasoft.FilterGroup");
filterGroup.add("UsrContragent",
Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
"Account", // Указывается поле текущей сущности (в нашем случае Invoice)
account? account.value : Terrasoft.GUID_EMPTY));
return filterGroup;
}
]
}
}
}
[/javascript]
Огромное спасибо за помощь. Через правило, я так понял, должно выглядеть следующим образом:
[javascript]
rules: {
"UsrBill": {
"FiltrationInvoiceByAccount": {
"ruleType": BusinessRuleModule.enums.RuleType.FILTRATION,
"autocomplete": true,
"autoClean": true,
"baseAttributePatch": "Account",
"comparisonType": Terrasoft.ComparisonType.EQUAL,
"type": BusinessRuleModule.enums.ValueType.ATTRIBUTE,
"attribute": "Account"
}
}
}
[/javascript]
Но мне немного не понятно, что указывается в атрибутах baseAttributePatch и attribute.
Думаю, что так:
[javascript]
rules: {
"UsrBill": {
"FiltrationInvoiceByAccount": {
"ruleType": BusinessRuleModule.enums.RuleType.FILTRATION,
"autocomplete": true,
"autoClean": true,
"baseAttributePatch": "Account",
"comparisonType": Terrasoft.ComparisonType.EQUAL,
"type": BusinessRuleModule.enums.ValueType.ATTRIBUTE,
"attribute": "UsrContragent"
}
}
}
[/javascript]
attribute - Имя поля объекта по значению которого будем фильтровать (поле объекта вашей детали)
baseAttributePatch - Имя поля для связи из объекта соответствующего справочному поле UsrBill (объект Invoice)