【已解决】关于子表状态更新主表状态的实现方式求教。 DoctorWhoLv.5明道 发布于 2023-04-24 16:03 最后回复 2023-05-18 11:02:23 问答 收藏 复制链接 新浪微博 微信扫一扫 分享 8 回复1524 浏览 如图,有一份主表和子表,两者互相关联。现想要实现子表状态更新主表状态一效果。 其中,主表 A 数据关联子表数据 1、2,B 关联 1、3,C 关联 3; 要求,子表数据有一项为失效时,主表为失效,子表数据全为生效时,主表为生效。 求实现方式。 [图片] [图片] 目前试过用子表的工作表事件方式,但似乎无法实现“子表全为生效时主表生效”这一情况; 试过主表中关联子表记录数与状态值比较的方式,但汇总控件不支持实时更新数据。 如图,有一份主表和子表,两者互相关联。现想要实现子表状态更新主表状态一效果。 其中,主表 A 数据关联子表数据 1、2,B 关联 1、3,C 关联 3; 要求,子表数据有一项为失效时,主表为失效,子表数据全为生效时,主表为生效。 求实现方式。 目前试过用子表的工作表事件方式,但似乎无法实现“子表全为生效时主表生效”这一情况; 试过主表中关联子表记录数与状态值比较的方式,但汇总控件不支持实时更新数据。
时隔大半月重试,用子流程解决。
你关联双向多条,获取要分情况
![image.png]()
多条得获取多条,在子流程再去获取单条主表更新
但你看我主表图里的“关联数据有效数”,子表里的都是失效的,主表里的还没变化。。。
汇总是实时更新的,但是公式和汇总不参与“更新”事件,所以没办法触发事件更新
之前我就提过这个,数值引用公式和汇总的问题,没啥用
但还是可以实现的
![image.png]()
(部分值条件也可以是在 1~全的范围)
我看看
子表的工作表事件触发 PBP(封装业务流程),触发时传参“ParentId=主表记录 ID”。
在 PBP 里,用 ParentId 查得主表记录,再统计其下子表记录。
建议学一下 PBP 怎么玩。
统计失效数需要在主表的工作表事件中进行,但子表变更触发不了主表的工作表事件啊。
做个 PBP,输入参数为主表记录 ID,里面的逻辑是:
在这条主表记录下,统计失效的子表记录数 X,和生效的子表记录数 Y;
当 X>0 或(X 等于 0 且 Y 等于 0)时,主表为失效,否则为生效。
然后就是怎么触发这个 PBP 的问题:
在子表上设置,当增删改时触发,即可。