この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

コードサンプル: ディスパッチャコンソールのカスタムアクション

ディスパッチャコンソールのカスタムアクションにリンクする Apex クラスまたは Visualforce ページの設定方法を説明します。
カスタムアクションは、Apex をコールするか Visualforce ページを開くことができます。ディスパッチャコンソールのいくつかの領域でレコードに対して実行できます。カスタムアクションの作成方法の詳細は、「ディスパッチャコンソールのカスタムアクションの作成」を参照してください。

ディスパッチャコンソールからアクセスできるようにするには、クイックアクションインターフェースを実装するすべての Apex クラスを Global として宣言する必要があります。

メモ

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','*'); を使用します。

ディスパッチャコンソールのカスタムアクションで、管理パッケージの一部である Visualforce ページを開くことはできません。

メモ