空白数据不入库(填报过滤)

  • 文档创建者:文档助手1
  • 编辑次数:8次
  • 最近更新:Kevin-s 于 2019-06-04
  • 1. 描述

    插入一条记录时,有些单元格有值,有些单元格没值,当将数据提交入库的时候希望进行判断,如果某些单元格没给值的话,那么这条记录就是作废的,没有用的记录,希望这样的记录不要插入到数据库里面,不然导致数据库里面产生很多无用数据,此时就可以在报表填报属性中设置提交条件进行填报过滤。

    填报过滤是指在填报入库的时候,对当前填报sql的数据进行判断,符合条件则正常执行该 SQL 语句,修改数据库数据,不符合则跳过当前 SQL,继续执行下一条。

    2. 示例

    以 LineForm5.cpt 为例,插入数据时,如果成本价字段值为空,则该数据不入库,不为空时才入库。

    2.1 模板准备

    打开模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\LineForm5.cpt

    2.2 设置提交条件

    模板 LineForm5.cpt 的填报属性处设置了成本价的值为if(len(F3)==0,0,F3),即表示成本价为空时显示为0,故提交条件可写成:成本价不等于0。

    选择模板>报表填报属性进入报表填报属性设置界面,点击设置提交条件,进入条件设置界面,新增一个提交条件:成本价不等于 0,如下图:
    222

    2.3 效果查看

    点击填报预览查看模板,点击插入行,如下图,插入 2 行数据,一条记录成本价为空,一条记录不为空,点击提交:
    222

    新建一个数据集ds2:SELECT * FROM 产品,预览模板,可看到产品表中只有产品编号为81的这条记录,没有产品编号为80的记录,如下图:
    222


    注:要区分填报校验与提交条件的区别,填报校验如果不通过则不执行提交操作,但是提交条件只是对提交的数据进行过滤,不满足的就不提交,满足的就提交,并不会中断提交过程。


    附件列表


    主题: 填报应用
    • 有帮助
    • 没帮助
    • 只是浏览