Что такое SOQL для получения всех общедоступных календарей в экземпляре Salesforce? - PullRequest
2 голосов
/ 25 января 2012

Кто-нибудь знает, как выполнить запрос, чтобы получить все публичные календари? Вы можете увидеть список, перейдя в меню «Настройка» ... «Настройка» ... «Действия» .. Публичные календари и ресурсы

Что это за объекты календаря?

Моя цель - найти способ отображения этих календарей на странице VisualForce, чтобы пользователям было легче их находить.

Ответы [ 4 ]

1 голос
/ 03 июня 2015

Если вы запустите .getSobjectType () для идентификатора, он появится как объект календаря.Когда вы пытаетесь запросить этот объект, он говорит, что он недоступен.Похоже, что пользовательские настройки пока являются единственным маршрутом.

0 голосов
/ 30 января 2019

Вы можете сделать это в текущей версии API: "SELECT Id, Name FROM Calendar, где Type = 'Resource'

0 голосов
/ 01 июня 2017

Если вы хотите отобразить список в 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);  
}
0 голосов
/ 25 января 2012

Насколько я могу судить, Salesforce напрямую не выставляла объект Public Calendar для непосредственного запроса клиентов.

Кажется, публичные календари попадают в пространство имен 023, которое является стандартным объектом, но яне могу найти в Схеме ни одного объекта с таким пространством имен, что заставляет меня поверить, что SFDC скрыл их от нас.

...