标签:
Client:(最先执行的)
1.进行JavaScript验证。
Server:
1.从数据库为Upsert语句加载数据
2.从客户端加载新的数据,并覆盖历史数据
标准的SF页面数据:要进行System Validation,包括:
a.遵守页面布局的规则(不同的页面布局显示不同的字段)
b.页面/字段级别的必填
c.填写的数据是否是有效的格式
d.填写的数据的长度限制
e.用户自己定义的限制
Apex Application/SOAP Call:不会进行System Validation,直接进行用户自己定义的限制。
3.执行Trigger的Before逻辑
4.再次执行System Validation,Customer Validation
5.重复数据规则:
6.保存数据到DB,但是没有Commit.
7.执行Trigger的After逻辑
8.执行Assignment Rule(owner 的分配规则)
9.执行SF Auto Response(sf 自动响应规则)
10.执行Workflow规则
11.如果Workflow有Field Update(字段更新),再次更新历史数据
12.执行Trigger的 before update 和 after update 逻辑(只会执行一次),System Validation也会执行。Customer Validation 和 Duplicate rule都不会再执行。
13.执行Processes
14.执行Escalation Rule
15.执行Entitlement Rule
16.更新Master-Detail中,父对象上的Roll up字段的值。并且,执行跨对象的Workflow
17.如果父对象是Master-Detail中的Detail对象,则继续执行它的父对象上的Roll up字段的值,
18.执行 Criteria Based Sharing evaluation(标准的数据共享规则)
19.提交 DML 操作到DB
20.执行其他操作,比如发邮件等
参考文档:https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers_order_of_execution.htm
标签:
原文地址:http://www.cnblogs.com/donny-sf/p/4801351.html