- 页面后台两不同,
- 布局规则最优先,
- 格式长度和必填。
- Before Trigger触发前,
- 后台只将外键检。
- 批量插入有例外,
- 验证规则提前验。
- Before之后做验证,
- 自定规则和必填,
- 系统规则不二遍。
- 验证之后跑去重,
- 存入DB不提交。
- After Trigger触发后,
- 分配/回复/工作流,
- 如果字段有更新,
- 验证/去重不再做,
- Trigger仅再跑一次。
- PB/Flow依次跑,
- 数据操作从头走,
- Case规则在随后。
- 父表汇总此时算,
- 工作流把父表更,
- 共享规则重计算。
- 数据DB提交后,
- 后续邮件才发送。
// 逐句解释更新中……
解释:
行1,行2,行3:与使用apex或者api新建或者更新数据相比, 通过Page Layout新建或者更新数据的行为会少许不同。通过Page Layout的时候会根据layout的字段属性配置提前进行一次字段格式(比如邮箱类型,电话号码格式等)/字段长度/字段是否必填等检查,才会进行后续的Trigger处理。
行4,行5:对于通过Apex或者API等方式后台创建/更新数据,虽然不会提前做一次系统级检查,但会对外键做一次检查,确保没有发生引用自己的情况。
行6,行7 :按理说接下来无论是用过Page Layout还是通过后台,下一步都应该进入Trigger处理了吧?还不一定。这里有一个例外形况,就是如果发生了例如Opportunity Line Item或者Quote Line Item的批量创建,则会提前执行一次自定义的Validation Rule。