【问题标题】:Salesforce APEX get users User LicenseSalesforce APEX 获取用户用户许可
【发布时间】:2015-11-23 13:40:36
【问题描述】:

所以我正在尝试获取当前用户的用户许可证,例如。系统管理员或用户等...我已经浏览过这里并使用了其他方法,但是这些似乎对我不起作用。我想知道我可以从哪里开始?

我得到的错误是:

比较参数必须是兼容类型:Schema.SObjectField、String

使用以下代码:

public String getOpps() {
    if(Profile.UserLicense.Name === 'Community Customer') {
        oppCheck = true;
    } else {
        oppCheck = false;
    }


    ***loop*** {
            code here
        }
    } else {
       more code here
    }
    return 'nil';
 }

【问题讨论】:

  • 澄清一下,系统管理员与用户是一个配置文件,而不是用户许可证。许可证决定了 Salesforce 与 Chatter 之类的事情。

标签: salesforce apex


【解决方案1】:

这些是许可证类型,我从 API 指南 here 中获得,感谢 this post

  • 标准:用户许可。此用户类型还包括 Salesforce Platform 和 Salesforce Platform One 用户许可证。标签为标准。
  • PowerPartner:访问受限的 PRM 用户,因为他或她是合作伙伴,通常通过合作伙伴访问应用程序 门户网站。标签是合作伙伴。
  • CSPLitePortal:访问受限的用户,因为他或她是组织的客户并通过以下方式访问应用程序 客户门户。标签是高容量门户。
  • CustomerSuccess:访问受限的用户,因为他或她是组织的客户并通过 客户门户。标签是客户门户用户。
  • PowerCustomerSuccess:访问受限的用户,因为他或她是组织的客户并通过以下方式访问应用程序 客户门户。标签是客户门户经理。有这个的用户 许可类型可以查看和编辑他们直接拥有的数据或自己拥有的数据 或与客户门户角色层次结构中低于他们的用户共享。
  • CsnOnly:仅限 Chatter 访问应用程序的用户。此用户类型包括 Chatter Free 和 Chatter 版主 用户。标签是免费的。

另外,你可能会遇到一些运气:

Profile p = [Select Name from Profile where Id =: userinfo.getProfileid()];
String pname = p.name;

if(pname == 'Community Customer') {
    oppCheck = true;
} else {
    oppCheck = false;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多