报表填报属性

编辑
  • 文档创建者:文档助手1
  • 浏览次数:45973次
  • 编辑次数:22次
  • 最近更新:Kevin-s 于 2019-05-31
  • 1. 描述

    在制作填报表时,最重要的步骤就是给数据库表中的字段绑定保存的值,通过设置模板>报表填报属性来控制。

    在给字段绑定值时最常见的就是通过内置 SQL 绑定单元格,此时类似 Excel中,可以智能添加单元格;除绑定单元格外,数据列的值还可以是常量、公式、参数等等。

    还有一种方法是通过自定义事件来实现自定义提交,下面分别介绍。

    2. 内置 SQL

    点击菜单模板>报表填报属性,打开报表填报属性设置界面,增加内置 SQL(一个内置 SQL 对应一张数据库表的操作),如下图:



    内置 SQL 面板的设置步骤如下图:

    2.1 选择提交类型

    FineReport 对于填报数据的提交类型提供了四种方式:智能提交插入提交删除提交更新提交,如下图:


    提交类型的详细介绍请查看 提交类型

    注:默认的提交类型为智能提交,一般性使用的最多的也是智能提交。

    2.2 选择数据库表

    报表填报是指将数据填报至数据库中,那么填报到哪个数据库,哪个数据表中该怎么判断呢,因此需要在填报属性中选择填报入库的数据库表,如下图:


    对于 Oracle 数据库来说,需要选择模式(Oracle中的用户名),在选择表时可以通过首字母快速定位。

    注:数据库名称和表名称,可下拉框选择,可手动输入名称,也可以输入参数名称实现动态填报,即动态修改填报的数据库或者是数据表,详细示例请查看动态改变填报数据库表(日报表、月报表填报)

    2.3 添加字段

    选择表后,点击智能添加字段按钮,会自动读取数据库中表中的所有字段,若不想添加全部,可以去掉字段前面的勾选,如下图:


    除了使用智能添加字段来一次性添加多个字段之外,还可以直接点击添加字段按钮来添加单个字段,如下图:

    选中某个字段,点击移除字段即可将其从列表中删除。

    2.4 添加单元格

    字段添加完成之后,点击智能添加单元格或者智能添加单元格组,就可以给数据列绑定单元格,如下图,点击智能添加单元格,在弹出的对话框中选择报表主体中的单元格,为数据列绑定单元格:

    注:智能添加单元格组是指为一个数据列绑定多个单元格,将多个单元格中的数据全部填报至该字段中,详细设置使用过程请查看 多个单元格绑定一个字段

    我们不仅可以给数据列绑定单元格,还可以使用字符串、公式、参数等等不同类型的数据,双击报表填报属性对话框中值所在的单元格,会弹出值编辑器,如下图:


    若用户在模板中插入了一行或一列,导致填报单元格整体偏移了一格,此时可以使用批量修改单元格,整体批量修改,如下图:


    至此,填报属性的必要步骤设置完成。

    2.5 设置提交条件

    使用内置 SQL 填报数据,可以对填报数据进行过滤,如果 Web 端提交的数据满足条件,则可以入库,不满足,则不入库,点击设置提交条件即可添加过滤条件,如下图:


    提交条件是指填报数据执行 SQL 语句的时候,如果当前执行的 SQL 语句中的关于提交条件中的字段符合提交条件则正常执行,如果不符合条件则跳过不执行,即不入库,继续执行下一条 SQL 语句,比如说设置提交条件为:成本价不为空,如果在填报的时候,某条记录的成本价为空,则该条记录不入库。

    其应用示例请查看 空白数据不入库(填报过滤)

    3. 自定义事件

    如下图,在报表填报属性页面,可增加自定义事件,自定义事件可通过 FR 提供的 API 接口来实现不同的类,接着将该类导入到设计器中,即可实现自定义事件,详细请参照 填报自定义提交

    注:添加了多个内置 SQL 后(不论几个 sheet 里面的内置 SQL),提交时有一个执行不通过的话,后面的内置 SQL 就不会执行,前面的执行过的也会无效(FR 填报支持事务回滚机制)。

    另:在数据 commit 时出现异常,或者回滚时出现异常时, 如果最终是失败的,后台额外报错提示:前者是 “数据提交出错,无法回滚”,后者是 “数据回滚失败”。 前端都提示”失败”。

    附件列表


    主题: 填报入门
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]