誰でも公開カレンダーを取得するためのクエリを実行する方法を知っていますか?あなたはセットアップ...カスタマイズ...に行くことによってリストを見ることができます。アクティビティ..公開カレンダーとリソースSalesforceインスタンス内のすべてのパブリックカレンダーを取得するためのSOQLとは何ですか?
これらのカレンダーオブジェクトは何ですか?
私の目標は、ユーザーが簡単に見つけることができるように、VisualForceページでこれらのカレンダーを表示する方法を見つけることです。
誰でも公開カレンダーを取得するためのクエリを実行する方法を知っていますか?あなたはセットアップ...カスタマイズ...に行くことによってリストを見ることができます。アクティビティ..公開カレンダーとリソースSalesforceインスタンス内のすべてのパブリックカレンダーを取得するためのSOQLとは何ですか?
これらのカレンダーオブジェクトは何ですか?
私の目標は、ユーザーが簡単に見つけることができるように、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);
}
感謝をトリガします。私はこの同じ結論に達しましたが、そこに回避策があることを願っています!その間、カレンダーIDを格納するカスタム設定オブジェクトを作成します。これは管理するだけの苦痛です! – Bryan