免费勤哲excel教程:[2]定义数据项
1、什么是数据项
数据项指的是模板表样中需要填写内容的那些空白单元格。若干相关的数据项可以组成一个数据表。
数据项的定义包括以下内容:
l 区域地址和名称:它表明所填写的位置和信息的含义。比如在《客户登记表》模板中,C3单元格就是一个数据项,它的名称是“客户名称”
l 数据类型,它表明空白单元格中可以只能填写什么类型的信息,比如“客户名称”数据项,只能填写不超过100个字符的文字,而不能填写数字或日期。
l 是否必填,它规定按模板格式填写实际的表单时,此数据项可否空白不填。比如在《客户登记表》中,“客户名称”是必填项,而“收货地点”不是必填项。
2、l 填写规范,指对所填数据的要求,通常有几种情况,一是默认值,如“登记日期”的默认值是当前日期;二是下拉列表选择或树型选择,如“大区”就不能随意填写,而是在相应的位置有一个事先定义好的下拉列表,列举了全部大区的名称,填表时只需要从中选择。三是自动编号,如“客户编号”可以自动产生。
l 主键,主键的目的是保证唯一性。比如在“客户登记表”模板中,我们把“客户编号”定义为主键,就意味着不管填了多少张《客户登记表》,“客户编号”都必须彼此不同。因为通过Excel服务器填写的表单上的内容最终都保存到数据库中,所以这里所说的“彼此不同”不是靠人为的小心谨慎来做到,而是由系统自动控制的;如果您填了两张编号相同的《客户登记表》,第二张表保存时系统自动会通知您发生了数据重复,保存无法通过。
l 其他内容,包括是否隐藏、填写下一张时是否清空,如何排序等。
数据项又称为“字段”,在下文中,这两个词是同样的含义。
1、报表填报是指将数据填报至数据库中,那么填报到哪个数据库,哪个数据表中该怎么判断呢,因此需要在填报属性中选择填报入库的数据库表,如下图:
![免费勤哲excel教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/a13bbe10bc33ec383aa6535b295f0c14c37b3cb1.jpg)
2、添加字段
选择表后,点击智能添加字段按钮,会自动读取数据库中表中的所有字段,若不想添加全部,可以去掉字段前面的勾选,如下图:
![免费勤哲excel教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/efb861bd4c7c34b3275c790e5841037de03731b1.jpg)
3、除了使用智能添加字段来一次性添加多个字段之外,还可以直接点击添加字段按钮来单个的添加字段,如下图:
![免费勤哲excel教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/7c84d1672b5fd546238bf2a07fd0b503c9d224b1.jpg)
4、添加单元格
字段添加完成之后,点击智能添加单元格或者只能添加单元格组,就可以给数据列绑定单元格,如下图,点击智能添加单元格,在弹出的对话框中选择报表主体中的单元格,为数据列绑定单元格:
![免费勤哲excel教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/460fdc8333bf3bef05521a0c3f3ea8db564a1ab1.jpg)
5、我们不仅可以给数据列绑定单元格,还可以使用字符串常量、公式、参数等等不同类型的数据,如下图
![免费勤哲excel教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/fb738d9c2cf7dfb2e5048498d01b1edef5dc13b1.jpg)
6、若用户在模板中插入了一行或一列,导致填报单元格整体偏移了一格,此时可以使用批量修改单元格,整体批量修改,如下图:
![免费勤哲excel教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/cfadcdd96975f2c4a88413f78f0148fe1f4206b1.jpg)
7、设置提交条件
使用内置SQL填报数据,可以对填报数据进行过滤,如果web端提交的数据满足条件,则可以入库,不满足,则不入库,点击设置提交条件即可添加过滤条件,如下图:
![免费勤哲excel教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/1f03436b04d14929d69573a763e5eceeacbc7eb1.jpg)
8、自定义事件
如下图,在报表填报属性页面,可增加自定义事件,自定义事件可通过FR提供的API接口来实现不同的类,接着将该类导入到设计器中,即可实现自定义事件,详细请参照自定义事件:
![免费勤哲excel教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/3852f6e5eceeadbcef320dc4cd18dfdae53b7bb1.jpg)
9、注:添加了多个内置SQL后(不论几个sheet里面的内置SQL),提交时有一个执行不通过的话,后面的内置SQL就不会执行,前面的执行过的也会无效(FR填报支持事务回滚机制)。
另:在数据commit时出现异常,或者回滚时出现异常时, 如果最终是失败的,后台额外报错提示 前者是 “数据提交出错,无法回滚”,后者是 “数据回滚失败”。 前端都提示”失败”。