Смена владельца объекта 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'