反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

多人填报时如何防止内容覆盖

  • 文档创建者:Leo.Tsai
  • 历史版本:5
  • 最近更新:Leo.Tsai 于 2022-08-22
  • 1. 概述

    1.1 问题描述

    在多人同时填报一个模板的时候,可能会出现后填报的内容覆盖掉先填报的内容的问题。怎么才能实现多人填报互不干扰呢?

    1.2 实现思路

    会出现覆盖问题的原因,是因为主键没有根据用户区分,所以不同人提交的时候,可能出现主键一致的现象。根据提交逻辑,主键一致会执行更新操作,这就造成了上述问题。

    解决方案就是增加一个可以区分用户的主键,比如用户名,用户ID等。

    2. 示例

    2.1 设计数据库表

    以 SQL Server 数据库为例,数据库表中新增 4 个字段,将填报人和订单ID同时设置为主键。如下图所示:

    1.png

    2.2 设计填报表格

    填报页面只要 3 个字段就行,填报人字段可以使用系统自带的$fine_username参数获取。

    Snag_43b49fdb.png

    2.3 设置填报属性

    将填报人字段的值设置为公式:$fine_username,这样提交时会将填报者的用户名填写到数据库填报人这个字段中去。 

    注:$fine_username需要登录后才能正常获取当前的用户名。

    1624518313554546.png

    2.4 效果演示

    1)这里用 2 个用户给大家演示下,分别是用户名为 Alice 跟 Lily 的用户。

    Alice 先填报:

    1.png

    Lily 后填报:

    2.png

    2)她们都提交成功后,数据库表信息如下图,我们可以看到,订单ID是数据库表的一个主键,Alice 和 Lily 都填报了相同的订单ID,但是没有出现覆盖。

    3.png

    注:该方案支持移动端使用。

    3. 模板下载

    点击下载模板:订单销量表填报.cpt

    模板使用了本地的 SQL Server 数据库,所以下载后无法正常预览,但可以参考下设置。

    附件列表


    主题: 填报应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526