填报问题

已经入图片那样设置,但是创建时间会全部改变,希望的是有两个字段:

  1. 创建时间在第一次新建或导入的时候自动生成,

  2. 之后数据如果修改或者更新,在更新时间上显示,创建时间不发生变化。

  3. 后面的数据更新不覆盖元数据 而是新增数据 

FineReport 帆软用户SZTRNEJF7j 发布于 2025-8-19 17:14
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
KennethGYDLv2见习互助
发布于2025-8-20 12:55(编辑于 2025-8-20 12:56)

首先 感谢各位朋友的帮助,最后选择的方法是,在数据库有两张表:

1.一张用于存储最新版本的数据,一张用于存储历史版本的数据,两张表的字段结果一样,只是历史表多了一个替换时间字段,用于记录这个版本什么时候被替换。

2.最后建两个触发器,让他的创建时间、更新时间、版本号都在数据库自动生成。

3.界面上的填报不需要太多操作,要记得勾选“未修改不更新”

PS:可以把需求发给AI,多问问,虽然他对finereport不是很了解,但是写sql啥的还是没问题

需要的可以在社区上联系,直接发代码错了


最佳回答
0
snrtuemcLv8专家互助
发布于2025-8-19 17:15

这个改成公式,然后w3去数据库值

IF(len(W3)=0,now(),W3)

  • 帆软用户SZTRNEJF7j 帆软用户SZTRNEJF7j(提问者) 创建时间可以了 请问一下更新时间该怎么写呢 就是第一次就是创建时间=更新时间,后面数据更新了,就会产生一条新纪录,更新时间就发生变化了
    2025-08-19 17:39 
  • snrtuemc snrtuemc 回复 KennethGYD(提问者) 按这个写,你更新数据,应为让你W3放数据库数据,这时候有数据了,还是原来时间,可以满足你需求的啊
    2025-08-20 07:43 
最佳回答
0
CD20160914Lv8专家互助
发布于2025-8-19 19:25

创建时间要增加1个判断列,最后隐藏起来

if(len(b2)=0,now(),b2)//b2是你数据库字段创建时间,就是如果b2有值,就取b2的时间,否则用当前时间

更新时间发生变化。因为你每次提交了页面的所有数据。你可以用js判断,每次只提交修改的行,这样就行了

这个勾要能够生效是要你的字段全部引用单元格,不能用公式与常量!!所以所有的写法都放在单元格里面判断。最后引用单元格,再勾上这个勾就行了!

image.png

参考文件也可以这样的!!仔细看文档是可以的!方式不是唯一的。你可以先按教程来!!

JS实现只提交修改过的数据- FineReport帮助文档 - 全面的报表使用教程和学习资料

image.png

填报未修改不更新- FineReport帮助文档 - 全面的报表使用教程和学习资料

  • 2关注人数
  • 40浏览人数
  • 最后回答于:2025-8-20 12:56
    请选择关闭问题的原因
    确定 取消
    返回顶部