Loading

Wie kann ich den Betrag aggregieren (SUM)?

Veröffentlichungsdatum: Jan 28, 2026
Beschreibung

Ich habe den folgenden Code geschrieben, um einen Gesamtbetrag zu erhalten, aber es wird ein Fehler zurückgegeben.

Code
TotalCharges__c = [SELECT sum(EntryCharge__c) FROM AllocationTable__c WHERE id=:id];

TotalCharges__c: currency
EntryCharge__c: expression (currency)

Error
Save error: Illegal assignment from LIST<AggregateResult> to Decimal CalculateCharge.trigger

Lösung

Verwenden Sie für eine Aggregationsfunktion den Typ "AggregateResult". Außerdem muss die valueof-Methode für jeden Typ verwendet werden, um den Typ zu konvertieren, da die Aggregationsergebnisdaten nicht direkt in einer Variablen vom Typ "Decimal" gespeichert werden können.

Einzelheiten finden Sie im folgenden Beispiel:

*******************************
AggregateResult ar = [SELECT sum(EntryCharge__c) s FROM AllocationTable__c WHERE id=:id];  
TotalCharges__c = decimal.Valueof(string.valueof(ar.get('s')));  
system.debug('data = '+String.valueof(j.TotalCharges__c));  
******************************* 

Informationen zum Konvertieren des Typs "String" finden Sie in diesem Thema.

 

Nummer des Knowledge-Artikels

000385401

 
Laden
Salesforce Help | Article