在 Salesforce Flow 中,更新记录的行为取决于 Flow 的配置方式。一般情况下,以下两种情形会导致不同的结果:
1. 单个更新操作(单个元素)
- 如果 Flow 中的记录更新是作为一个单一的操作(例如使用一个 “Update Records” 元素),并且在一次操作中尝试更新多条记录,那么 如果其中一条记录更新失败,整个操作都会失败,即所有记录都不会被更新。这是因为 Salesforce 会将这个更新操作视为一个事务,如果事务中的任何部分失败,整个事务将被回滚。
2. 多个独立的更新操作(多个元素)
- 如果 Flow 中的记录更新是通过多个独立的 “Update Records” 元素进行的,每个元素更新不同的记录,则每个更新操作都是独立的。在这种情况下,如果某一个更新操作失败,它不会影响之前成功更新的记录。换句话说,只有那个失败的更新会被回滚,其他已成功更新的记录不会受影响。
错误处理
- Salesforce Flow 提供了错误处理的选项。如果您希望在某一条记录更新失败时捕获错误并处理它,可以使用 “Fault” 路径来处理异常情况。这可以防止整个 Flow 因单个失败而停止,您可以选择记录错误、通知用户,或者尝试恢复。
示例场景
- 场景 1:在一个 “Update Records” 元素中更新 10 条记录,如果其中一条失败,所有 10 条记录都会回滚,不会被更新。
- 场景 2:使用 10 个独立的 “Update Records” 元素更新 10 条记录,如果第 5 条记录更新失败,前 4 条记录的更新将保留,第 6 到第 10 条的更新也将继续执行。
总的来说,默认情况下,Flow 的记录更新操作是事务性的,即一个更新失败会导致所有更新回滚。但是,通过适当的设计和错误处理,可以管理这种行为。