明细表数据取做判断条件"/>
泛微OA怎么拿明细表数据取做判断条件
泛微OA怎么取明细表的数据,并进行判断
需求:
根据明细表里面的资产所属公司,抄送给对应的人员,如下图所示
第一步:选择触发机制,我选择的是提交或者保存流程的时候触发。
WfForm.registerCheckEvent(WfForm.OPER_SAVE+","+WfForm.OPER_SUBMIT,function(callback){});
第二步:创建一个空数组,用来存放明细表中资产所属公司的值
var ksz=[ ];
第三步:遍历明细表取值,取值的时候进行去重
var cd= WfForm.getDetailRowCount("detail_1");//获取明显表1的长度for(var rowIndex=0;rowIndex<cd;rowIndex++){var ssgs=WfForm.getFieldValue("field7908_"+rowIndex);//获取明细表所属公司的值;if(ksz.indexOf(ssgs)<0){ //这一步判断数组里面是否已经存在,如果不存在就向空数组里面添加数据ksz.push(ssgs);向空数组里面添加数据}
第四步:将数组转化为字符串,并且用逗号分隔
zcssgssz=ksz.join(',');
WfForm.changeFieldValue("field13782", {value:zcssgssz});赋值给一个单行文本字段
第五步:在抄送人批次条件那里设置
完整代码:
<script type="text/javascript">WfForm.registerCheckEvent(WfForm.OPER_SAVE+","+WfForm.OPER_SUBMIT,function(callback){var zcsjgs=WfForm.getFieldValue("field13764");//获取资产涉及公司的值;var cd= WfForm.getDetailRowCount("detail_1");//获取明显表1的长度var ksz=[ ];for(var rowIndex=0;rowIndex<cd;rowIndex++){var ssgs=WfForm.getFieldValue("field7908_"+rowIndex);//获取明细表所属公司的值;if(ksz.indexOf(ssgs)<0){ksz.push(ssgs);}}zcssgssz=ksz.join(',');WfForm.changeFieldValue("field13782", {value:zcssgssz});callback();});
</script>
更多推荐
泛微OA怎么拿明细表数据取做判断条件
发布评论