我正在开发一个代码片段,它应该通过SOQL从Salesforce导入我的所有联系人。
以下是我要为我的用户导入所有Salesforce联系人时的操作00520000001IbXZAA0
首先是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上看到的所有联系人,或者我在这里错过了什么?
非常感谢
答案 0 :(得分:0)
您无法查看所有记录的原因是,可能会通过OWD或使用基于角色的共享,手动共享或顶点共享与您共享某些记录。如果您只是在csv或其他任何地方寻找列表,那么您在这里可以做的最简单的事情是创建一个报告来显示所有联系人并与该用户共享。以" 00520000001IbXZAA0"登录Salesforce用户。运行报告并导出到csv / excel。 如果您希望在代码中执行此操作,请使用" with sharing"关键字并运行以下查询"选择Id,FirstName,LastName ....来自Contact"。这将返回该用户所有他/她有权访问的记录。
尝试以上解决方案并告诉我们它们是否适合您。很高兴帮助.. !!