J'ai un déclencheur sur un objet principal-détail où Doctor
est maître et Patient
est enfant. Doctor
a un champ appelé TotalAmount
et Patient
a un champ appelé Amount
. Maintenant, quand un patient remplit le champ montant, le champ TotalAmount
dans Doctor
doit donner la somme de Amount
dans tous les dossiers du patient.Identificateur non valide: Amount__c dans le déclencheur dans Salesforce
J'ai écrit le code ci-dessous, mais il montre une erreur:
Invalid identifier: Amount__c
Comment puis-je résoudre ce problème?
trigger tgPatient on Patient__c (after insert,after update) {
Set<Id>SetDoctor = new Set<Id>();
for (Patient__c p : trigger.new) {
if(p.Amount__c != Null) {
SetDoctor.add(p.Doctor__c);
}
}
List<Doctor> lstDoctor = new List<Doctor>();
for(Doctor__c d : [SELECT Id, (SELECT Id,Amount__c FROM Patients__r) FROM Doctor__c WHERE Id IN:SetDoctor]){
Integer Amount__c = 0;
for (Patient__c p : d.Patient__r) {
int Amount__c += p.Amount__c;
}
d.Total_Amount__c = int Amount__c;
lstDoctor.add(d);
}
update lstDoctor;
}
Salut Ajay, Il montre '' assignation illégale de décimale en entier " à la ligne -> amountVAR + = p.Amount__c; –
utilisation integer.ValueOf – Ajay