需求背景:工作流待办任务的页签目前是申请人加上单据名称,希望可以自定义页签名称
实现方案:扩展审批处理页(wf_approvalpage_bac),重写preOpenForm方法,设置标题
具体实现:先找到审批处理页(wf_approvalpage_bac),将其扩展,然后注册插件,重写preOpenForm方法,然后可以通过以下方式去setCaption设置页签名称:
FormShowParameter form = (FormShowParameter) e.getSource();
form.setCaption(caption);
案例代码:
案例--需要对kdec_contract单据的申请单页签名称进行修改,并且将页签名称显示为:当前单据编号+"的申请"
代码--
@Override
public void preOpenForm(PreOpenFormEventArgs e) {
// TODO Auto-generated method stub
FormShowParameter form = (FormShowParameter) e.getSource();
Long taskid = form.getCustomParam("taskId");
QFilter qFilter = new QFilter("currenttaskid", QCP.equals, taskid);
DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_execution", "currenttaskid,billno,entitynumber",
new QFilter[] { qFilter });
String entitynumber = dynamicObject.getString("entitynumber");
if (entitynumber.equals("kdec_contract")) {
String caption = dynamicObject.getString("billno") + "的申请";
form.setCaption(caption);
}
}
推荐阅读