这篇“Salesforce的执行顺序是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Salesforce的执行顺序是什么”文章吧。
公司专注于为企业提供网站设计、网站建设、微信公众号开发、商城网站开发,重庆小程序开发,软件按需定制设计等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,创新互联公司更提供一系列网站制作和网站推广的服务。
当我们保存与插入,更新,或更新插入语句的记录,Salesforce的可以依次执行以下事件。
注:Salesforce在服务器上执行这些事件之前,浏览器运行JavaScript验证是否有记录包含任何依赖列表字段。验证每个依赖列表字段限制了它的可用值。无其他验证发生在客户端。
1. 从数据库加载原始记录或初始化一个用于更新插入(upsert)语句的记录。
2. 从请求加载新记录的字段值并覆盖旧的值。
如果请求来自一个标准的UI(user interface)编辑页面,Salesforce会运行系统验证去检查记录是否符合以下规则:
•符合布局的具体规则
•在布局水平和字段定义级别是否是必须入力的值
•有效字段格式
•最大字段长度
注意:当这个请求来自其他资源的时候(比如来自Apex application 或者 SOAP API 调用的时候.),salesforce并没有在此步骤中执行系统验证
3. 执行所有的before 触发器。
4. 再次运行大部分的系统验证步骤,如验证所有必填字段没有一个非空值,并运行所有用户自定义的验证规则( validation rule )。
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. 如果记录包含一个卷起的汇总字段( rollup summary ),或者是一个跨对象工作流程的一部分,执行计算并更新父记录卷起汇总字段( rollup summary )。父记录经过保存的程序。
15. 如果父记录被更新,和祖父母记录包含一个卷起的汇总字段( rollup summary ),或者是一个跨对象工作流程的一部分,执行计算并更新父记录卷起汇总字段( rollup summary )。祖父母记录经过保存的程序。
16. 执行基于共享的评价标准。
17. 要求所有DML操作到数据库,即事务提交(即真正的commit,当然如果出现Error的话还是会rollback)。
18. 执行post-commit的逻辑,如发送电子邮件(send email)。
为了方便小伙伴们理解,再附上一个口诀 :
页面后台两不同,
布局规则最优先,
格式长度和必填。
Before Trigger触发前,
后台只将外键检。
批量插入有例外,
验证规则提前验。
Before之后做验证,
自定规则和必填,
系统规则不二遍。
验证之后跑去重,
存入DB不提交。
After Trigger触发后,
分配/回复/工作流,
如果字段有更新,
验证/去重不再做,
Trigger仅再跑一次。
PB/Flow依次跑,
数据操作从头走,
Case规则在随后。
父表汇总此时算,
工作流把父表更,
共享规则重计算。
数据DB提交后,
后续邮件才发送。
以上就是关于“Salesforce的执行顺序是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。