累计汇总(Roll-Up Summary)字段广泛应用于Salesforce中,但是其限制是只能适用于Master-Detail关系,而普通的查找关系(Lookup Relationship)是不能新建**累计汇总(Roll-Up Summary)**字段。如果有该需求,常用做法是新建一个字段,通过系统的触发器进行计算。
今天带大家来探讨一下,如何利用流(flow)和进程生成器(Process builder)在查找关系(Lookup Relationship)中新建一个累计汇总(Roll-Up Summary)字段?
假设现在我们有如下案例:
我们新建一个对象名字为Project ,同时与Account建立查找关系(Lookup Relationship),并且建立如下字段:
现在需要做的是每一次添加一个Project,都会计算该Project对应的Account一共拥有多少个Project,由于Account和Project不是Master-Detail 关系,我们无法新建累计汇总(Roll-Up Summary)字段。因此,可以在Account对象下,新建一个Number字段,名字为Project Count Total。
接下来需要做的是:每一次Project数据变动,通过进程生成器(Process builder)调用流(flow)统计Project的Account下面的所有Project数量,并且更新回Account的字段:Project Count Total。
现在我们先新建一个Flow。
Flow的步骤如下:
-
通过外部传入Project对象的Account的Id, 利用这个Account的Id获得有关的Project
-
创建循环,遍历这个Account下面的Project数据
-
在每一次循环时候,累加总数。
-
将该总数更新回Account字段中。
<