コードサンプル: ディスパッチャコンソールのカスタムアクション
Apex クラスの作成
ディスパッチャコンソールのカスタムアクションにリンクする Apex クラスを作成する場合、次の 3 つのインターフェースのいずれかをクラスに実装します。
| インターフェース | 説明 |
|---|---|
| CustomGanttServiceResourceAction | サービスリソースに対するアクション用。パラメータは、サービスリソースレコード ID、ガントチャートに反映されたサービステリトリーメンバーレコード ID、現在のガントチャートの開始日と終了日です。その他にパラメータはありません。 次の形式を使用します。String action(Id resourceId, Id stmId, Datetime strGanttStartDate, Datetime strGanttEndDate, Map<String, Object> additionalParameters) |
| CustomGanttServiceAppointmentAction | サービス予定に対するアクション用。パラメータは、割り当て済みリソースレコード ID (一括アクションに使用)、現在のガントチャートの開始日と終了日です。その他にパラメータはありません。 次の形式を使用します。String action(List<Id> serviceAppointmentsIds, Datetime strGanttStartDate, Datetime strGanttEndDate, Map<String, Object> additionalParameters) このアクションが実装されると、複数のサービス予定を返すことができます。メソッドで、返される ID の数をチェックする if ステートメントを作成することをお勧めします。最初に、serviceAppointmentsIds.size()>1 で少なくとも 1 つの ID が返されたことを検証します。次に、返された予定 ID の数 (0、1、2 以上) に応じて異なるアクションを実行できます。 |
| CustomGanttResourceAbsenceAction | リソースの不在に対するアクション用。パラメータは、リソース不在レコード ID、不在種別 (「na」または「break」)、現在のガントチャートの開始日と終了日です。その他にパラメータはありません。 次の形式を使用します。String action(Id absenceId, String absenceType, Datetime strGanttStartDate, Datetime strGanttEndDate, Map<String, Object> additionalParameters) |
これらの関数は、グローバルであり、文字列を返す必要があります。文字列が空の場合は、ユーザが関連アクションをクリックしたときに表示されるガントチャート通知で使用されます。
コードサンプル: サービスリソースのカスタムアクション
このアクションは、ガントチャートに表示される日数にわたり、選択されたサービスリソースに [対応不可] 種別のリソース不在を作成します。
コードサンプル: サービス予定のカスタムアクション
このアクションは [対応が必要] 項目の True と False を切り替えます。
コードサンプル: リソース不在のカスタムアクション
リソース不在の種別が「N/A」の場合、このアクションは翌日に重複する不在を作成します。
Visualforce ページの作成
Visualforce ページを作成する場合は、次の GET パラメータを使用します。
| アクションの対象 | 説明 |
|---|---|
| サービス予定 | 次の形式を使用します。services [複数の場合], id (複数の場合はカンマ区切り), start (現在のガントチャート開始日、string), end (現在のガントチャート終了日、string) 1 つのサービス予定を更新するために使用された Visualforce ページの例: ?id=08p4E000000Kj5hQAC&start=5-7-2018&end=5-8-2018 複数のサービス予定を更新するために使用された Visualforce ページの例: ?services=08p4E000000Kj5hQAC,08p4E000430Kj5hAPP&start=5-7-2018&end=5-8-2018 |
| サービスリソース | 次の形式を使用します。id, stm (サービスリソースの現在のサービステリトリーメンバーレコードの ID), start (現在のガントチャート開始日、string), end (現在のガントチャート終了日、string) 例: ?id=0Hn4E0000001OMQSA2&stm=0Hu4E0000005cpPSAQ&start=5-7-2018&end=5-8-2018 |
| リソースの不在 | 次の形式を使用します。id, type (break または na), start (現在のガントチャート開始日、string), end (現在のガントチャート終了日、string) 例: ?id=0Hw4E00000091HSSAY&type=break&start=5-7-2018&end=5-8-2018 |
コードから Visualforce ライトボックスを閉じるには、parent.postMessage('closeLightbox','*'); を使用します。