SOQL查询不会检索所有联系人

问题描述 投票:0回答:1

我正在编写一个代码片段,它应该通过SOQL从Salesforce导入我的所有联系人。

当我想为我的用户00520000001IbXZAA0导入所有Salesforce联系人时,我会这样做

第一个SOQL:

SELECT Id FROM account WHERE ownerid = ‘00520000001IbXZAA0’

然后我获得了我作为团队成员的所有帐户ID:

SELECT AccountId FROM accountteammember WHERE UserId = ‘00520000001IbXZAA0’

然后我用我的id和我之前的2个请求构建一个数组,并以这种方式获取所有联系人:

SELECT FirstName, LastName, Account.Name FROM Contact WHERE AccountId IN myarrayofids ORDER BY CreatedDate ASC

这种方法似乎得到了我的大多数联系人,但我仍然可以看到Salesforce中出现了一些联系人,但这些联系人没有通过这3个查询检索到。我在这里错过了什么吗?

我对Salesforce的工作方式知之甚少,但我想如果我检索到我是团队成员或所有者的所有联系人,我应该检索我能在Salesforce上看到的所有联系人,或者我在这里错过了什么?

非常感谢

salesforce soql
1个回答
0
投票

您无法查看所有记录的原因是,可能会通过OWD或使用基于角色的共享,手动共享或顶点共享来与您共享某些记录。如果您只是在csv或其他任何地方寻找列表,那么您在这里可以做的最简单的事情是创建一个报告来显示所有联系人并与该用户共享。以“00520000001IbXZAA0”用户身份登录Salesforce。运行报告并导出到csv / excel。如果您希望在代码中执行此操作,请使用“with sharing”关键字编写一个类,并运行以下查询“Select Id,FirstName,LastName .... From Contact”。这将返回该用户他/她有权访问的所有记录。

尝试以上解决方案,让我知道它们是否适合您。乐于帮助..!!

© www.soinside.com 2019 - 2024. All rights reserved.