如何在Salesforce中获取所有共享帐户列表?
我对sales force非常陌生,在sales force中,所有者可以手动与其他用户共享帐户。我需要一个显示所有帐户手动共享的列表。是否可以使用apex类、触发器或任何其他方式?检查如何在Salesforce中获取所有共享帐户列表?,salesforce,apex-code,Salesforce,Apex Code,我对sales force非常陌生,在sales force中,所有者可以手动与其他用户共享帐户。我需要一个显示所有帐户手动共享的列表。是否可以使用apex类、触发器或任何其他方式?检查AccountShare表,尤其是类似以下内容: SELECT Id, AccountAccessLevel, AccountId, UserOrGroupId FROM AccountShare WHERE RowCause IN ('Manual', 'TerritoryManual') LIMIT 100
AccountShare
表,尤其是类似以下内容:
SELECT Id, AccountAccessLevel, AccountId, UserOrGroupId
FROM AccountShare
WHERE RowCause IN ('Manual', 'TerritoryManual')
LIMIT 100
您可以阅读更多关于这些值的信息,还有一个很好的例子,Apex用于根据普通共享规则无法表达的规则共享记录
UserOrGroupId
是个棘手的问题->如果它以“005”开头,这是一个userid,您的搜索就完成了。否则,您必须在Group
表中查找它。这将包含真实的组(在设置中称为“公共组”)以及系统生成的组,这些组对应于队列、角色、角色+下属、区域等。因此,在这里,您可能会遇到一些递归的痛苦世界,试图了解此组中的实际成员
我承认我过去很幸运,我在Group表中看到的嵌套级别从未超过2级。检查
AccountShare
表,尤其是类似的内容:
SELECT Id, AccountAccessLevel, AccountId, UserOrGroupId
FROM AccountShare
WHERE RowCause IN ('Manual', 'TerritoryManual')
LIMIT 100
您可以阅读更多关于这些值的信息,还有一个很好的例子,Apex用于根据普通共享规则无法表达的规则共享记录
UserOrGroupId
是个棘手的问题->如果它以“005”开头,这是一个userid,您的搜索就完成了。否则,您必须在Group
表中查找它。这将包含真实的组(在设置中称为“公共组”)以及系统生成的组,这些组对应于队列、角色、角色+下属、区域等。因此,在这里,您可能会遇到一些递归的痛苦世界,试图了解此组中的实际成员
我承认我过去很幸运,我在组表中看到的嵌套深度从来没有超过2级