【问题标题】:trigger to Update account filed, when a corresponding contact field is updated in salesforce当在 Salesforce 中更新相应的联系人字段时,触发更新帐户字段
【发布时间】:2014-02-12 19:59:52
【问题描述】:

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

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

我的触发器如下

但它不起作用 从 Schema.SObjectField 到 String 的非法赋值

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

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

【问题讨论】:

  • 为了增加引起能够回答此问题的用户注意的机会,您应该edit 它并添加适用的语言tag。另外,您是否尝试过自己解决这个问题?你能给我们看一些代码吗?大概这是在数据库中 - 你能告诉我们你的数据库模式,以及预期的输入和输出吗?

标签: triggers salesforce apex-code


【解决方案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 ;
}**

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多