![](/img/trans.png)
[英]SOQL or Apex to get package name and package license id of installed packages in Salesforce
[英]Salesforce APEX get users User License
因此,我正在尝试获取当前用户的用户许可证。 系统管理员或用户等...我已经在这里浏览并使用了其他方法,但是这些似乎对我不起作用。 我想知道我可以从哪里开始?
我得到的错误是:
比较参数必须是兼容的类型:Schema.SObjectField,字符串
通过使用以下代码:
public String getOpps() {
if(Profile.UserLicense.Name === 'Community Customer') {
oppCheck = true;
} else {
oppCheck = false;
}
***loop*** {
code here
}
} else {
more code here
}
return 'nil';
}
这些都是许可的类型,我把他们从API指南这里感谢这个帖子 。
- 标准 :用户许可证。 此用户类型还包括Salesforce Platform和Salesforce Platform One用户许可证。 标签是标准的。
- PowerPartner :由于其为合作伙伴而受到访问限制的PRM用户,通常是通过合作伙伴门户访问该应用程序。 标签是合作伙伴。
- CSPLitePortal :由于其是组织的客户并且通过客户门户访问应用程序而受到访问限制的用户。 标签是高容量门户。
- CustomerSuccess :由于他(她)是组织的客户并且通过客户门户访问应用程序而受到访问限制的用户。 标签是客户门户网站用户。
- PowerCustomerSuccess :由于其是组织的客户并且通过客户门户访问应用程序而受到访问限制的用户。 标签是客户门户网站经理。 具有此许可证类型的用户可以在Customer Portal角色层次结构中查看和编辑他们直接拥有的数据,或者由其下面的用户拥有或共享的数据。
- 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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.