所以我试图获得当前用户的用户许可证,例如。系统管理员或用户等...我已经浏览了这里并使用了其他方法,但这些似乎对我不起作用。我想知道我在哪里可以开始这个?
我得到的错误是:
比较参数必须是兼容类型: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';
}
答案 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;
}