Calendar 在Salesforce实例中,获取所有公共日历的SOQL是什么?
有人知道如何执行查询以获取所有公共日历吗?您可以通过转到设置来查看列表。。。定制活动。。公共日历和资源 这些日历对象是什么Calendar 在Salesforce实例中,获取所有公共日历的SOQL是什么?,calendar,salesforce,soql,Calendar,Salesforce,Soql,有人知道如何执行查询以获取所有公共日历吗?您可以通过转到设置来查看列表。。。定制活动。。公共日历和资源 这些日历对象是什么 我的目标是找到一种在VisualForce页面中显示这些日历的方法,让用户更容易找到它们 据我所知,Salesforce并没有直接公开公共日历对象供客户直接查询 公共日历似乎属于023名称空间,这是一个标准对象,但我在模式中找不到任何具有该名称空间的对象,这使我相信SFDC已经对我们隐藏了它们。如果在ID上运行.getSobjectType,它将作为日历对象出现。当您尝试查
我的目标是找到一种在VisualForce页面中显示这些日历的方法,让用户更容易找到它们 据我所知,Salesforce并没有直接公开公共日历对象供客户直接查询
公共日历似乎属于023名称空间,这是一个标准对象,但我在模式中找不到任何具有该名称空间的对象,这使我相信SFDC已经对我们隐藏了它们。如果在ID上运行.getSobjectType,它将作为日历对象出现。当您尝试查询该对象时,它会说它不可用。现在看来,自定义设置是唯一的途径。如果要在Visualforce中显示列表,可以在日历页面上使用PageReference GetContent方法,然后从html中获取详细信息 请注意,这在APEX触发器中不起作用
Public Class CalendarResource{
public Id crId {get;set;}
public String label {get;set;}
public String type {get;set;}
}
Pagereference r = new PageReference('/_ui/common/data/LookupResultsFrame?lkfm=swt&lknm=cal&lktp=023&cltp=resource&lksrch=#');
String html = r.getContent().toString();
List<CalendarResource> cals = new List<CalendarResource>();
Matcher m = Pattern.compile('lookupPick\\(\'swt\',\'cal_lkid\',\'cal\',\'\',\'(.*?)\',\'(.*?)\',\'\',\'\'\\)">(.*?)</a></TH><td class=" dataCell ">(.*?)<\\/td><\\/tr>').matcher(html);
//While there are labels
while (m.find()) {
//system.debug(m.group(3));
//system.debug(m.group(4));
CalendarResource cr = new CalendarResource();
cr.crId = m.group(1);
cr.label = m.group(2);
cr.type = m.group(4);
cals.add(cr);
}
for(CalendarResource cr : cals){
system.debug(cr.crId+'__'+cr.label+'___'+cr.type);
}
在当前API版本中,您可以通过以下方式执行此操作:从日历中选择Id、名称,其中Type='Resource'谢谢。我得出了同样的结论,但我们希望有一个解决办法!同时,我将创建一个自定义设置对象来存储日历ID。这只是一个痛苦的管理!