应用场景:
在表单中可能包含很多明细字段,并且行数会比较多(20+),同时明细数据希望可能进到数据库以便进行后续统计分析。此时如果把字段和数据全部做到表单中,会导致排版困难,数据加载计算性能降低等种种困难。此时可以使用excel数据附件来解决问题。
特点:
1、在表单中填写简要信息,便于领导审批即可;保证提单的性能;
2、在excel中完全自定义二维表格,可以承载大数据量;
3、把表单和和excel联系起来,只有填写了excel数据附件后,才能提交单据;确保业务的严密性;
4、excel数据可以写入到数据库,便于后续统计分析;
不足:
1、目前尚不能把excel填写内容同表单内容进行对比校验。
2、excel附件尚无法进行基础资料校验,如人员名称是否正确,如果有错,则自动跳过,并无报错。
3、excel附件保存后,在后台已经生成了BILL_ID,BILL_NO,会占用正常的表单单号,造成不连续。
配置方法:
1、在表单流程页面,新建一个excel表单
2、按常规配置方法,配置数据源,数据填充,数据收集
3、在新标签页“数据附件关联”中,勾选表单名称
4、正常保存excel表单
5、新建正常表单后,在最下方的附件栏,会总动弹出图标“请填写数据附件***”,此时可以双击打开excel表单,填写或者导入后,点击“保存数据”。
6、正常填写常规表单内容,提交单据,如果数据附件未填写,则系统不允许提单。
7、excel数据附件的值已经写入预先配置的表中,并且作为一个附件可以随单据流转,审批。
通过以下sql语句可以查询表单和数据附件的数据
select * from TBILL b
inner join TBILL_ATTACHMENT ba on b.BILL_ID=ba.BILLATT_BILL_ID
INNER JOIN TEX_BILL_CONTENT EXBC ON ba.BILLATT_DIR LIKE ‘%‘+EXBC.BILLCE_BILL_ID+‘%‘
where b.BILL_NO<>‘‘ and b.BILL_FLAG not in (‘NEW‘,‘DFT‘)
ORDER BY B.BILL_NO,EXBC.BILLCE_SEQ
原文地址:http://iderun.blog.51cto.com/6445088/1568217