复制新增数据表中某一字段相同内容的多条记录里面最后一次录入的数据。

在一个表格中(包含有子表),在数据操作表单里,选择一个字段“设备名称”后,(同一设备名称有很多条检查数据),实现这个设备最后一条检查记录填充到子表中,同时我想实现复制新增最后一次的检查数据(含子表内容)。

请问一下老师,这样的动作怎实现?

跟传统全开发开发的思路是一样的,JIT平台只是将 代码可视化操作。

你先想想 传统全代码开发要怎么实现。然后 其中哪一句用JIT平台不知道怎么操作

老师,可不可以直接指导步骤,我下来再好好学习领悟一下。
谢谢!

老师,可不可以像上次一样,直接在论坛上把代码展示出来。谢谢哈!

就是因为上一次 怎样复制一行数据(带子表数据) 已经跟你讲过怎样复制新增一行数据。 这里也是类似的逻辑。

你先按上次的方式,自己尝试理解,应该怎样配置。贴出相关地方的截图,我们再指出你哪里理解错了,应该怎样改。

第一次碰到一个新场景,我们可以贴出来示例。但后续碰到类似的场景,希望你先自己尝试,并且提问时,说明具体哪一步,期望做什么操作,想知道怎么搭建。 理由:

  1. 方便你巩固之前学习的;
  2. 有具体场景和截图,也方便我们快速理解你的业务背景,并快速指出你的问题。(像你上面的描述,其实我都没太理解你的问题)


老师,目前遇到的问题:
一是我还知道查询最后一条记录的方法对不?
二是为什么变量上面获取的值,填充不到编辑页面子表?

我的逻辑是这样的,第一步,先查询“保护对象名称”对应信息的数据,然后以数据表ID降序排序,取第一条数据。然后赋值给变量。第二步,条件判断,如果查询数据,数据表ID不为空,执行以下事件。将变量里面的数据赋值给编辑页面的子表中。后续应该和前一次的复制新增主表(含子表)的逻辑一致。

请老师指教,谢谢老师!

你整体的思路是对的。问题出在 给子表数据赋值。

条件判断里面,应该这样赋值: 新增记录BD.表单模型.子表.值 = 返回的单行数据.子表.值

错误原因:

  1. 不支持 新增记录BD.表单模型.子表.xxx字段.值 =xxx 这种方式。
  2. 就算去遍历,给子表.XXX字段 赋值,也是针对已有的子表数据某一行的XX字段赋值。

优化建议: 关于取查询最后一条记录的方法,你当前按 ID 降序排序没问题。不过严格来说,推荐按 日期字段(保护日期)降序排序。 因为,有可能业务上存在 补录的情况,即 2025-09-05 录了一条保护日期=2025-09-05 的数据,然后 2025-09-06 ,补录了一个 保护日期=2025-09-01的数据,这时按保护日期降序排序 和 按ID降序排序就有区别了

另外,扩展一下,你这里 新增记录BD.表单模型.子表 = 返回的单行数据.子表

等式左右两边都是 同一个子表,所以可以直接这样 = 。如果 右侧的子表跟左侧的子表不是同一个数据表。就需要数据转换。 及

新增记录BD.表单模型.子表 = 服务.数据处理.转换多行数据({映射2个数据表模型的字段})


老师,我最开始就是这样赋值的。但这样设置后,页面”保护对象名称“字段点选后,子表没有任何数据填充。后来我才在编辑页面中设置子表字段对应变量中的子表字段。
现在这两种方式都没有实现填充的结果。
我在想是不是我获取数据的方法错了,没有给变量赋值。

你这里配置没问题。

点击 「保护对象名称值改变后」后,子表没有展示对应的数据吗?

如果没有显示子表数据,就检查 第一行,是不是查询条件配置的有问题,导致没查询到数据。 可以像传统开发一样, 直接查看后端请求的接口返回数据。 也可以直接断点调试前端代码

老师,就是你说的,查询这块有问题。

老师,请教一下,谢谢!
我若要声明一个变量,这个变量是根据编辑页面某一字段内容,在某一个数据表中进行查询,然后将查询结果再赋值给声明的变量。这个操作该怎样写?
谢谢老师!

看下私聊消息

这个错误说明不了问题,

你截图中的是没问题的,唯一可能有问题的就是 筛选条件配置错了,导致没有查询到数据

怎么判断有没有查询到数据? 你看下接口返回数据就知道了。 怎么查看接口? 打开前端控制台》网络, 然后选择一个「保护对象名称」,看 接口返回数据。

确认是没有查询到数据的话,发出 配置筛选条件的截图,帮你看下哪里配置错了

这里选择 变量值, 新增记录BD.表单模型.保护对象名称.值

要学会查看接口数据,你一开始配置的整体思路都是对的,就是这个条件配置错了。如果会查看接口数据,就能快速定位到这里,省很多时间

谢谢老师,可以正常应用了。
我还有点没有明白,为什么表单模型.子表.值可以正常赋值,而表单模型.子表里面具体的字段值不能对应赋值或者说赋值不成功。

你自行搜索下「数组遍历」是什么意思,数组为空时,遍历会不会执行