I Создан триггер, который обновит поле Resume_Souce__c на контакте на основе имени записи записи ETCObject.Trigger to Update Связанная с ним запись на основе записи
Триггеры, похоже, работают, но по какой-то причине не обновляет поле Resume_Source__c на основе значения в поле «Имя». Он просто обновляет его с помощью «Другое», хотя имя ETCObject содержит «JobDB».
Вот код:
trigger DerekUpdateResumeSource on AVTRRT__ETCObject__c (after insert, after update) {
Map<Id, AVTRRT__ETCObject__c> ETCmap = new Map<Id,AVTRRT__ETCObject__c>();
for(AVTRRT__ETCObject__c a:trigger.new)
{
ETCmap.put(a.AVTRRT__Candidate__c, a);
}
List<Contact> candidate = [Select Id, AVTRRT__Source__c from Contact WHERE ID IN:ETCmap.keyset() AND RecordtypeID = '012A0000000v0La'];
List<Contact> ContactsToUpdate = new List<Contact>();
for(Contact c:candidate)
{
If(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('jobsDB'))
{
c.AVTRRT__Source__c = 'JobsDB';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Clyde Marine Recruitment')){
c.AVTRRT__Source__c = 'Clyde Marine Recruitment';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Corporate Event')){
c.AVTRRT__Source__c = 'Corporate Event';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('e Financial Careers')){
c.AVTRRT__Source__c = 'e Financial Careers';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Head Hunt')){
c.AVTRRT__Source__c = 'Head Hunt';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Indeed')){
c.AVTRRT__Source__c = 'Indeed';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Jobstreet')){
c.AVTRRT__Source__c = 'Jobstreet';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Linked In')){
c.AVTRRT__Source__c = 'Linked In';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Linkedin Advert')){
c.AVTRRT__Source__c = 'Linkedin Advert';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('LinkedIn Recruiter')){
c.AVTRRT__Source__c = 'LinkedIn Recruiter';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Oil&Gas JobSearch')){
c.AVTRRT__Source__c = 'Oil&Gas JobSearch';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('OilCareers')){
c.AVTRRT__Source__c = 'OilCareers';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Reed')){
c.AVTRRT__Source__c = 'Reed';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Referrals')){
c.AVTRRT__Source__c = 'Referrals';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('S1 Jobs')){
c.AVTRRT__Source__c = 'S1 Jobs';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Straits Times')){
c.AVTRRT__Source__c = 'Straits Times';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('Trade Winds')){
c.AVTRRT__Source__c = 'Trade Winds';
ContactsToUpdate.add(c);
} else if(c.AVTRRT__Source__c == '' && ETCmap.get(c.Id).AVTRRT__Name__c.contains('UK Job Centre')){
c.AVTRRT__Source__c = 'UK Job Centre';
ContactsToUpdate.add(c);
} else {
c.AVTRRT__Source__c = 'Other';
ContactsToUpdate.add(c);
}
}
update ContactsToUpdate;
}