ユニバーサル リソース スケジュール

完了

Microsoft Dynamics 365 のスケジューリング機能は ユニバーサル リソース スケジュールによって提供され、作業指示書、サービス活動、プロジェクトをスケジューリングするために、Dynamics 365 Field Service、Customer Service、Project Operations で使用されます。 ユニバーサル リソース スケジュールは、リソース、特性、フルフィルメントの基本設定、作業時間、予約、スケジュール ボードなど、Field Service にあるスケジューリング機能のほとんどを備えています。 ユニバーサル リソース スケジュールを使用して、Microsoft Dataverse のあらゆるテーブルのレコードをスケジューリングすることができます。

ユニバーサル リソース スケジュールでのユース ケース

多くのフィールド サービス活動には、社内トレーニングなど、技術者を予約すべき他のジョブが含まれる場合があります。 この場合、休暇機能を使用することもできますが、それにはいくつかの問題があります。 まず、スケジュール ボードでは、休暇は稼働しない時間として淡い灰色で表示され、詳細は表示されません。 その結果、スケジュール担当者には、そのリソースが利用できないということしかわかりません。

また、多くのフィールド リソースをトレーニングする場合、各リソースの空き時間に基づいてトレーニングをスケジューリングする必要があります。 カスタム テーブルでのレコードのスケジューリングでは、スケジュール ボードに予約としてコースが表示されるため、スケジュール担当者はリソースが利用できない理由を確認することができます。

別の例として、顧客ではなく、組織のフィールド技術者によって実行される内部メンテナンス作業があります。 この要件を満たすには、作業指示書をカスタマイズするのではなく、カスタム テーブルを作成して、内部メンテナンス作業のジョブ レコードをスケジューリングする方がより効率的です。

他のテーブルで異なる色を使用することで、リソースが顧客の作業に対応できないことをスケジュール ボードで明確に示すことができます。

ユニバーサル リソース スケジュールのしくみ

項目をスケジューリングするには、3 つのテーブルを使用します。

  • スケジュールを設定する項目 (作業指示書など)

  • リソース要件

  • 予約可能なリソース予約

スケジューリングする必要がある項目 (作業指示書など) が Dynamics 365 で作成された場合、その項目には、場所、スキル、時間枠、基本設定など、スケジューリング方法に影響する情報が含まれています。 作業指示書レコードを作成すると、自動的にリソース要件レコードが作成されます。 項目をスケジューリングする際は、作業指示書の代わりに、ユニバーサル リソース スケジュールで使用されるリソース要件レコードがスケジューリングされます。 リソース要件は、項目のスケジューリングに必要な特定の情報を定義します。

作業指示書のリソース要件には、次のような情報が含まれます。

  • 顧客の場所 (緯度と経度)

  • サービス地域

  • 要求される特性 (スキル) やロール

  • 期間

  • 日付と時間枠または約束

  • フルフィルメントの基本設定

  • リソースの基本設定

リソース要件は、スケジュール ボードの下部にある要件パネルに表示され、スケジュールなしの作業指示書などの項目を確認できます。

リソース要件をスケジューリングすると、予約可能なリソース予約 (Field Service アプリでは通常は予約と省略されます) が作成されます。これにより、選択された日付と時間枠、および項目を実施するために選択されたリソースが定義されます。 項目を実行するリソースに関する具体的な詳細も含まれます。 ここでは、予想到着時刻と実際の到着時刻、予約の状態などの詳細情報が提供されます。

リソース要件に対するリソース予約には、次の情報が含まれます。

  • 作業の実行を担当するリソース

  • 予測移動時間と距離

  • 期間

  • 実際の開始時間と終了時間

  • 実際の移動距離

  • 予約状態

予約は、技術者に対して Field Service モバイル アプリに表示される主要項目で、スケジュール ボードの本体のセルに表示されます。

テーブル列

ユニバーサル リソース スケジュールを使用してテーブルをスケジューリングするには、Microsoft Dataverse のテーブルに以下の列を含める必要があります。

  • 緯度 - 小数点第 5 位の精度の浮動小数点数で表した、作業が行われる緯度 (最小値 -90、最大値 90)。

  • 経度 - 小数点第 5 位の精度の浮動小数点数で表した、作業が行われる経度 (最小値 -180、最大値 180)。

  • 開始日 - 作業を開始する予定の日付と時刻列。

  • 終了日 - 作業を終了する予定の日付と時刻列。

  • 期間 - 期間タイプの整数列。 この列は、作業を実行するために必要な時間 (分) を示します。

  • 地域 - 地域テーブルのルックアップ。 この列はオプションで、スケジューリング時にリソースを地域でフィルター処理する場合のみ必要です。

  • 作業場所 - グローバルな作業場所の選択肢を使用する選択列。 スケジューリングするには、作業場所の既定値がオンサイトになっている必要があります。

