Установка multiple account to one contact

Доброе время суток.
Столкнулся необходимостью привязать contact к нескольким accounts. Включил возможность привязки, и через интерфейс всё работает замечательно.
Вопрос: как сделать привязку через Apex ?

Добрый день.
Создать обьект “AccountContactRelation” та будут поля: AccountId, ContactId.
Потом сделать insert этого обьекта.
AccountContactRelation - это джанкшин между Account и Contact

2 Вподобання
Account accRecord = new account();
accRecord.Name = 'Test Acc';
insert accRecord;

Account accRecordNonDirect = new account();
accRecordNonDirect .Name = 'Test Acc 1';
insert accRecordNonDirect ;

contact conRecord=new contact();
conrecord.lastname='TestCon';
conrecord.AccountId = accRecord.Id; 
// DIRECT Account - AccountContactRelation  создается автоматически
insert conRecord;

AccountContactRelation acr = new AccountContactRelation(); 
acr.Accountid = accRecordNonDirect .id;
acr.Contactid = conRecord.id;
acr.IsActive = true;
insert acr;

List<AccountContactRelation> rels = [SELECT Id, Accountid, Contactid FROM AccountContactRelation Where Contactid = :conRecord.id];

System.debug('REL: '+rels);

DEBUG:
12:28:18:280 USER_DEBUG [26]|DEBUG|REL: (AccountContactRelation:{Id=07k1i00001dgKyrAAE, AccountId=0011i00000PiFNYAA3, ContactId=0031i00000PkoESAAZ}, AccountContactRelation:{Id=07k1i00001dgKysAAE, AccountId=0011i00000PiFNZAA3, ContactId=0031i00000PkoESAAZ})

2 Вподобання