作業指示書が正常に保存または作成されない

まとめ

この記事は、Microsoft Dynamics 365 Field Service で 作業指示書 を保存または作成しようとしたときに発生する一般的なエラーのトラブルシューティングに役立ちます。 プラグインとビジネス ルールのエラー、カスタム スクリプトによって発生する必須フィールド エラー、インシデントタイプの自動入力の問題について説明します。

Symptoms

作業指示書を保存または作成しようとすると、次のいずれかの問題が発生します。

  • 作業指示書のフィールドに入力し、[ 保存] を選択すると、次のエラー メッセージが表示されます。

    ビジネス プロセス エラー: エラーが発生しました。 システム管理者にお問い合わせください。

    このような場合は、2 回目の試行で正常に保存できます。

  • フィールドが入力されているにもかかわらず、次の "必須フィールド" エラー メッセージが表示されます。

    <FieldName> の値を指定する必要があります。

  • 作業指示書で インシデントの種類 を選択すると、予想される作業指示書製品、サービス、およびサービス タスクは自動的に設定されません。

失敗したプラグインまたはビジネス ルールを確認する

作業指示書テーブルの同期プラグインまたはビジネス ルールでは、保存操作中にエラーが発生する可能性があります。 最初の試行でのみエラーが発生した場合、通常、この条件は、プラグインがまだ存在しない関連レコードに依存するタイミングの問題を示します。

失敗したプラグインまたはビジネス ルールの問題を特定して修正するには、次の手順に従います。

  1. 失敗したジョブを特定します。
    1. Dynamics 365 Field Service アプリで、設定 (歯車記号) >高度な設定 を選択します。
    2. 詳細設定領域で、 System>System ジョブに移動します。
    3. 失敗ジョブを見つけるには、作業指示エンティティのエラーでフィルター処理します。
  2. プラグインの登録を検査する:
    1. Power Apps に移動し、環境を選択します。
    2. テーブル>工順>プラグインステップに進みます
    3. 作業指示書作成メッセージの事前操作ステップまたは操作ステップに登録されているカスタム プラグインを探します。
    4. プラグインが関連レコード (サービス タスクや製品など) を参照している場合、それらのレコードが存在する前に実行される可能性があります。 プラグインを非同期ステップに移動するか、null チェックを追加します。
  3. ビジネス ルールでエラーが発生した場合:
    1. Power Apps に移動し、環境を選択します。
    2. テーブル>作業順序>ビジネス ルールに移動します。
    3. 問題を特定するために、カスタム ルールを一時的に無効にします。

カスタム スクリプトが必須フィールドをオーバーライドしていないことを確認する

ユーザー設定フォーム スクリプトまたはビジネス ルールは、フォームがフィールド値を設定した後でフィールド値をクリアまたはオーバーライドする場合があります。 または、 インシデントの種類 のマップされたフィールドが値を正しく転送しない可能性があります。

フォーム スクリプトとフィールド マッピングを確認するには:

  1. ブラウザー開発者ツール (F12) を開き、[ コンソール ] タブで、保存操作中に発生した JavaScript エラーを確認します。
  2. Power Apps に移動し、環境を選択します。
  3. テーブル>Work Order>Forms に移動します。
  4. 関連するフォームを開き、On Save イベント スクリプトがフィールドをクリアまたはオーバーライドするかどうかを確認します。
  5. 必須フィールドがルックアップの場合は、Dynamics 365 Field Service アプリで参照先レコードを開き、まだ存在し、 アクティブ な状態であることを確認します。
  6. カスタマイズなしでクリーンな環境でテストし、問題がカスタム ロジックによって発生しているかどうかを確認します。

インシデントの種類の構成とユーザー特権を確認する

インシデントの種類が正しく構成されていないか、非アクティブである可能性があります。 ユーザーには、子エンティティに対する 作成 特権がない場合もあります。 インシデントの種類の詳細については、「 作業指示書インシデントの種類の概要」を参照してください。

インシデントの種類の構成とユーザー権限を確認するには:

  1. Dynamics 365 Field Service アプリで 、[設定] に移動します。
  2. 作業指示>インシデントの種類を選択します。
  3. インシデントの種類のレコードを開き、関連するタブの下に 製品サービスおよびサービス タスク が表示されることを確認します。
  4. インシデントの種類で参照されている各製品またはサービスが製品カタログで アクティブ であることを確認します。 設定>General>Products に移動して、製品の状態を確認します。
  5. 作業指示書フォームで、製品を含む有効な価格表を使用して [ 価格表 ] フィールドが設定されていることを確認します。 設定>一般>価格表に移動して価格表を確認します。
  6. ユーザーに必要な セキュリティ ロールと特権があることを確認します
    1. Power Platform 管理センターにサインインします。
    2. [ 管理] を選択し、環境を選択します。
    3. [設定] (歯車記号) >ユーザー + アクセス許可>セキュリティ ロールに移動します。
    4. ユーザーのロールに Create 権限があることを確認します。
      • 作業注文製品 (msdyn_workorderproduct)
      • 作業指示サービス (msdyn_workorderservice)
      • 作業指示書サービス タスク (msdyn_workorderservicetask)
  7. [インシデントの種類] フィールドを非表示またはロックするカスタム ビジネス ルールを使用する場合は、システムが自動作成ロジックをトリガーすることを許可していることを確認します。