Salesforce Apex更新Account对象记录未实际生效问题咨询
问题排查与解决方法
- 检查匿名Apex执行配置
开发者控制台执行匿名代码时默认开启「调试后回滚所有DML变更」选项,该模式下所有更新操作仅在当前执行上下文生效,代码运行结束后会自动回滚所有数据修改。同上下文的查询可以读到未提交的临时变更,因此debug输出显示更新成功,但数据实际不会写入数据库。
解决方式:执行匿名代码前取消勾选「Use Anonymous Apex Debug Log with Rollback」选项,重新运行更新代码即可。 - 验证字段级权限
确认当前操作用户对Communication_Bubble__c字段同时拥有编辑和查看权限。如果字段被设置为仅编程可见,或者用户的简档/权限集未开放该字段的查看权限,会出现后台更新成功但界面、手动查询时看不到字段值的情况。可使用系统管理员账号查询对应记录验证字段实际值。 - 排查对象自动化逻辑
检查Account对象上配置的触发器、流程构建器、记录触发流、验证规则等自动化组件:- Before Update类型的逻辑可能在更新提交前将
Communication_Bubble__c字段重新赋值为null - 若存在捕获异常后未抛出的逻辑,更新操作报错回滚但当前上下文不会提示异常
可开启全量Debug日志,运行更新代码后追踪DML操作后的字段值变化,确认是否存在二次修改的逻辑。
- Before Update类型的逻辑可能在更新提交前将
- 确认操作环境一致性
核实执行更新代码的沙箱实例,与你查看记录的后台界面所属沙箱为同一个实例,避免跨环境操作导致看不到变更。
内容的提问来源于stack exchange,提问作者Trout
相关产品推荐
相关产品推荐

