常见个性化需求,如采购申请单使用部门自动携带第一行,便于快速录入,可通过DEP扩展方案扩展脚本实现。
在扩展点的loadfiles里面加入前置脚本和后置脚本。
1)前置脚本:
var receivebill_tableDataChangeListener = pluginCtx.getUIContext().get("receivebill_tableDataChangeListener");
var table = pluginCtx.getKDTable("kdtEntries");//不同单据kdtEntries命名不一样,注意修改
if(receivebill_tableDataChangeListener !=null ){
table.removeKDTEditListener(receivebill_tableDataChangeListener);
}
2)后置脚本:
var receivebill_tableDataChangeListener = pluginCtx.getUIContext().get("receivebill_tableDataChangeListener");
var table = pluginCtx.getKDTable("kdtEntries");//不同单据kdtEntries命名不一样,注意修改
if(receivebill_tableDataChangeListener==null){
receivebill_tableDataChangeListener = function(event,methodName){
if(methodName == "equals"){
return event.toString().length()==9;
}
if(methodName == "editStopped"){
var curRow = table.getRow(event.getRowIndex());
var colName=table.getColumn(event.getColIndex()).getKey();
//如果当前列为使用部门,如果是其他字段请注意修改useAdminOrgUniti字段名
if("useAdminOrgUnit"==colName){
var oppBgItem = curRow.getCell(colName).getValue();
if(oppBgItem==null){
return;
}
var size = table.getRowCount();
var ioppBgItem ;
for(var i=1;i<size;i++){
ioppBgItem=table.getRow(i).getCell(colName).getValue();
//从第二行开始,如果使用部门为空,赋值为第一行的值
if(ioppBgItem==null){
table.getRow(i).getCell(colName).setValue(oppBgItem);
}
}
}
}
};
pluginCtx.getUIContext().put("receivebill_tableDataChangeListener",receivebill_tableDataChangeListener);
}
table.addKDTEditListener(receivebill_tableDataChangeListener);
请参考脚本配置截图:
推荐阅读