当ID为主键的时候,提交数据时原本ID有值的依然会被提交,成双倍提交。

即使页面没有做任何修改,提交后依然会出现数据量乘2
1233.png
公式这边,我判断了,假如当列id没有值时就生成uuid。
请问是我的公式写错了吗?

FineReport 873282620 发布于 2019-9-19 17:33
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
873282620Lv3初级互助
发布于2019-11-29 18:46

IF(AND(LEN(A4) = 0,LEN(A4) = 0),UUID(32),A4)

最佳回答
0
zsh331Lv8专家互助
发布于2019-9-19 17:35

image.png


这个【$$$】不应该是个【参数】或【单元格值】吗?你这样写肯定全部插进去了!这个判断逻辑不对!

  • 873282620 873282620(提问者) 但是文档中没有提供怎么获取该字段值。 可以帮忙写一下吗?我字段已经给予了
    2019-09-19 17:36 
  • zsh331 zsh331 回复 873282620(提问者) 参考:if(len(A1)=0,uuid(32),A1)
    2019-09-19 17:42 
  • 873282620 873282620(提问者) 回复 zsh331 但是我的页面上没有ID,如何A1?
    2019-09-19 18:05 
  • zsh331 zsh331 回复 873282620(提问者) 把id放出来!
    2019-09-19 18:07 
  • 873282620 873282620(提问者) 回复 zsh331 请问有没有判断if(len(A1)=0,uuid(32),A1) 主要是len(A1)=0 不能直接这样 用吧?会不生效,if(参数1,参数2,参数3),参数1里面不是只能true或false吗?
    2019-09-19 18:33 
最佳回答
0
shirokoLv6资深互助
发布于2019-9-20 08:22(编辑于 2019-9-20 08:26)

=IF(len($$$)=0,UUID(32),$$$)


写在单元格内,然后提交这个单元格(可以隐藏这个单元格),你这样写搞不清逻辑,提交到底是看哪一格?

而且你查询语句也一定要查询这个ID出来填到报表内(可以隐藏),不然肯定会双倍提交,因为他无从判断当前UUID是否存在,所以每次都会生成一个UUID,然后再新提交一次而不是修改原有数据

  • 873282620 873282620(提问者) 但是我之前就是这样写的。现在我把ID放到了A4 依然不生效
    2019-09-20 09:46 
  • shiroko shiroko 回复 873282620(提问者) 对了,如果要查询填入的话就是数据列了,就不能填公式了,这样的话,就写到条件属性进去吧。 或者像你这样公式改成IF(len(A4)=0,UUID(32),A4)写到填报属性内,A4同样也要设置填入ID的数据列
    2019-09-20 10:03 
  • 873282620 873282620(提问者) 回复 shiroko IF(AND(LEN(A4) = 0,LEN(A4) = 0),UUID(32),A4) 因为我觉得这个len(A4) = 0,应该不会返回true 或者 false
    2019-09-20 10:21 
  • 2关注人数
  • 506浏览人数
  • 最后回答于:2019-11-29 18:46
    请选择关闭问题的原因
    确定 取消
    返回顶部