编辑中的脚本
编辑脚本路径:
保存数据(add ,set) 按照脚本执行的顺序顺序
SCRIPT/SET/BEF 保存前
SCRIPT/SAVE/AFT//保存以后,查询结果以前,没有查询结果,reusult 为null ,若需更新保存后的数据在这里
SCRIPT/SET/AFT 保存以后,结果已经查询 ,
打开记录(get)
SCRIPT/GET/BEF 打开记录前
SCRIPT/GET/AFT 打开记录后
param 为编辑数据对象
result 参数为空
举例
param.store("EDITDS").fv(0,'cgddid') 获得编辑数据集中的字段值
script.message = '保存完毕' + request.info().operation +
request.db().getValue('select count(*) from t_cgdd',null) +
param.store("EDITDS").fv(0,"ecode" ) + " cgddid "+
param.store("EDITDS").fv(0,'cgddid');
param.store("EDITDS").fv(0,"ecode" ,request.db().getNow())
<SCRIPT>
<SAVE>
<AFT>
var lp = new List();
lp.add(param.store("EDITDS").fv(0,'zcrkid'));
var lsSQL = "call srp_pro_generate_zcdn(?) " ;
request.db().exeUpdate(lsSQL,lp);
</AFT>
</SAVE>
</SCRIPT>
<SCRIPT>
<GET>
<AFT>
script.message = '数据查询' + request.info().operation + request.db().getValue('select count(*) from t_cgdd',null)
+ param.store("EDITDS").fv(0,"ecode" ) + " cgddid "+param.store("EDITDS").fv(0,'cgddid');
</AFT>
</GET>
<SAVE>
<AFT>
var lp = new List();
lp.add(param.store("EDITDS").fv(0,'cgddid'));
var lsSQL = " update t_cgdd set tranmemo = 'abc' where cgddid = ? " ;
request.db().exeUpdate(lsSQL,lp);
</AFT>
</SAVE>
<SET>
<BEF>
script.returnValue =-1;
script.message ="不能保存" + param.store("EDITDS").fv(0,"ecode" ) ;
</BEF>
<AFT>
script.message = '保存完毕' + request.info().operation + request.db().getValue('select count(*) from t_cgdd',null)
+ param.store("EDITDS").fv(0,"ecode" ) + " cgddid "+param.store("EDITDS").fv(0,'cgddid');
</AFT>
</SET>
</SCRIPT>
举例
....
<ATTRIBUTE>
<SCRIPT>
<SAVE>
<AFT>
/*扫码单数量,在保存后,查询数据之前调用*/
var lssql = "set @entityid = "+domain.entityId() +"; set @tranid ="+ param.store("EDITDS").fv(0,'ckdid') +";";
request.db().exeUpdate(lssql,null) ;
lssql ="select count(*) from t_kcsmgl where entityid = @entityid and tranid = @tranid; ";
if(request.db().getValue(lssql,null)==0) return;/*无数据*/
lssql ="select count(*) from t_ckdmx where ckdid= @tranid; ";
if(request.db().getValue(lssql,null)>0) return;/*有数据*/
lssql ="select count(*) from t_ckdmxmd where ckdid= @tranid; ";
if(request.db().getValue(lssql,null)>0) return;/*有数据*/
/*生成码单 生成明细*/
lssql= " insert into t_ckdmx(wldnid,bpps,ywms,ckdid,eversion,xh) \
SELECT t_kcsmdmx.wldnid,if(t_ckd.sfth ='1' ,-1,1)*sum(t_kcsmdmx.bpps),if(t_ckd.sfth ='1' ,-1,1)*sum(t_kcsmdmx.ywms),@tranid,1,0 \
FROM t_kcsmgl t_kcsmgl \
INNER JOIN t_ckd on (t_ckd.ckdid = t_kcsmgl.tranid and t_kcsmgl.entityid =@entityid ) \
INNER JOIN t_kcsmd t_kcsmd on (t_kcsmgl.kcsmdid = t_kcsmd.kcsmdid) \
INNER JOIN t_kcsmdmx on (t_kcsmd.kcsmdid = t_kcsmdmx.kcsmdid) \
where t_kcsmgl.entityid =@entityid and t_kcsmgl.tranid = @tranid \
group by t_kcsmdmx.wldnid,t_ckd.sfth; ";
request.db().exeUpdate(lssql,null) ;
lssql =" insert into t_ckdmxmd(ckdmxid,mlzjmxmdid,bpps,ywms,ckdid,eversion,xh) \
SELECT t_ckdmx.ckdmxid, t_kcsmdmx.mlzjmxmdid,t_kcsmdmx.bpps,t_kcsmdmx.ywms,@tranid,1,0 \
FROM t_kcsmgl t_kcsmgl \
INNER JOIN t_kcsmd t_kcsmd on (t_kcsmgl.kcsmdid = t_kcsmd.kcsmdid) \
INNER JOIN t_kcsmdmx on (t_kcsmd.kcsmdid = t_kcsmdmx.kcsmdid) \
INNER JOIN t_mlzjmxmd on (t_kcsmdmx.mlzjmxmdid = t_mlzjmxmd.mlzjmxmdid) \
INNER JOIN t_ckdmx on (t_ckdmx.ckdid = @tranid and t_ckdmx.wldnid = t_mlzjmxmd.wldnid) \
where t_kcsmgl.entityid =@entityid and t_kcsmgl.tranid = @tranid; ";
request.db().exeUpdate(lssql,null) ;
</AFT>
</SAVE>
<SET>
<AFT>
/*更新仓库和库位信息*/
var lssql = " drop temporary table if exists tmp_id ; \
create temporary table if not exists tmp_id(id bigint); \
insert into tmp_id (id) select mlzjmxmdid from t_ckdmxmd where ckdid= "+ param.store("EDITDS").fv(0,'ckdid');
request.db().exeUpdate(lssql,null) ;
system.service("MLZJD.DATA").exeShareFun(request,"update",param,result);
</AFT>
</SET>
</SCRIPT>
</ATTRIBUTE>
Created with the Personal Edition of HelpNDoc: Full-featured multi-format Help generator