Triggers 更改Salesforce中Opportunity对象的所有者
在opportunity子对象的after insert触发器中,如果某个条件的计算结果为true,我必须更改opportunity的所有者Triggers 更改Salesforce中Opportunity对象的所有者,triggers,salesforce,apex,Triggers,Salesforce,Apex,在opportunity子对象的after insert触发器中,如果某个条件的计算结果为true,我必须更改opportunity的所有者 这里的问题是所有者是用户对象的查找字段。我必须将所有者更改为特定配置文件的用户。如何访问opportunity子对象的后插入触发器中的配置文件和用户字段 从Oppty获取所有者ID和配置文件ID ID ownerProfileID = Opportunity.OwnerID.getProfileId(); (This is rough, I don't k
这里的问题是所有者是用户对象的查找字段。我必须将所有者更改为特定配置文件的用户。如何访问opportunity子对象的后插入触发器中的配置文件和用户字段 从Oppty获取所有者ID和配置文件ID
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;
}
从Opportunity Product查询Opportunity Owner字段详细信息的示例:
SELECT
Opportunity.OwnerId,
Opportunity.Owner.Name,
Opportunity.Owner.ProfileId,
Opportunity.Owner.Profile.Name
FROM OpportunityLineItem
WHERE ID='00k6F00000TdIlH'