次の方法で共有


Monitor を使用して、モデル駆動型アプリ フォーム動作をデバッグする

Monitor は、アプリ メーカーが問題をデバッグおよび診断するのに役立つツールであり、より高速で信頼性の高いアプリを構築するのに役立ちます。 Monitor は、実行時にアプリ内のすべてのアクティビティのログを提供することにより、アプリの実行方法を詳細に把握します。

Monitor でモデル駆動型アプリフォーム関連のイベントをフィルタリングすると、アプリの実行時に Monitor でフォーム上の関連するテーブル、テーブル、コントロール、コンポーネントに関する情報を提供できます。

Monitor が、フォームが特定の方法で動作する理由をメーカーが理解するのに役立つ多くの状況があります。 多くのフォームの問題は、ビジネス ルール、JavaScript、フォーム イベント、または管理者とメーカーが設定したクライアント API に基づいています。 Monitor は、発生した問題がすぐに使用できるように設計されているのか、カスタマイズが原因であるのかを識別するのにも役立ちます。 次の質問に答えるのに役立つ詳細を提供します。

モデル駆動型アプリ フォームの動作を理解するには、以下の手順に従ってください。

ステップ1: モニター セッションを作成する

モニター セッションを開くには 2 つの方法があります。

オプション 1:

  1. Power Apps にサインインして、アプリ を選択します。

  2. モデル駆動型アプリの横またはグローバル コマンド バーにある ... を選択して、監視 を選択します。

    サンプル モデル駆動型アプリ

  3. 画面の指示に従ってアプリを実行し、監視セッションに参加します。

オプション 2:

  1. モデル駆動型アプリを再生します。

  2. &monitor=true を追加して、Web ブラウザの URL の最後まで移動してから、ページを更新します。

  3. コマンド バーで、監視 を選択します。

    グローバル コマンド バーの Monitor ボタンの位置

ステップ 2: アプリをモニター セッションに接続します

  1. Monitor に入ったら、コマンドバーのメニューから モデル駆動型アプリを再生する を選択します。 これによりアプリが開き、監視が開始されます。

  2. アプリの通常の使用と一致するモデル駆動型アプリ内でアクションを実行します。 たとえば、テーブル フォームを使用してデータを開いて変更します。

  3. Monitor を実行しているブラウザ ウィンドウで、カテゴリー 列をクリックし、フィルタリング を選択します。

    Monitor でフォーム イベントをフィルター処理する。

  4. ドロップダウン リストから 等しい または 含まれている を選択して、ボックスに formchecker を入力します。 適用する を選択します。

    Enter formchecker filter
  5. カテゴリがフィルタリングされるようになりました。 操作 列は展開して、列の右側を選択して押したまま右にドラッグすることで、追跡されるイベントのフルネームを表示できます。 アプリを使用したり、フォームを開いて使用したりすると、モニターはイベントの一覧を更新します。

    監視対象のフォーム イベントが表示されました。

Monitor を使用してフォームの動作を理解する

Monitor を使用する各行について、フォーム イベントに関する詳細情報を確認できます。 たとえば、フォーム内で発生しているエラーについて質問があるとします。 アプリのそのフォームに移動し、適切なフォーム コンポーネントを選択します。 次に、Monitor を有効にしてブラウザーに戻り、フィルタリングの有無にかかわらず結果を確認します。 この場合、複合コントロールにエラーがあります。 詳細 のエリアを展開すると、イベント自体について詳しく知ることができます。

関連メニューの監視。

監視されるイベントには、onloadonsaveonclose などの標準形式のイベントを含む多くの種類があります。

監視されているアプリを使い続けると、モニターはイベントの一覧の情報を更新します。 フォームの場合、トラブルシューティングを行って、現在作業中のフォーム、コントロール、またはテーブルに関する追加情報を見つけることができるさまざまなシナリオがあります。

サポートされているフォーム チェック領域とイベント

フォーム監視でサポートされている領域は、次のとおりです。

アプリ領域 内容
コントロール の状態 フォームが読み込まれたときの、コントロールの表示、有効、およびラベル ソースの状態に関する詳細。
関連メニュー 関連メニュー項目の状態に関する詳細。 例:
メニュー項目が表示されないのはなぜですか?
メニュー項目は、どこですか?
タブ / セクション / コントロールの状態の変更 (コールスタックを介して) 誰がフォーム コンポーネント (—タブ、セクション、コントロールなど—) にコンポーネントの可視性と有効状態を変更させたかの詳細。
ナビゲーション これらの Xrm.Navigationクライアント API メソッドのコール スタックをトレースすることにより、ナビゲーションまたは予期しないダイアログの原因に関する詳細: openAlertDialog(), openConfirmDialog(), openDialog(), openErrorDialog(), navigateTo(), openForm(), openTaskFlow(), openUrl(), openWebResource()
サポートされていないカスタマイズ フォームの準備が整う前のサポートされていないクライアント API アクセスに関する詳細。 例:
フォームが完全に読み込まれる前に iFrame で parent.Xrm.Page にアクセスします。
window.setTimeout() を使用して、フォーム ハンドラ コンテキスト外のフォーム Web リソースで Xrm.Page にアクセスして、フォーム クライアント API を定期的に呼び出します。
Power Apps control framework の制御コードの updateView() 方法の Xrm.Page にアクセスする。

モニターでサポートされているフォーム関連イベントの例として次のものがあります:

  • FormEvents.onsave
  • XrmNavigation
  • FormEvents.onload
  • FormControls
  • TabStateChange.visible
  • RelatedMenu
  • ControlStateChange.disabled
  • ControlStateChange.visible
  • SectionStateChange.visible
  • UnsupportedClientApi

次の手順

モデル駆動型アプリのフォームに関する問題のトラブルシューティング方法の詳細については、モデル駆動型アプリのフォームの問題のトラブルシューティング を参照してください。

Power Apps ツールとしての Monitor についての詳細

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。