2

设置

我有一个 MDR 关系,如下所示:

活动--<参加者>-- 联系方式

EVENT 上有一个触发器,它在插入之前和更新之前触发,计算参加者的数量(通过在参加者对象中搜索事件 ID 的出现次数。

问题:

当我向 ATTENDEE 添加记录时,为什么我的触发器会在 EVENT 对象上触发?!

谢谢!

4

1 回答 1

2

当对详细记录的更改(在主从关系中)导致主记录上的汇总汇总发生更改时,可能会导致主记录上的触发器执行。


Salesforce 帮助中的汇总字段技术概述知识文章很好地解释了这一点:

增量更新
当汇总记录发生更改时,我们确定该更改是否会导致 RSF 值发生更改。如果是这样,我们计算一个增量值,然后将其应用于同一事务中汇总记录中的 RSF。我们在内存中执行此操作。不需要额外的数据库调用。仅对具有实际更改的 RSF 的行执行更新。如果汇总行本身被汇总,则该过程继续到祖父母。汇总行的所有验证、触发器、工作流等都必须在更改时执行。所有增量更新都执行到 38 位精度。

此外,有关更多详细信息,请参阅Spring '09 发行说明的第 79 页。

工作流规则和汇总汇总字段评估
Spring '09 工作流规则和汇总汇总字段评估更新会影响 Salesforce 评估具有 Apex 触发器的对象上的工作流规则和汇总汇总字段的方式。此更新提高了数据的准确性,并防止在发生递归时重新评估工作流规则。递归是您的自定义逻辑的一部分(例如汇总汇总字段或 Apex 触发器)导致 Salesforce 在保存记录时执行逻辑两次的情况,通常会导致不良行为。有关详细信息,请参阅“什么是 Spring '09 工作流程规则和汇总汇总字段评估更新?” 在 Salesforce 在线帮助中。

于 2012-05-17T19:15:45.120 回答