当前位置: 首页 > article >正文

salesforce 中 Account 转移给新 Owner 后如何仅转移 Case,而不转移 Opportunity

在 Salesforce 中,当更改 Account Owner 时,系统默认会将所有相关的 Opportunities(商机)Cases(案例) 也一并转移给新的 Account Owner。如果你希望 仅转移 Case,而不转移 Opportunities,可以考虑以下几种方法:

方案 1:手动调整(适用于小规模调整)

  1. 更改 Account Owner 时,在弹出的“确认所有权转移”窗口中:
    • 取消勾选 “Transfer open opportunities”(转移开放的商机) 选项。
    • 保持勾选 “Transfer open cases”(转移开放的案例)
  2. 确认后提交,只有 Case 会转移,而 Opportunities 仍然归原来的 AM。

方案 2:流程自动化(适用于大规模调整)

如果你需要自动化这个流程,可以通过 Flow(流程构建器)Apex 触发器 来实现:

方法 1:使用 Flow
  1. 进入 Setup(设置) > Flow(流程)
  2. 选择 Record-Triggered Flow(记录触发流)
  3. 触发条件
    • Account Owner 变更新 Owner 是 BS 时触发。
  4. 添加决策逻辑
    • 如果 Account Owner 发生更改,则更新所有 Case 的 Owner 为新的 BS。
    • 不包含 Opportunities 的变更。
  5. 保存并激活 Flow
方法 2:使用 Apex Trigger

如果 Flow 无法满足需求,可以使用 Apex Trigger 进行更细粒度的控制:

trigger PreventOpportunityTransfer on Account (before update) {
    for (Account acc : Trigger.new) {
        Account oldAcc = Trigger.oldMap.get(acc.Id);
        
        // 只有当 Owner 发生变更时执行
        if (acc.OwnerId != oldAcc.OwnerId) {
            // 查找该 Account 下的所有 Opportunities,并恢复 OwnerId
            List<Opportunity> opps = [SELECT Id, OwnerId FROM Opportunity WHERE AccountId = :acc.Id];
            
            for (Opportunity opp : opps) {
                opp.OwnerId = oldAcc.OwnerId; // 保持原来的 Owner
            }
            update opps; // 更新商机,保持原有 Owner
        }
    }
}

解释

  • 当 Account Owner 发生变更时,触发器会自动 保持 Opportunities 的 Owner 不变,从而只转移 Cases。

方案 3:使用 Data Loader 进行批量更新

如果只是一次性调整,可以:

  1. 先导出 需要修改的 Account 及其相关的 OpportunitiesCases
  2. 手动修改 需要转移的 Cases 的 Owner,而不修改 Opportunities 的 Owner。
  3. 使用 Data Loader 或 Workbench 进行批量更新。

总结

  • 手动操作 适用于小量数据,直接取消勾选“Transfer open opportunities”即可。
  • Flow 自动化 适用于需要规则化操作,能避免人工操作失误。
  • Apex 触发器 适用于更复杂的逻辑,比如防止系统意外转移 Opportunities。
  • Data Loader 批量更新 适用于一次性调整大批量数据。

你可以根据需求选择合适的方法,如果你的 Salesforce 版本支持 Flow,推荐优先尝试 Flow 方案,无代码即可实现。


http://www.kler.cn/a/540663.html

相关文章:

  • 第三节 docker基础之---Commit+Dockerfile制作
  • DeepSeek 实践总结
  • 理邦仪器嵌入式(C/C++开发)开发面试题及参考答案
  • JavaScript:还在用if判断属性是否存在?哒咩(?.)用起来
  • 链表(LinkedList) 1
  • 基于yolov11的阿尔兹海默症严重程度检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • 怎么编写AI模型prompt(提问,表达需求)
  • ZooKeeper Watcher 机制详解:从注册到回调的全过程
  • Vue07
  • vi 是 Unix 和 Linux 系统中常用的文本编辑器
  • 易仓与金蝶云星空无缝集成:实现高效R调拨入库
  • 如何在浏览器中搭建开源Web操作系统Puter的本地与远程环境
  • Python 高阶函数(详解)
  • 主机安全:数字时代的基石
  • harmonyOS的路由跳转及数据请求
  • UNet-二维全景X射线图像牙齿分割(代码和模型修改)
  • DeepSeek神经网络:技术架构与实现原理探析
  • Harmony os router 使用详解
  • 基于UVM搭验证环境
  • 代码随想录_二叉树
  • 【多模态大模型】系列4:目标检测(ViLD、GLIP)
  • 因果推断与机器学习—特定领域的机器学习
  • 如何在 CSS Modules 中使用 Sass 或 Less?
  • stm32 deinit 函数作用
  • 华硕笔记本怎么一键恢复出厂系统_华硕笔记本一键恢复出厂系统教程
  • 探索 Amazon Aurora DSQL:基本操作全解析(系列①)