1

每当我尝试使用数据加载器为单个帐户插入新的多个联系人时,应将一个主要联系人插入到帐户联系人角色对象中。

如果有多个联系人,我们应该考虑将要插入的第一个联系人,认为剩余的主要联系人不应该被插入,只有一个主要联系人应该存在于 Account Contact Role 对象中。在下面的代码中,我已经尝试过,没有为帐户创建主要联系人。

trigger AccountContactRole on Contact(After insert,After Update){
    list<AccountContactRole> acr=new list<AccountContactRole>();
    set<ID> getid=new set<ID>();
    Contact[] clist=trigger.new;
        for(Contact Con : clist) {
            if(con.AccountId!=Null) {
                getid.add(Con.AccountId);
            }
        }
        List<AccountContactRole> ac = [Select Id,AccountId,ContactId,IsPrimary from AccountContactRole Where AccountId in :getid and IsPrimary =True];
        set<ID>accountid=new set<Id>();
        for(AccountContactRole acv:ac) {
            accountid.add(acv.AccountId);
        }
        System.debug('Records on List are '+ac +' And Records are '+ac);
        for(Contact Cont: clist) {
            AccountcontactRole C = new AccountcontactRole();
            System.debug('Cont current value is'+Cont);     

            if(ac.isempty()) {
                if(getid.contains(Cont.AccountId)==false){
                C.contactId=Cont.Id;
                C.Role='Decision Maker';
                C.AccountId=Cont.AccountId;        
                C.Isprimary=true;
                acr.add(C);
            }
        }
    }

    Insert acr; 
4

0 回答 0