dep设置各种类型字段默认值原创
金蝶云社区-Hadwin
Hadwin
6人赞赏了该文章 1603次浏览 未经作者许可,禁止转载编辑于2022年07月18日 18:55:37

1、设置字符串默认值

image.png


编辑界面--界面加载--后置脚本

image.png

参考脚本:

if(pluginCtx.getOprtState().equals("ADDNEW")){ 

 pluginCtx.getKDTextField("txttest").setText("111") 

}


2、复选框即布尔类型

image.png


编辑界面--界面加载--后置脚本

image.png


参考脚本:

if(pluginCtx.getOprtState().equals("ADDNEW")){    

pluginCtx.getKDCheckBox("cbIsInTax").setSelected(true);

 }


3、F7设置默认值

image.png

编辑界面--界面加载--后置脚本

image.png

参考脚本:

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新建的枚举),需要分别设置默认值

image.png


通过以下脚本即可达到效果:

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);

 }


实现效果:

image.png


总结:

bos新建的枚举是直接通过枚举名拿到对应map,然后get("key")拿到对应值然后设置默认值进去,DEP新建的枚举由于没有java类需要通过 com.kingdee.util.enums.DynamicEnum.getEnum(“枚举全类名",枚举对应值)的方式设置默认值。


赞 6