モデル駆動型アプリの問題を分離する
モデル駆動型アプリは構成によって駆動されます。 アプリを生成する手順の概要を示すことができます。 アプリの複数の部分に影響するカスタム コンポーネントを導入することもできます。 アプリが期待どおりに動作していない場合、Power Apps システムのカスタマイズ エラーまたはバグかどうかは明らかでない可能性があります。
モデル駆動型アプリで問題を分離する手法をいくつか次に示します。
カスタマイズの削除
次の機能は、通常の操作に影響する可能性があります。 無効にするか削除して、問題が引き続き発生するかどうかを確認してください。 フォームでのカスタマイズの検索と無効化の詳細については、こちらを参照してください。
ビジネス ルール
影響: フォーム ページ
ビジネス ルール レコードの状態に基づいてフォームの動作を変更します。 ルールを無効または簡略化して、フォームが期待どおりに動作するかどうかを確認してください。
クライアント スクリプト
影響: フォーム ページ
クライアント スクリプト には、Power Apps システムと競合したり、予期しない方法で変更したりする可能性がある JavaScript コードが含まれています。 スクリプトを無効にしても問題が解決する場合は、カスタム スクリプトのどの部分で問題が発生するかを に調整する必要があります。
これをページの URL に追加することで、すべてのカスタム スクリプトを一時的に無効にすることができます。
&flags=DisableFormLibraries=true,DisableWebResourceControls=true
カスタム コマンド
影響: フォーム ページ、テーブル ベースのビュー ページ
コマンド バーで command を選択した後で問題が発生した場合custom コマンドかどうかを確認。 カスタム コマンドには、予期しない動作を引き起こす JavaScript コードを含めることができます。 最新のコマンドでは、 カスタム アクションを Power Fx で定義できます。 どちらの場合も、コマンドを簡略化して、カスタム コマンドの定義方法にエラーがあるかどうかを調べてください。
カスタム コントロール
影響: フォーム ページ、テーブル ベースのビュー ページ、カスタム ページ
フォーム ページにコントロールを配置したりテーブル ベースのビュー ページで使用するグリッド コントロールをpower Apps コンポーネント配置したりできます。 これらのコントロールは、ページの他の部分に影響を与える可能性がある JavaScript および CSS コードを含むカスタム コントロールです。 すぐに使えるコントロールに切り替えて、カスタム コントロールが問題かどうかを確認してみてください。
サーバー プラグインとプロセス
影響: すべてのページ
管理者は、プラグインを インストールし、アプリのビジネス ロジックを変更するプロセスを作成できます。 関連するサーバー側のカスタマイズがあるかどうかを管理者に確認してください。
すぐに使用する構成と比較する
何かが構成エラーであるかどうかを判断するために、アプリの他の部分を確認すると便利です。
たとえば、問題は別の問題で発生しますか。
- テーブル (エンティティ)
- 表示
- 同じテーブルを持つアプリ
- 同じテーブルのフォーム
- 同じ列 (属性) を参照するコントロール
理想的には、カスタマイズされていないすぐに使えるものと比較してください。 たとえば、作成したテーブル (エンティティ) に問題がある場合は、すぐに使用できるテーブルを確認します。
問題が他の場所で発生しない場合は、違いを構成方法と比較します。 テーブルのリレーションシップとアクセス許可の設定が異なる場合があります。 または、テーブルが統合インターフェイスに対して有効になっていません。
アイテムを再作成する
最初から項目を作成すると、既定の構成を調べて比較できるだけでなく、破損した構成を修正することもできます。
次のいずれかが機能しない場合は、再作成してみてください。 簡略化されたバージョンを使用して、動作していないパーツを絞り込むことができます。
- カスタム テーブル (エンティティ)
- 表示
- Form
- カスタム スクリプト
必要なすべてのコンポーネントがアプリに追加されていることを確認する
モデル駆動型アプリ コンポーネント には、テーブルとその関連テーブル、フォーム、列、ビュー、グラフ、ダッシュボード、ビジネス プロセス フローが含まれます。 パフォーマンス上の理由から、アプリに追加されたコンポーネントのみがダウンロードされます。
コンポーネントが表示されない場合、または一貫性のない動作をする場合は、コンポーネントがアプリに追加されているかどうかを確認します。 たとえば、 Teams テーブルがフォームのルックアップ コントロールに表示されず、他のテーブルでは表示されない場合、 Teams テーブルがアプリに追加されていない可能性があります。
modern アプリ デザイナーを使用して、次のコンポーネントをアプリに追加できます。
- テーブルと関連テーブル: dataverse テーブル ページを作成
- フォーム: アプリにフォームを追加する
- 列 (フォーム フィールド): フォームに列を追加する
- ビューとグラフ: Dataverse テーブル ページのビューとグラフを管理する
- ダッシュボード: ダッシュボード ページを作成する
- 業務プロセス フロー: 自動化ウィンドウで業務プロセス フローを追加する
クラシック アプリ デザイナー 使用してこれらのコンポーネントを追加することもできます。
テーブルをオフラインで使用するには、オフライン プロファイルに 追加する必要があります。 詳細については、オフライン ガイドラインを参照してください。
データの取得またはデータの表示時に問題が発生したかどうかを確認する
データがアプリで正しく表示されない場合は、データを提供する際のサーバーの問題か、処理と表示におけるアプリの問題である可能性があります。 原因を絞り込むには、問題のあるレイヤー 分離するための一般的な方法を試すことができます。
モデル駆動型アプリには複雑なデータ フローがあります。 より高度な試用事項を次に示します。
- ネットワーク要求の FetchXML を調べ、アプリが適切なネットワーク要求を行い、サーバーからデータを正しく受信しているかどうかを確認します。 Monitor を使用して、ネットワーク要求を表示できます。
- アプリにオフライン プロファイルがある場合プロファイルまたはプロファイルからユーザーを完全に削除してみてください。 インターネット接続がある場合でも、オフラインで動作するアプリのデータ フローは異なります。
- 別のユーザーまたはテーブルを試して、アクセス許可の問題を確認します。
カスタム スクリプトを簡略化する
カスタム スクリプトは、開発者向けの高度な機能です。 これらは、 フォーム、 custom コマンド、 Power Apps コンポーネント、 webpage (HTML) Web リソースで使用できます。 スクリプトで実行できる操作には大きな柔軟性がありますが、システムを誤って中断する可能性も高くなります。
スクリプトによって問題が発生していると思われる場合は、次の手順に従います。
すべてのカスタム スクリプトを無効にして、問題が引き続き発生するかどうかを確認します。
そうでない場合は、スクリプトを 1 つずつ有効にして、問題の原因を確認します。
問題の原因となるスクリプトが見つかったら、それらから無関係なコードを削除します。 たとえば、問題のあるフィールドが 1 つだけの場合は、他のフォーム フィールドと対話するコードを削除します。
スクリプトを徐々に簡略化することで、問題がカスタム コードによって引き起こされたのか、 Client API 機能の誤った動作によって引き起こされたのかを判断できる必要があります。
エラーがカスタム コードからの場合は、スクリプトを記述した開発者に問い合わせてください。
クライアント API 機能が文書化されているとおりに機能していない場合は、Microsoft に報告できます。 簡略化されたスクリプトのコピーを添付し、どの API 機能が機能していないかを説明します。
バニラ 再現アプリを作成する
vanilla repro アプリを作成するプロセス多くのカスタマイズがある環境では明らかではない構成エラーが明らかになる場合があります。 問題が修正されていない場合でも、原因を絞り込んで、他のユーザーに問題を説明しやすくしました。
次のステップ
- コマンドのトラブルシューティング
- フォームのトラブルシューティング
- プラグインのトラブルシューティング
- Microsoft Dataverse に関するアクセス許可の問題のトラブルシューティング
- モニターでモデル駆動型アプリをデバッグする
- Monitor を使用したモデル駆動型アプリ フォームのデバッグ