如何不通过工作流实现主表状态的自动更新 陈韬Lv.2入道 发布于 2023-10-17 10:28 最后回复 2023-10-18 09:22:30 分享 收藏 复制链接 新浪微博 微信扫一扫 分享 9 回复955 浏览 如下图: 已知:主表 A 和子表 b 是 1 对 N 关联;主表 A 中有一个针对子表 b 的汇总控件【完成数】,同时还有一个基于汇总控件的计算【完成率】。 目标:当完成率为 0 时,状态为未开始;完成率大于 0 小于 1 时,状态为进行中;完成率等于 1 时,状态为已完成。 要求:如何不通过工作流实现;或者如何减少工作流的使用来实现(通过子表数据的更新去触发的话会浪费很多工作流(具体场景的时候可能是 3 级子表,而且子表的数量很大),主表的汇总控件和计算值又无法作为触发条件)
工作流写成全量更新,如 jackie 说的。
触发机制是监控子表的更新,如 wanc 说的。
你可以监控子表的更新呀,你看的示例
录制_2023_10_17_16_50_46_788.mp4
完成率是公式,公式和汇总控件均无法设置为触发字段
可以只监控三个状态。当满足指定条件,触发更新指定状态。
如:
这样只会在指定情况下触发工作流,不会频率的触发工作流的,一般情况下,我们把初始状态设定为“未开始”,这样整个流程中,一条数据只会触发 2 次工作流
如果实时性要求不高的话,可以用定时任务(比如 4 小时/8 小时/24 小时更新一次)定时批量获取主表,走子流程,判断完成率=1 则更新主表状态;
子表加筛选条件减少触发
按钮
这个更新,没法减少工作流的,不然就不是自动的
那有什么好的办法能减少这个工作流的调用呢,如果是子表数据变动触发,针对多级关联的表或者是子表数据量非常庞大的表实用性就很差了
单选没有前端操作函数,选项只能取值,不能赋值,只能跑工作流
多选,检查类似