如何获取Salesforce中的所有共享帐户列表?

时间:2012-10-31 15:30:55

标签: salesforce apex-code

我是销售人员的新手,在销售人员中,所有者可以手动与其他用户共享帐户。我需要一个列表,显示所有帐户的手动共享。是否可以使用apex类或触发器或任何其他方式?

1 个答案:

答案 0 :(得分:3)

检查AccountShare表,特别是那样的表:

SELECT Id, AccountAccessLevel, AccountId, UserOrGroupId 
FROM AccountShare
WHERE RowCause IN ('Manual', 'TerritoryManual')
LIMIT 100

您可以阅读有关值here的更多信息,还有一个很好的Apex示例,用于根据在普通共享规则中无法表达的规则来共享记录。

UserOrGroupId很棘手 - >如果它将以“005”开头,那是用户ID并且您的搜索已完成。否则你必须在Group表中查找。这将包含真实的组(在设置中称为“公共组”)以及与队列,角色,角色+下属,地区等对应的系统生成的组。因此,您可能会在此处尝试一些递归的痛苦世界了解这个群体中究竟是谁。

我承认我过去很幸运,我在集团表中看到的嵌套水平从来都不是> 2级深。