Salesforce APEX获得用户用户许可

时间:2015-11-23 13:40:37

标签: salesforce apex

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

我得到的错误是:

  

比较参数必须是兼容类型: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';
 }

1 个答案:

答案 0 :(得分:1)

这些是许可证类型,我是通过here从API指南this post获得的。

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

另外,您可能会尝试运气:

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

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