Как создать основной контакт в роли контакта учетной записи для учетной записи без дубликатов
Всякий раз, когда я пытаюсь вставить новый множественный контакт для одной учетной записи с помощью загрузчика данных, один основной контакт должен быть вставлен в объект роли контакта учетной записи.
Если существует несколько контактов, мы должны учитывать, что первый контакт, который будет вставлен, считается основным оставшимся контактом, поэтому не следует вставлять только один основной контакт в объекте "Роль контакта учетной записи". В приведенном ниже коде я пробовал, основной контакт не создается для учетной записи.
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;