资讯动态

Salesforce 执行顺序(Order of Execution)详解

发布时间:2026/8/14 8:08:49 来源:尧图企业网站定制
Salesforce 执行顺序Order of Execution详解Salesforce 执行顺序Order of Execution是每个开发人员必须掌握的核心概念它定义了 Salesforce 在记录被插入、更新、删除或恢复时处理事件的具体步骤。理解这一流程对于避免触发器、验证规则和自动化流程之间的冲突至关重要能确保业务逻辑按预期执行。什么是执行顺序执行顺序指的是当记录被保存插入或更新时Salesforce 遵循的一系列处理步骤。这个过程确保所有业务规则、验证和自动化逻辑以一致的顺序应用避免数据不一致或逻辑冲突。完整执行顺序以下是记录被保存时发生的详细事件序列1.初始化Initialize系统加载数据库中的原始记录针对更新操作或初始化新记录针对插入操作。验证用户是否有执行当前操作的权限如对象级权限、字段级权限。2.预验证触发器Before Triggers执行Before-save Record-triggered Flow执行before 触发器声明为before insert或before update的触发器。这是修改记录字段的最早时机此时数据尚未经过系统验证。常见用途设置默认值、标准化数据格式如统一邮箱格式。trigger AccountBeforeTrigger on Account (before insert, before update) { for (Account acc : Trigger.new) { // 为新记录设置默认行业 if (Trigger.isInsert acc.Industry null) { acc.Industry Technology; } // 标准化网站格式添加 http:// if (acc.Website ! null !acc.Website.startsWith(http)) { acc.Website https:// acc.Website; } } }3.系统验证System Validations执行基础数据验证检查必填字段是否已填写验证字段格式如邮箱、电话格式确保数据类型匹配如数字字段不包含文本检查记录所有权规则和角色层级权限执行验证规则Validation Rules。若任何验证失败整个保存过程终止并返回错误信息。4.数据库操作Database Operations将记录写入数据库此时记录已保存但尚未触发后续自动化。对于更新操作系统会创建记录的历史版本供后续审计追踪。5.后操作触发器After Triggers执行after 触发器声明为after insert或after update的触发器。此时记录已保存到数据库可获取系统生成的字段如Id、自动编号。6.流程和自动化Processes and Automation执行Workflow 规则包括字段更新、邮件提醒等。执行Process Builder流程。执行Flow 自动流程执行After-Save Record-triggered Flow。注意这些自动化可能再次修改记录导致触发新一轮的验证和触发器称为“递归”。7.权限重新验证Re-validation若自动化流程修改了记录系统会重新执行验证规则Validation Rules字段级安全检查必要时再次执行 before 触发器仅当记录被修改时8.最终更新Final Updates系统更新所有因自动化流程产生的字段变更。更新相关的汇总字段如父对象的汇总字段。处理roll-up summary 字段的计算。Executes Criteria Based Sharing evaluation9.Commit 到数据库10.后续操作Post-Commit Actions执行异步操作触发future方法执行 Queueable 任务发布 Platform Event发送电子邮件通知Workflow 或 Process Builder 触发的邮件。这些操作在记录成功保存后执行即使后续步骤失败记录也不会回滚。11.触发后续事件Subsequent Events若当前操作导致其他记录被修改如级联更新系统会对这些记录触发新的执行顺序。例如更新父账户后触发子联系人的更新流程。关键注意事项递归问题自动化流程修改记录可能导致触发器和验证规则重新执行需通过代码控制如使用静态变量避免无限循环。事务边界整个执行顺序在一个事务中完成任何步骤失败都会导致全部操作回滚异步操作除外它们在事务提交后执行。字段可见性触发器可以修改用户无权限的字段但流程和 Workflow 受字段级安全限制。删除操作的特殊性删除记录时执行顺序会简化无字段验证主要执行 before delete 和 after delete 触发器、删除相关记录等。实际应用示例假设创建一个新的 Opportunity 记录执行顺序如下初始化新 Opportunity 记录验证用户权限。Before insert 触发器设置默认 CloseDate。系统验证必填字段如 Name、StageName和验证规则。生成 Opportunity 的 Id 和系统字段。将记录写入数据库。After insert 触发器创建关联的 Task。Process Builder 检查金额若超过 10 万则自动分配给销售经理。重新验证修改后的记录如负责人变更。更新账户的汇总金额若有 roll-up 字段。触发 future 方法同步数据到外部 ERP。发送新商机通知邮件。理解 Salesforce 执行顺序是设计可靠自动化和触发器的基础。通过掌握这一流程开发人员可以准确预测代码和配置的执行结果避免常见的集成冲突和数据不一致问题。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价