ユニバーサル リソース スケジュールでスケジューリングするテーブルに必要な列のスクリーンショット。

テーブル リレーションシップ

スケジューリングするテーブルでは、テーブルと次の項目における 2 つの一対多のリレーションシップが必要です。

  • リソース要件

  • 予約可能なリソース予約

ユニバーサル リソース スケジュールでスケジューリングするテーブルに必要なリレーションシップのスクリーンショット。

要求と予約レコードを入力しやすいように、これらのリレーションシップにマッピングを追加します。

予約ステータス

テーブルの予約ステータスを定義する必要があります。 このテーブルは、他の ユニバーサル リソース スケジュール対応テーブルによって共有されます。そのため、選択列を予約ステータス テーブルに追加して、テーブルの予約ステータス項目を制限する必要があります。

予約ステータスにおける選択列のスクリーンショット。

選択列を作成してフォームに追加したら、リソース > 予約設定 > 予約ステータスに移動して、Field Service アプリに予約ステータスを追加できます。

少なくとも次の項目に対して予約ステータスを作成してください。

  • スケジュール済

  • 進行中

完了になっている既存の予約ステータスを編集して、選択列を完了に設定し、キャンセル済みになっている既存の予約ステータスを編集して、選択列をキャンセル済みに設定します。

使用可能な予約ステータスを示すスクリーンショット。

各予約ステータスには、色とアイコンを関連付けることができます。 これらの色とアイコンは、スケジュール ボードに予約を表示する際に使用されます。

テーブルでスケジューリングを有効にする

列とリレーションシップを作成したら、Resource Scheduling アプリを使用してテーブルでスケジューリングを有効にできます。 テーブルを有効にするには、設定 > スケジューリング > 管理に移動し、エンティティのリソース スケジュールを有効にするを選択します。

次のスクリーンショットに示すように、表と 2 つのリレーションシップを選択します。

ユニバーサル リソース スケジュールを使用したスケジューリング用にテーブルを有効にするためのスクリーンショット。

カスタマイズの公開を選択して、予約設定メタデータ フォームを開きます。

最初のセクションで、予約状態フィールド論理名の予約ステータス テーブルに追加した選択列のスキーマ名を、次のスクリーンショットに示すように入力します。

「予約設定メタデータ」セクションの「予約状態フィールド論理名」オプションのスクリーンショット。

次のスクリーンショットに示すように、設定セクションで次の項目を選択します。

  • 既定の予約期間 - 作業の開始時間に設定します (例: 30 分)。

  • 移動時に予約を取り消す - はいに設定します。

  • 既定の予約確定済み状態 - 作成したスケジュール済みの予約ステータスを選択します。

  • 既定の予約取り消し済み状態 - キャンセル済みの予約ステータスを選択します。

  • 既定の要件アクティブ状態 - 有効を選択します。

  • 既定の要件取り消し済み状態 - キャンセルを選択します。

  • 既定の要件完了済み状態選択解除する - 完了を選択します。

  • 予約の要件の自動作成の無効化 - 最初はいいえに設定します。

  • リソースの空き時間検索の制限 - このオプションにより、スケジュール アシスタントで返されるリソース数が制限されます。

  • 空き期間の最小値 (%) - このオプションは 100% のままにします。

  • 簡易予約を有効にする - このオプションは、最初はいいえに設定します。

「予約設定メタデータの設定」セクションのスクリーンショット。

属性マッピング セクションで、テーブルで作成した列を使用して次のオプションを選択します。

  • 開始日

  • 終了日

  • 期間

  • 担当地域

  • 緯度

  • 経度

  • 作業場所

保存を選択します。

[予約設定メタデータ] の [属性マッピング] セクションのスクリーンショット。

列は、列のデータ型に基づいて自動的にマッピングされます。

リソース要件ビュー

テーブルのレコードをスケジューリングする前に、リソース要件テーブルで新しいビューを作成して、予約されていないレコードの一覧を表示する必要があります。

このビューには、リソース要件テーブルとお使いのテーブルの両方の列が含まれています。

リソース要件ビューの列のスクリーンショット。

ビューでは、テーブルのリソース要件のうち、残り期間が 0 より大きい場所のみがフィルター処理されます。

リソース要件ビューのフィルターのスクリーンショット。

保存公開の順に選択します。

スケジュール ボードにビューを追加する

