【问题标题】:Apex Trigger- how to update all case owners using trigger?Apex 触发器 - 如何使用触发器更新所有案例所有者?
【发布时间】:2017-03-01 05:38:53
【问题描述】:

当用户单击案例以更改案例所有者/用户时,我必须将此用户添加到所有相关案例(每个客户)。我正在使用下面的代码,但它只更新一个记录/案例。我可以在调试日志中看到所有案例都使用最新所有者进行了更新,但并未真正更新/存储在 caseObject 中。请帮帮我。

    trigger caseAssignment on Case (after insert, after update) {

      set<id> ownerId = new Set<Id>();
      set<id> customerId = new set<Id>();
    for(Case caseobj : trigger.new){

            ownerId.add(caseobj.OwnerId); 
            customerId.add(caseobj.AccountId);
    }


for( User user:[Select id, FirstName, LastName from user where Id IN  :ownerId]){   

    for(Case cas : [Select Id, OwnerId, First_Name__c, CaseNumber, AccountId From Case where AccountId IN: customerId]){        

        cas.OwnerId = user.Id;

    }  


}

【问题讨论】:

    标签: salesforce apex-code apex apex-trigger


    【解决方案1】:

    如果没有更新 DML 语句,您的代码将不会影响您的数据。

    可能应该创建一个更新列表

    即list updateCaseList = new list()

    然后在你的内部 for 循环中,将“cas”添加到 updateCaseList,然后在方法的末尾发出更新命令(更新 updateCaseList)。

    【讨论】:

      【解决方案2】:

      假设你写的逻辑是正确的,你永远不会更新案例

      trigger caseAssignment on Case (after insert, after update) 
      {
      
          Set<Id> ownerId = new Set<Id>();
          Set<Id> customerId = new Set<Id>();
          List<Case> casesToUpdate = new List<Case>();
      
          for(Case caseobj : trigger.new)
          {
              ownerId.add(caseobj.OwnerId); 
              customerId.add(caseobj.AccountId);
          }
      
      
          for( User user:[Select id, FirstName, LastName from user where Id IN  :ownerId])
          {   
              for(Case cas : [Select Id, OwnerId, First_Name__c, CaseNumber, AccountId From Case where AccountId IN: customerId])
              {        
                  Case c = new Case();
                  c.ID = cas.ID;
                  c.OwnerId = user.Id;
                  casesToUpdate.add(c);
              }  
          }
      
          update casesToUpdate;
      }
      

      【讨论】:

        猜你喜欢
        • 2014-06-24
        • 1970-01-01
        • 1970-01-01
        • 2018-05-16
        • 1970-01-01
        • 2016-02-16
        • 1970-01-01
        • 2011-09-22
        • 1970-01-01
        相关资源
        最近更新 更多