EAS DEP脚本开发 样例

 

 

1、nDEP方案由业务单元、权限、异常组成.业务单元分为两种.
Ø第一种是基于标准系统导入.
Ø第二种采用DEP业务单元模板新增.
n业务单元包含实体,Facade,UI,业务数据源,枚举,异常。
n实体对应了BOS IDE中的实体,为业务载体的基本抽象.有手工录入、基础资料类别的属性。其中可以增加服务端方法,前置脚本,后置脚本。
nFaçade。目前不支持。可以在实体上新增服务端方法做替代。
nUI包含查询界面、编辑界面。查询界面即对应原来方案的序时薄,采用基于动态查询的方案实现,可以在其中增加控件,前置脚本,后置脚本。编辑界面也采用类似BOS的UI编辑器实现,可以在其中增加控件,数据绑定,前置脚本,后置脚本。
n业务数据源对应BOS IDE中的Query。
n枚举。目前不支持。对系统原有的枚举,可以再UI中增加下拉框控件,并做数据绑定。
n异常。增加异常信息,并通过脚本调用抛出。
n注意:DEP方案不会生成Java代码。
2、 dep 不支持功能

不支持多语言和国际化
不支持单据实体增加分录
不支持替换标准产品原有业务逻辑
不支持新建枚举
不支持多人开发同一方案
不支持不绑定实体的界面开发
不支持在通用过滤条件页签中增加控件及业务逻辑

3、步骤

n新增属性
n编写服务端脚本
n设计界面
n编写客户端
n发布菜单

4、脚本代码

//实体
var imp = JavaImporter();
imp.importPackage(Packages.com.kingdee.eas.util.app);
with(imp){

//获取参数
var ctx = pluginCtx.getContext();
var title = methodCtx.getParamValue(0);
var ctime = methodCtx.getParamValue(1)+" 00:00:00";
var etime = methodCtx.getParamValue(2)+" 00:00:00";
var cadd = methodCtx.getParamValue(3);
var cdays = methodCtx.getParamValue(4);
var cost = methodCtx.getParamValue(5);
var pno = methodCtx.getParamValue(6);
var params = methodCtx.getParamValue(7);
var str=params.split(",");
var myDate = new Date();
var pid="";
var sql="";
for(i=0;i {
 if(str[i]!="")
 {
  pid=myDate.getSeconds()+myDate.getHours()+myDate.getYear()+"="+str[i];
  //convert("+ctime+",'YYYY-MM-DD   HH24:MI:SS')
 sql = "INSERT INTO T_HR_ZDY0EmpMultiInfo (fid,CFTrainName,CFTrainAddress,CFTrainWenHao,CFTrainPay,CFTrainStratTime,CFTrainEndTime,FPersonID,fcreatorid,fcreatetime,flastupdatetime,flastupdateuserid)VALUES('"+pid+"','"+title+"','"+cadd+"','"+pno+"',"+cost+",'"+ctime+"','"+
etime+"','"+str[i]+"','256c221a-0106-1000-e000-10d7c0a813f413B7DE7F',now(),now(),'pGvDCT6+RVyQOX1241ciCxO33n8=')";
DbUtil.execute(ctx, sql);
 }
}
}
//客户端

var easNames = JavaImporter();
easNames.importPackage(Packages.com.kingdee.bos.ctrl.extendcontrols);
easNames.importPackage(Packages.com.kingdee.bos);
easNames.importPackage(Packages.com.kingdee.bos.util);
easNames.importPackage(Packages.com.kingdee.bos.metadata);
easNames.importPackage(Packages.com.kingdee.eas.util.client);
easNames.importPackage(Packages.com.kingdee.bos.framework);
easNames.importPackage(Packages.com.kingdee.eas.scm.common.client);
easNames.importPackage(Packages.com.kingdee.eas.util.app);

with(easNames){
//var entry =pluginCtx.getKDTable("kdtEntrys");
//var en=pluginCtx.getKDBizPromptBox("prmttrainClass").getValue();
var pk = new MetaDataPK("com.kingdee.eas.hr.affair.app.ZDY1BizBill");

var name = " UpdateMethod(String arg1)";

var arg='0';
var args=[arg];
BOClientTool.callCmethod(pk,name,args);
}

 

var imp = JavaImporter();
imp.importPackage(Packages.com.kingdee.eas.util.app);
with(imp){
var ctx = pluginCtx.getContext();
var title = methodCtx.getParamValue(0);
var ctime = methodCtx.getParamValue(1);
var etime = methodCtx.getParamValue(2);
var cadd = methodCtx.getParamValue(3);
var cdays = methodCtx.getParamValue(4);
var cost = methodCtx.getParamValue(5);
var pno = methodCtx.getParamValue(6);
var params = methodCtx.getParamValue(7);
var str=params.split(",");
var sql = "update T_HR_TrainCourseEnty SET Fname_l2 = 'qw11' WHERE FID = 'yXnv1HPNR0Ki7SShIKXXIV8SJt8='";
DbUtil.execute(ctx, sql);
}

你可能感兴趣的:(EAS,BOS)