次に、スケジュール ボードにビューを追加する必要があります。 スケジュール ボードに移動し、歯車アイコンを選択します。

スケジュール ボードの歯車アイコンのスクリーンショット。

要件パネル セクションを展開し、タイトルを入力します。 作成したビューを選択した後、プラス (+) アイコンを選択して適用を選択します。

スケジュール ボードの「要件パネル」設定のスクリーンショット。

これで、スケジュール ボードの要件パネルにビューが表示されます。

スケジュール ボードの要件パネルのスクリーンショット。

レコードの予約

次に、予約ボタンを使用してレコードを予約することができます。

レコード内の「予約」ボタンのスクリーンショット。

このボタンを選択すると、スケジュール アシスタントが開き、リソースを予約することができます。

スケジュール アシスタントを示すスクリーンショット。

リソースを予約すると、リソース要件と予約可能なリソース予約が作成され、スケジュール ボードで予約を確認できます。

スケジュール ボードと予約を示すスクリーンショット。

簡易予約

簡易予約オプションを使用すると、簡単にリソースを選択できます。 このオプションを使用するには、予約設定メタデータを編集して、簡易予約を有効にするはいに設定します。 予約ボタンを選択すると、次のスクリーンショットに示すように簡易予約ペインが開きます。

簡易予約プロセスの例を示すスクリーンショット。

Power Automate を使用したリソース要件の入力

Dynamics 365 Field Service は、作業指示書の作成時にリソース要件を自動的に作成する機能を備えています。 作業指示書が変更されると、Field Service によってリソース要件も更新されます。

テーブルに対してこれまで行った設定では、レコードのフォーム内からのみ予約できるようになっています。スキルや他のスケジューリング プロパティは考慮されていません。 リソース要件レコードは、レコードを予約した場合のみ作成されます。 スケジューリングを最大限に活用するには、テーブルの作業指示書の処理を複製する必要があります。 これを実行する方法の 1 つは、Power Automate クラウド フローを使用してリソース要件を作成することです。

次のスクリーンショットは、クラウド フローの例を示しています。

要件を作成するフローを示すスクリーンショット。

フローを実装すると、スケジュール ボードの要件パネルにテーブルの要件が表示されます。

スケジュール ボードと要件を示すスクリーンショット。

重要

予約設定メタデータを編集し、予約の要件の自動作成の無効化はいに設定する必要があります。この設定を行わない場合、レコードを予約する際に重複する要求が発生します。

詳細については、「Microsoft Dynamics 365 for Field Service における ユニバーサル リソース スケジュール」と「Dynamics 365 Field Service でスケジューリング用のエンティティを有効にする」を参照してください。

予約タイムスタンプ

Dynamics 365 Field Service では、作業指示書の予約ステータスが変更された日付と時刻が、予約タイムスタンプに記録されます。 予約タイムスタンプは次の場合に役立ちます。

  • レポートによって、技術者が費やした時間を確認する。

  • 時間管理によって、請求の詳細レベルを示す。

  • 予約仕訳帳によって、特定の作業指示書に費やした時間の全体的なビューを確認する。

タイムスタンプは、予約タイムスタンプ予約可能なリソース予約レコードで確認できます。

予約タイムスタンプを示すスクリーンショット。

既定では、予約タイムスタンプは、変更後の予約ステータスが、既存の予約ステータスのフィールド サービスの状態の選択値とは異なる場合のみ生成されます。

タイムスタンプの頻度設定

フィールド サービスの設定セクションのタイムスタンプの頻度設定を変更すると、予約タイムスタンプを強制的に作成できます。

「タイムスタンプの頻度」オプションのスクリーンショット。

タイムスタンプの頻度フィールドで、次のいずれかのオプションを選択します。

  • フィールド サービスごとの状態変更 - 予約ステータスの変更によってフィールド サービスの状態が変更された場合にのみタイムスタンプを作成します。 これは既定の設定です。

  • 予約ごとの状態変更 - 予約ステータスが変更されるたびにタイムスタンプを作成します。

予約仕訳帳

予約ステータスが完了に設定されている場合、予約タイムスタンプから予約仕訳帳が自動的に作成されます。 予約仕訳帳には、予約の合計移動時間と合計作業時間が記録され、時間エントリを生成するために使用できます。

時間エントリを自動的に生成するには、フィールド サービスの設定時間エントリ生成戦略予約タイムスタンプから自動生成に設定します。

「時間エントリ生成戦略」設定のスクリーンショット。

予約可能なリソース予約レコードから仕訳帳を表示するには、関連 > 予約仕訳帳に移動します。