创建Salesforce Apex触发器以更新Contacts对象中的查找字段

时间:2014-12-23 01:01:11

标签: apex-code

我创建了一个触发器,可在创建或更新特定帐户记录类型时自动创建联系人。问题是我不知道如何填充联系人'帐户名'查询字段。该字段是对Account对象的查找。我的代码如下。任何有关如何集成这个缺失组件的帮助将不胜感激。

在帐户上触发autoCreateContact(更新后,插入后) {     列出newContact = new List();

for (Account oAccount : trigger.new)
{
    if (oAccount.RecordTypeid == '012F0000001MCfgIAG')
    {
        List<Contact> cCheck = [SELECT ID From Contact WHERE LastName=:oAccount.Name];
        if(cCheck.isEmpty()==True)
        {
        System.debug(oAccount);
        Contact oContact = new Contact();
        oContact.LastName = oAccount.Name;
        oContact.phone = oAccount.Phone;
        oContact.email = oAccount.Email__c;
        oContact.Owner = oAccount.Owner;
        newContact.add(oContact);
        }
    }

   if(newContact.isEmpty() == false)
   {
       Database.insert(newContact);
   }

    }
}

2 个答案:

答案 0 :(得分:0)

不错的触发器我很确定你只需要添加一行作为对account.id的引用。

所以,如果我是你,我会添加链接:

oContact.AccountID = oAccount.id;

答案 1 :(得分:0)

注意:在for循环中使用SOQL不是一个好习惯。