我在 A 表中有一系列的复杂运算,并存储到了公式字段中,我在 B 表中使用关联记录关联了 A 表,但是我希望在 B 表提交之前,能验证 A 表的这个公式是否满足目标值,并期望能阻止表单的提交,防止垃圾数据创建。
但是有个问题,他表字段没办法实时更新。
比如本来 A 表的值 0,我打开 B 表创建时,通过关联记录进入了 A 表,使这个公式的值进行了更新,保存后,回到 B 表,他表字段没有更新,而无法正确触发表单的验证。如果把他表字段改为【存储数据】,则需要手动刷新才会同步
客户不接受这种刷新的行为
请问有什么好的办法?
API 查询 + 封装业务流程 + 将返回数据写入表单字段。
事件:获取焦点时 + 按查询工作表 + 设置字段值。
没有特别好的办法,我们之前也遇到过这个问题。我们的解决方法是在 B 表提交的时候新建后立即有一个工作流去刷新数据来后台判断,不正确的发消息提醒,这条提交的数据修改为作废状态提醒用户修改。。。。仅供参考。不过修改后提交还是会遇到这个问题,还有一个工作流就是当 A 表这个字段值修改时工作流都去找 B 表内关联了 A 表的记录然后刷新
也就是说,还是需要通过触发 B 的任何字段来触发 A 表的关联记录。但在业务中就会很奇怪,因为我的 A 表在下面,一般都是填完了以后才发现有验证,然后就去 A 表里修改,打开 A 表修改后,期望的是得到了 A 表的新值,使验证通过,结果因为没有刷新,导致用户以为是 BUG
实际 就是让前端重新拉取一下修改后的 A 表记录,因为穿透到 A 表时,这个关联记录是静态的数据;需要通过事件去清除这个静态的数据再重新获取一次。努力制造一个这样的机会
我刚测试了一下,在 B 表是新建的状态时,控件事件也是无法刷到实时刷新后端数据,只有当 B 记录是已经创建的记录才行;这条路也是走不通的;
我建议是换一个方式,你肯定是把这个关联 A 表以查询表的方式默认过去的,你可以当用记编辑 A 表后,再通过字段事件重新设置一下这个默认值
用户是点击右上方的创建按钮,打开了 B 表的创建,里面有一个 A 表的关联记录,可以从 A 表里去编辑字段,某些字段会引起 A 表的运算(公式),编辑保存后,关掉 A 表,还是在 B 表的创建界面上,但是 A 表的他表字段(即那个公式)无法刷新,导致点击【提交】按钮时,验证失效了。
但是 B 表一开始就什么都不做
![image.png]()
就是用户在操作完 A 表后,必须要操作什么字段,通过这个字段的事件来刷新他表字段;也可以有意通过规则引导必须要先改 A,才能继续且必须操作至少一个字段才可以提交验证,以便让事件来同步刷新他表字段
这个没有听明白,愿闻高见
又或者再仔细找找在需要验证前是不是用户还某个操作在字段事件可以影响范围内,通过控件事件来刷新这个他表字段的数值
这的确是个棘手的问题,毕竟更新这个数据是后端的数据,创建的 B 又还只是前端的数据;看看能否跟客户沟通下,把前端验证放到后端,或者直接把这个穿透表单修改数据的功能 给关掉。