无效标识符:Salesforce中触发器中的金额__C



我在 Doctor是主的主范围对象上有一个触发器,而 Patient是孩子。Doctor的字段称为TotalAmountPatient具有一个名为Amount的字段。现在,当患者填写数量字段时,Doctor中的TotalAmount字段应在所有患者记录中给出Amount的总和。

我已经写了下面的代码,但显示出一个错误:

无效标识符:金额__c

我该如何修复?

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;
}

尝试以下一个:

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 amountVAR = 0; 
        for (Patient__c p : d.Patient__r){
             amountVAR += p.Amount__c;
        }
        d.Total_Amount__c = amountVAR ;
        lstDoctor.add(d);
    }
    update lstDoctor;

问候ajay

尝试以下:

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]) {
        d.Total_Amount__c = 0;
        for (Patient__c p: d.Patient__r) {
            d.Total_Amount__c += p.Amount__c;
        }
        lstDoctor.add(d);
    }
    update lstDoctor;
}

但是为什么要使用触发器?为什么不在医生上创建一个汇总摘要字段?

创建滚动摘要字段

最新更新