Loading

Come si può aggregare (SUM) l'importo?

Data pubblicazione: Jan 28, 2026
Descrizione

Ho scritto il codice seguente per ottenere un importo totale, ma ha restituito un errore.

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

Risoluzione

Per utilizzare una funzione aggregazione, utilizzare il tipo AggregateResult. Inoltre, è necessario utilizzare il metodo valueof per ogni tipo per convertire il tipo, perché i dati del risultato aggregazione non possono essere memorizzati direttamente in una variabile decimale.

Per gli elementi specifici, vedere l'esempio qui sotto:

*******************************
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));  
******************************* 

Per la conversione del tipo Stringa, vedere questo argomento.

 

Numero articolo Knowledge

000385401

 
Caricamento
Salesforce Help | Article