Хочу сделать сабж. Окошко выводится, но список пустой. Что я делаю не так?
Метод onPreparePaymentsList не вызывается, кстати. Ошибок в консоли нет.
define("UsrFlip1Page", ["ServiceHelper", "jQuery", "css!UsrFlip1PageCSS"], function(ServiceHelper, jQuery) {
return {
entitySchemaName: "UsrFlip",
attributes: {
"PaymentVList": {
dataValueType: Terrasoft.DataValueType.COLLECTION,
type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
caption: "Платежи",
name: "PaymentVList",
isCollection: true
}
},
details: /**SCHEMA_DETAILS*/{
},
diff: /**SCHEMA_DIFF*/[
]/**SCHEMA_DIFF*/,
methods: {
init: function() {
this.callParent(arguments);
this.set("PaymentVList", this.Ext.create(Terrasoft.Collection));
},
onEntityInitialized: function() {
this.callParent(arguments);
this.set("ActivePayments", null);
var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "UsrPayment" });
esq.addColumn("Id");
esq.addColumn("UsrBillNumber");
esq.addColumn("UsrPpNumber");
esq.addColumn("UsrSum");
esq.addColumn("UsrType.Name");
esq.filters.add("filterAuto", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.EQUAL, "UsrAuto", this.get("UsrAutoId").value));
esq.filters.add("filterStatus", this.Terrasoft.createColumnInFilterWithParameters("UsrStatus.Name",
["Активный", "Не подтвержден"]));
esq.getEntityCollection(function(result) {
if (result.success) {
var PaymentItems = {};
result.collection.each(function(item) {
PaymentItems[item.get("Id")] = {
"value": item.get("Id"),
"displayValue": item.get("UsrBillNumber") + " / " + item.get("UsrPpNumber") +
" / " + item.get("UsrSum") + " / " + item.get("UsrType.Name")
};
}, this);
var list = this.get("PaymentVList");
list.loadAll(PaymentItems);
}
}, this);
},
getActions: function() {
var actionMenuItems = this.callParent(arguments);
actionMenuItems.addItem(this.getActionsMenuItem(
{
"Caption": "Уточнение назначения платежа",
"Tag": "runPaymentCorrection"
}
));
return actionMenuItems;
},
onPreparePaymentsList: function() {
debugger;
},
runPaymentCorrection: function() {
if (this.get("PaymentVList").getCount() === 0) {
Terrasoft.showInformation("По данному авто нет активной оплаты!");
return;
}
debugger;
Terrasoft.showInputBox("Выберите п/п для уточнения", function(button) {
Terrasoft.showInformation(button);
}, ["ok", "cancel"], this, {
name : {
caption: "Платежи",
dataValueType: Terrasoft.DataValueType.ENUM,
className: "Terrasoft.ComboBoxEdit",
list: {
bindTo: "PaymentVList"
},
prepareList: {
bindTo: "onPreparePaymentsList"
},
isRequired: true
}
},
{
defaultButton: 0
});
}
},
rules: {}
};
});