当salesforce中更新相应的联系人字段时,触发更新帐户

时间:2014-02-12 19:59:53

标签: triggers salesforce apex-code

当与此帐户相关的联系人更改字段时,如何创建触发器,以更新帐户中的字段。

示例---如果联系人有邮件,则相应的帐户邮件城市字段应使用相同的值更新

我的触发器如下

但它不起作用 从Schema.SObjectField到String

的非法分配

我写的代码也来自谷歌。我无法解决这个问题。请帮忙

 trigger ContactToAccountAddress on Contact (after insert,after update) {



List<ID> AccID = New List<ID>();


for(Contact con : Trigger.new){
if(con.MailingCity!=null&& con.AccountId != null){
  AccID.add(con.AccountId);
}
}

List<Account> accList = [SELECT Name, BillingStreet FROM Account WHERE id in :AccID];
for(integer i = 0 ; i < accList.size(); i++){
accList[i].BillingStreet =Contact.MailingCity;
}
update accList;
}

1 个答案:

答案 0 :(得分:1)

List<Contact> conlist = [ select mailingCity from Contact where accountId in :AccID];
List<Account> accList = [SELECT Name, BillingStreet FROM Account WHERE id in :AccID];
for(integer i = 0 ; i < accList.size(); i++){
   **String address = ''+ conlist[0].get('mailingcity');
accList[i].BillingStreet = address ;
}**