So I am trying to create a picklist of contact names from a specific account (listing available installers) to be assigned as a specific field selection in other accounts. Over time, of course, installer contacts will be added and removed, but it will always be one specific account hosting the contacts.
I thought I would create an Apex trigger to compile that list, but I'm in a bit over my head. Here's what I have so far:
trigger Installers on Contact (after update, after insert)
{
String names='';
Integer ok=1;
Set<id> accIdList = '001G0000022epuD';
for(Contact con : Trigger.new)
{
if(con.accountid!=null)
accIdList.add(con.accountid);
}
List<Account> accUpdateList = new List<Account>();
for(Account acc : [Select id, name, Contact_Name__c, (Select Id, name From Contacts) From Account Where Id In : accIdList])
{
ok=1;
for(Contact con : acc.contacts)
{
if(con.name!=null)
{
if(ok==1)
{
names = con.name;
ok=0;
}
else
{
names = names + ',' + con.name;
}
}
}
acc.Contact_Name__c = names;
accUpdateList.add(acc);
}
update accUpdateList;
}
I'm receiving an error: Illegal assignment from String to Set. Perhaps somebody can help me over the hump here?
Thanks