2012-08-13 62 views
0

我试图从Salesforce选择用户的下属,但一个简单的查询不能从Salesforce

SELECT Id FROM User WHERE ManagerId=xxxxxxxxx 

回报一堆空值的选择的用户ID,当我运行

SELECT Id,Name FROM User WHERE ManagerId=xxxxxxxx 

我得到正确的名字,仍然没有ID。

这是一个权限问题吗?登录门户网站时我找不到任何东西。

我在Sandbox环境下通过API运行查询。

回答

1

试试这个(包括永诺为我的作品):

Id myId = [Select Id From User Where Username = 'myUserName'].Id; 
System.debug('#### myId: ' + myId); 

List<User> myIdList = [Select Id From User Where Username = 'myUserName' Limit 1]; 
System.debug('#### myId from list: ' + myIdList[0].Id); 
+0

尝试过,仍然获得空数组 – gh0st 2012-08-13 14:32:50

+0

也许试图捕捉错误? 'try { \t Id myId = [从用户选择Id其中用户名='myUserName']。 ('#### error:'+ e.getMesage());}};}};}}; \t }' – mast0r 2012-08-13 14:37:15

+0

并检查您的配置文件,必须检查此设置:标准/自定义对象权限 - >阅读,查看全部 – mast0r 2012-08-13 15:01:08

1

门户许可证不允许查询用户。但是,您仍然可以通过在输入字段中使用OwnerId,CreatedById,LastModifiedById来访问用户的名称。

即:

如果你想有通过你需要一个自定义对象的门户网站访问用户,并通过触发与用户同步您的记录。