Salesforce 执行顺序

在服务器上,Salesforce按以下顺序执行: 
1,从数据库加载原始记录或初始化一个用于更新插入(upsert)语句的记录。 
2,从请求加载新记录的字段值并覆盖旧的值。 
如果请求来自一个标准的UI(user interface)编辑页面,Salesforce会运行系统验证去检查记录是否符合以下规则: 
•符合布局的具体规则 
•在布局水平和字段定义级别是否是必须入力的值 
•有效字段格式 
•最大字段长度 
注意:当这个请求来自其他资源的时候(比如来自Apex application 或者 SOAP API 调用的时候.),salesforce并没有在此步骤中执行系统验证 
3,执行所有的before 触发器。 
4,再次运行大部分的系统验证步骤,如验证所有必填字段没有一个非空值,并运行所有用户自定义的验证规则。 
5,保存记录到数据库中,但不提交事务(commit)。 
6。执行所有的after 触发器。 
7,执行分配规则(assignment rules)。 
8,执行自动响应规则(auto-response rules)。 
9,执行工作流程规则。 
10,如果有工作流将一些字段更新了,再更新该记录。 
11,如果记录在工作流更新字段值得时候被更新了,再一次(仅仅再一次)触发before update和after updata触发器,同时还有标准的验证规则也会被执行(自定义的验证规则不会被执行)。 
12,如果有工作流流程触发器(workflow flow triggers),执行流(flow)。 
13,执行升级规则。 
14,如果记录包含一个卷起的汇总字段,或者是一个跨对象工作流程的一部分,执行计算并更新父记录卷起汇总字段。父记录经过保存的程序。

15,如果父记录被更新,和祖父母记录包含一个卷起的汇总字段,或者是一个跨对象工作流程的一部分,执行计算并更新父记录卷起汇总字段。祖父母记录经过保存的程序。 
16,执行基于共享的评价标准。 
17,要求所有DML操作到数据库。 
18,执行post-commit的逻辑,如发送电子邮件。

此刻,静下心来学习
原文地址:https://www.cnblogs.com/bandariFang/p/5828287.html