В настоящее время я работаю над своим первым приложением SAP Fiori. В SAP WebIDE я создал проект из шаблона с использованием Master Detail и подключил его к моей службе oData.
Если я запускаю немодифицированное приложение, все работает, за исключением того, что данные не загружаются в детальном представлении, поскольку служба oData ожидает 2 Параметры для получения уникальной записи.
Теперь проблема в том, что если я изменю приложение, чтобы использовать 2 параметра, и перейду к подробному представлению, подробное представление загрузится, но даже не коснется службы oData. (Нет запроса партии $ в Chrome Dev Tools)
Модификации в манифесте. json
{
"pattern": "JOBSSet/{Jobname}/{Jobcount}",
"name": "object",
"target": [
"master",
"object"
]
}
Модификация главного контроллера:
_showDetail : function (oItem) {
var bReplace = !Device.system.phone;
// set the layout property of FCL control to show two columns
this.getModel("appView").setProperty("/layout", "TwoColumnsMidExpanded");
this.getRouter().navTo("object", {
Jobname : encodeURIComponent(oItem.getBindingContext().getProperty("Jobname")),
Jobcount : oItem.getBindingContext().getProperty("Jobcount")
}, bReplace);
}
Модификация Детальный контроллер:
_onObjectMatched : function (oEvent) {
var sJobname = decodeURIComponent(oEvent.getParameter("arguments").Jobname);
var sJobcount = oEvent.getParameter("arguments").Jobcount;
this.getModel("appView").setProperty("/layout", "TwoColumnsMidExpanded");
this.getModel().metadataLoaded().then( function() {
var sObjectPath = this.getModel().createKey("JOBSSet", {
Jobname : sJobname,
Jobcount : sJobcount
});
this._bindView("/" + sObjectPath);
}.bind(this));
}