1、设置字符串默认值
编辑界面--界面加载--后置脚本
参考脚本:
if(pluginCtx.getOprtState().equals("ADDNEW")){
pluginCtx.getKDTextField("txttest").setText("111")
}
2、复选框即布尔类型
编辑界面--界面加载--后置脚本
参考脚本:
if(pluginCtx.getOprtState().equals("ADDNEW")){
pluginCtx.getKDCheckBox("cbIsInTax").setSelected(true);
}
3、F7设置默认值
编辑界面--界面加载--后置脚本
参考脚本:
if(pluginCtx.getOprtState().equals("ADDNEW")){
var id = "iwoAAAAkEin5CwEz"; //根据id获取F7值对象
var fkfsInterface = com.kingdee.bos.BOSObjectFactory.createRemoteCommonBOSObject(new om.kingdee.bos.metadata.MetaDataPK("com.kingdee.eas.basedata.master.auxacct.app.GeneralAsstActType"));
var fkfsOPK = new com.kingdee.bos.dao.ormapping.ObjectUuidPK(com.kingdee.bos.util.BOSUuid.read(id));
var fkfsOBJ = fkfsInterface.getValue(fkfsOPK);
pluginCtx.getKDBizPromptBox("prmtprojects").setValue(fkfsOBJ);
}
4、枚举
如下图所示付款单有两个枚举分别是是否加急(bos建立的枚举),支付类型(DEP新建的枚举),需要分别设置默认值
通过以下脚本即可达到效果:
bos新建枚举设置默认值方式
if(pluginCtx.getOprtState()=="ADDNEW"){
// 获取对应枚举值
var mergencyState = com.kingdee.eas.fi.cas.IsMergencyEnum.getEnumMap().get("mergercy");
// 设置该值
pluginCtx.getKDComboBox("mergencyState").setSelectedItem(mergencyState);
}
DEP新建枚举
if(pluginCtx.getOprtState()=="ADDNEW"){
// 获取对应枚举值
var payType = com.kingdee.util.enums.DynamicEnum.getEnum("com.kingdee.eas.custom.PaymentType","2");
// 设置该值
pluginCtx.getKDComboBox("combopayTypes").setSelectedItem(payType);
}
实现效果:
总结:
bos新建的枚举是直接通过枚举名拿到对应map,然后get("key")拿到对应值然后设置默认值进去,DEP新建的枚举由于没有java类需要通过 com.kingdee.util.enums.DynamicEnum.getEnum(“枚举全类名",枚举对应值)的方式设置默认值。
推荐阅读