Смена владельца объекта Opportunity в Salesforce

После триггера вставки дочернего объекта возможности мне нужно сменить владельца Opportunity, если определенное условие имеет значение true.

Проблема здесь заключается в том, что владельцем является поле поиска для объекта пользователя. И я должен изменить владельца на пользователя определенного профиля. Как получить доступ к профилю и полям пользователя в триггере после вставки дочернего объекта возможности.

2 ответа

Получить идентификатор владельца и идентификатор профиля от Oppty

ID ownerProfileID = Opportunity.OwnerID.getProfileId(); (This is rough, I don't know your variable names)
Map<ID, Profile> profileMap = new Map<ID, Profile>(ProfileHandler.loadProfilesByProfileIDs(new Set<ID>{ownerProfileID }));

Тогда запросите и у вас будут все ваши данные

public static Map<ID, Profile> loadProfilesByProfileIDs(Set<ID> profileIDS)
{
    Map<ID, Profile> result = new Map<ID, Profile>();

    try
    {
        result = new Map<ID, Profile>([SELECT ID, Name FROM Profile WHERE ID =: profileIDS]);
    }
    catch(QueryException error)
    {
        //Catch error
    }

    return result;
}

Пример запроса от продукта возможности к владельцу запроса Подробные данные поля:

   SELECT 
   Opportunity.OwnerId, 
   Opportunity.Owner.Name, 
   Opportunity.Owner.ProfileId,
   Opportunity.Owner.Profile.Name  
   FROM OpportunityLineItem 
   WHERE ID='00k6F00000TdIlH'
Другие вопросы по тегам