【发布时间】:2021-05-04 09:09:19
【问题描述】:
我有以下用例,无法为其编写正确的触发器
在对象帐户上,我们拯救了我们的患者。每个患者都有一名联网的全科医生 (GP)。全科医生保存在对象联系人中。有时全科医生退休,新的全科医生接管了全科医生,因此与该全科医生有联系的患者必须更换为新的全科医生。
我在 Salesforce 中创建了对象联系人 2 字段、GPChange__c(布尔值)和 NewGP__c(联系人查找字段)。当用户将布尔字段设置为 true 并填写新的 GP 时,必须运行 Apex 触发器并收集连接到“退休”GP 的所有帐户(患者),并使用来自 NewGP__C 的 ID 更新帐户上的字段 GeneralPracticioner__c。
这是我走了多远,它会运行和收集,但不会更新字段。谁能帮帮我?
trigger trgnewGP on Contact (before update) {
for (Contact mycontact : Trigger.new) {
if (mycontact.GPChange__c = true && mycontact.NewGP__c != null){
list <account> gps = [SELECT GeneralPracticioner__c from account
where GeneralPracticioner__c =: mycontact.id];
for(Account acc : gps){
if (gps.size() > 0) {
acc.GeneralPracticioner__c = mycontact.NewGP__c;
} }
}
}
}
【问题讨论】:
标签: salesforce apex