Sapui5 删除“;“索赔”;来自Fiori收件箱的按钮
我想删除或至少禁用SAP Fiori中收件箱页脚的“索赔”按钮。 我已经找到了,但它只描述了如何删除approve/reject按钮,这些按钮在Sapui5 删除“;“索赔”;来自Fiori收件箱的按钮,sapui5,sap-fiori,Sapui5,Sap Fiori,我想删除或至少禁用SAP Fiori中收件箱页脚的“索赔”按钮。 我已经找到了,但它只描述了如何删除approve/reject按钮,这些按钮在oOptions中有自己的属性 索赔按钮可能位于buttonList数组中,但这样设置没有效果: sap.ui.define([ “sap/m/MessageToast”, “sap/m/Dialog”, “sap/base/Log”, “sap/ui/model/Filter”, “sap/ui/model/FilterOperator”, “sap/
oOptions
中有自己的属性
索赔按钮可能位于buttonList
数组中,但这样设置没有效果:
sap.ui.define([
“sap/m/MessageToast”,
“sap/m/Dialog”,
“sap/base/Log”,
“sap/ui/model/Filter”,
“sap/ui/model/FilterOperator”,
“sap/ui/model/Sorter”,
“sap/ui/core/mvc/Controller”
],功能(MessageToast、对话框、日志、过滤器、过滤器操作员、分拣机、控制器){
“严格使用”;
返回Controller.extend(“something.Controller.App”{
onInit:function(){
此.\u headerFooterOptions={
按钮列表:[]
};
this.setHeaderFooterOptions(this.\u headerFooterOptions);
// ...
}
});
});
另一种可能的方法是通过this.setbtenabled(sid,false)禁用按钮代码>但由于我不知道索赔按钮的sID
,因此无法检查此项
我真的非常感谢您在这个问题上的帮助
编辑:我无法访问后端,如果任何人有相同问题但可以访问后端,请参阅。网关/后端解决方案:
有一个选项可以通过网关/后端类隐藏前进、释放、声明等按钮。在我看来,你应该采用这种方法,而不是扩展MyInbox UI5应用程序
基于类/IWPGW/CL\u TGW\u FACADE\u BWF\u V2
在网关中创建一个子类
重新定义方法映射任务\u其他\u标志
。例如,如果任务id=XXX,则不显示转发、索赔
在网关系统中以spro打开提供程序实现(sry为德语)
将zclass替换为标准类/IWPGW/CL\u TGW\u FACADE\u BWF\u V2
瞧
前端解决方案:
如果您无法访问后端,请通过WEBIDE扩展MyInbox。
在您的例子中,您可以扩展整个控制器(S3.controller.js)或实现UI控制器挂钩(S3.controller.js->exthookchangefooterbutions)。有关SAP标准应用程序的可扩展性,请参见
示例(S3.controller.js-UI控制器挂钩实现):
extHookChangeFooterButtons:函数(ObjuttonList){
var sTaskDefinitionId=this.getView().getBindingContext().getProperty(“TaskDefinitionID”);
开关(sTaskDefinitionId){//定义您的条件
案例“XXX”:
oButtonList.aButtonList=[];//无按钮
打破
案例“XYZ”:
ObjuttonList.aButtonList.splice(1,1)//无索赔按钮
打破
违约:
打破
}
}
谢谢您的帮助,但我应该提到我无法访问后端。很遗憾,我没有选择。添加了前端解决方案
CALL METHOD SUPER->MAP_TASK_ADDITIONAL_FLAGS
CHANGING
IS_TASK = is_task
.
if is_task-TASK_DEF_ID CS 'XXX'. "your workitem task id
clear: is_task-TASK_SUPPORTS-FORWARD,
is_task-TASK_SUPPORTS-CLAIM,
is_task-TASK_SUPPORTS-TASKOBJECT,
is_task-TASK_SUPPORTS-RESUBMIT.
ENDIF.