#使用技巧#(EAS Cloud)资金-融资管理-借款单编辑、列表界面提交时,不上传附件无法提交!原创
金蝶云社区-言鱼
言鱼
43人赞赏了该文章 380次浏览 未经作者许可,禁止转载编辑于2024年06月22日 21:36:41
封面


一、需求背景与痛点

某公司在使用【融资管理】的借款单处理业务时,由于没有启用“借款合同”单据,则使用“借款单”来管理公司的相关融资业务,借款单上增加了审批工作流,来控制实际业务与单据的合法性,但是由于集团审批不了解下属成员单位的借款具体业务,需要参考业务发生时的相关附件(例如:借款合同、担保合同、借款借据等),那么就必须要求下属成员单位在提交借款单进入审批流程前就必须上传附件;方便审批人员通过附件的内容对单据的内容进行审批;



二、解决思路

1、二开DEP编辑界面“提交”前置脚本,在“提交”时,查询每一张单据的附件后台表,确保具有数据;没有附件则弹框提示;


2、二开DEP实体“集合提交”前置脚本,在“提交”时,查询每一张单据的附件后台表,确保具有数据;没有附件则弹框提示;



三、关键步骤

1、在【编辑界面】借款单的“提交”放置【前置脚本】


进入“动态拓展平台(高级版)【DEP】”中,拓展“借款”方案;


在借款【编辑界面】中的【拓展定义】,放置【提交】的如下【前置脚本】;


PS:之所以放置前置脚本,是因为要监听用户是否上传附件,从而决定是否弹框提示;


image.png



//通过这段脚本去获取count数。
var id = pluginCtx.getDataObject().getId();
var sql = "select count(fid) ct from T_BAS_BoAttchAsso  where fboid='"+ id +"'";
//获取数据库工具接口
var fMIsqlFacade =com.kingdee.eas.fm.common.FMIsqlFacadeFactory.getRemoteInstance();
//执行sql
var rs = fMIsqlFacade.executeQuery(sql.toString(),null);
while(rs.next()){
    var count=rs.getInt("ct");
    if (count == 0) {
com.kingdee.eas.util.client.MsgBox.showInfo("请点击“提交”旁的“附件管理”上传与本合同相关的附件!(例如:借款合同、保证合同、借据等)");
com.kingdee.eas.util.SysUtil.abort();
     }
  }

脚本中的弹框提示文本可自行修改


image.png



2、在【实体】借款单的“集合提交”放置【前置脚本】


进入“动态拓展平台(高级版)【DEP】”中,拓展“借款”方案;


在借款【实体】中的【拓展定义】,放置【集合提交】的如下【前置脚本】;


PS:之所以放置前置脚本,是因为要监听用户是否上传附件,从而决定是否弹框提示;

【有很多“集合提交”,一定要放置在图示位置】

image.png


var imp = JavaImporter();
imp.importPackage(Packages.com.kingdee.eas.util.app);
imp.importPackage(Packages.java.sql);
imp.importPackage(Packages.com.kingdee.eas.util.client);
imp.importPackage(Packages.com.kingdee.bos.dao.query);
with(imp){ 
	
	//获取单据对象
	var ctx = pluginCtx.getContext();
	var model = methodCtx.getParamValue(0);
	var id = model.getId(); 
	//获取单据id
	var sql = "select count(fid) ct from T_BAS_BoAttchAsso  where fboid='"+ id +"'";
     //执行sql
     var rs = com.kingdee.eas.util.app.DbUtil.executeQuery(ctx,sql);
	while(rs.next()){
         var count = rs.getInt("ct");
         if (count == 0) {
         	throw new com.kingdee.eas.common.EASBizException(new com.kingdee.util.NumericExceptionSubItem("001","请点击“提交”旁的“附件管理”上传与本合同相关的附件!(例如:借款合同、保证合同、借据等)"));
       }         
    }
 }

脚本中的弹框提示文本可自行修改



四、效果展示


1、编辑界面提交控制

image.png





2、列表提交控制

image.png





文末感谢@郑南通 提供的技术支持!


另附上相关问答!


融资管理-能否在借款单提交时进行附件上传提示,强制上传附件,不上传不允许提交? (kingdee.com)


列表拓展脚本-融资借款列表提交附件校验; (kingdee.com)





赞 43