2017-03-08 64 views
0

我正在尋找用頂點版本替換Salesforce彙總助手中的彙總,然後運行它們。我正試圖將以下內容轉換爲Apex代碼。如果您有任何想法,請告訴我。創建頂點彙總觸發器

enter image description here

回答

0

這是一個非常簡單的用例頂點。您需要在將執行數學運算並更新父對象的子對象上創建一個Trigger。 最佳實踐規定觸發器應實際調用某個類中的方法,但此處爲解決方案的縮寫版本:

trigger myTrigger on Collateral__c (after insert, after update){ 
Map<Id, Deal__c> dealMap = new Map<Id, Deal__c>(); 
for (Collateral__c c : Trigger.new){ 
    dealMap.put(c.Deal__c, new Deal__c(Id=c.Deal__c, Total_Lendable_Collateral__c=0)); 
} 
for (AggregateResult ar : [ 
    SELECT Deal__c parentId, SUM(Lendable_Value__c) s 
    FROM Collateral__c 
    WHERE Deal__c IN :dealMap.keySet() 
]){ 
    Id i = (Id)ar.get('parentId'); 
    dealMap.put(i, new Deal__c(Id=i,Total_Lendable_Collateral__c=(Decimal)ar.get('s'))); 
} 
update dealMap.values(); 
}