2013-07-10 3 views
0

Я пытаюсь получить имя человека от возможностиконтакт ... это возможно или полностью от основания? Это код, который у меня уже есть. Я понимаю, что получение контактаID из contactRole не возвращает имя ... Что мне нужно, чтобы вместо этого получить имя?Возможность доступа к данным доступа к данным

trigger add_primary_advisor on Opportunity(before update) { 

for(Opportunity o: Trigger.new){ 

    if (!Trigger.oldMap.get(o.id).IsClosed) { 
     OpportunityContactRole contactRole = 
      [select ContactID from OpportunityContactRole where IsPrimary = true and OpportunityId = :o.id]; 
     if (contactRole != null) { 
     o.Primary_Advisor__c=contactRole.contactID; 
     } 
    } 
    }  
} 

ответ

0
//If Contact.Name doesn't works try fetching Contact.FirstName, Contact.LastName 
    List<String> names = new List<String>(); 
    for(OpportunityContactRole contactRole = 
     [select Contact.Name from OpportunityContactRole where IsPrimary = true and OpportunityId = :o.id]){ 
     names.add(contactRole .Contact.name) 
    } 
+0

При попытке присвоения результатов этого запроса в виде списка строк, я получаю сообщение об ошибке сказав, что это возвращение OpportunityContactRoles – kyle

+0

SF Результаты запроса возврата Список типа SObject, так что вы не будете в состоянии сделать что. Я отредактировал мой код выше, чтобы ответить на ваши потребности – prasun

Смежные вопросы