在Salesforce

时间:2017-05-05 08:59:44

标签: triggers salesforce apex

在机会的子对象的插入触发器之后,如果某个条件的计算结果为true,我必须更改Opportunity的所有者。

这里的问题是所有者是User Object的查找字段。我必须将所有者更改为特定Profile的用户。如何在机会孩子的后插入触发器中访问配置文件和用户字段宾语。

1 个答案:

答案 0 :(得分:0)

从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;
}