标识符无效:Salesforce中触发器中的Amount__c

时间:2017-03-07 07:50:01

标签: salesforce salesforce-communities

我在主 - 详细信息对象上有一个触发器,其中node::是主人,Doctor是孩子。 Patient有一个名为Doctor的字段,TotalAmount有一个名为Patient的字段。现在,当患者填写金额字段时,Amount中的TotalAmount字段应该在所有患者记录中给出Doctor的总和。

我已经编写了下面的代码,但它显示错误:

  

无效的标识符:Amount__c

我该如何解决这个问题?

Amount

2 个答案:

答案 0 :(得分:0)

尝试以下方法:

<div ng-repeat="unavail in unavailabilities">
    <select ng-model="unavail.selection">
        <option>PRN 01 (ID:401)</option>
        <option>PRN 02 (ID:402)</option>
        <option>PRN 03 (ID:403)</option>
        <option>PRN 04 (ID:404)</option>
    </select>
    <label for="tempUnavail">Start</label>
    <input type="datetime-local" ng-model="unavail.start">
    <label for="tempUnavail">Stop</label>
    <input type="datetime-local" ng-model="unavail.stop">
    <button type="button" data-ng-click="removeUnavailability($index)">Remove</button>
</div>

问候 阿贾伊

答案 1 :(得分:0)

尝试以下:

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

但是你为什么要使用Trigger?为什么不在Doctor上创建汇总汇总字段?

Creating Roll Up Summary fields