2017-03-08 59 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(); 
}