反馈已提交

网络繁忙

填报插入数据时自动生成流水号

  • 文档创建者:星踪
  • 历史版本:5
  • 最近更新:星踪 于 2021-08-13
  • 1. 概述

    1.1 问题描述

    填报在插入数据的时候,希望能根据当前日期自动生成一个流水号,例如:ABC202108050001,要如何实现呢?

    1.2 解决方案

    在填报属性处利用公式拼接即可,整个流水号分为三部分:

    固定字符串:ABC,直接写即可。

    当前日期:20210805,可以使用公式format(today(), "yyyyMMdd")获取。

    自增序号:0001,可以利用sql函数,查询出数据库中当前日期下最大的流水号,并加1。

    注:由于填报属性中的函数计算是统一在提交动作之前的,所以无法在批量插入多行数据的场景下实现自动生成流水号,本文档只适用于每次插入 1 条数据的场景。

    2. 示例

    2.1 设计模板

    如下图设计表格:

    2.2 设置填报属性

    如图所示设置填报属性:

    id 列绑定的公式为:CONCATENATE("ABC", format(today(), "yyyyMMdd"), format(sql("sqlserver", "SELECT max(right(id,4)*1) maxid FROM [dbo].[流水号] where SUBSTRING(id,4,8)=CONVERT(varchar(100), GETDATE(), 112)", 1, 1) * 1 + 1, "0000"))

    该公式中的 SQL 函数作用为取出数据表中 id 列中的日期等于当前日期的数据,并截取出最后四位转为数字。具体 SQL 写法需要根据实际数据库类型和需求进行修改。

    2.3 效果预览

    保存模板,点击填报预览,效果如下图所示:

    1.gif

    支持 App 端和 HTML5 端预览。

    3. 模板下载

    已完成模板参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Form\填报插入数据时自动生成流水号.cpt

    点击下载模板:填报插入数据时自动生成流水号.cpt

    附件列表


    主题: 填报应用
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持