Monitor を使用して、モデル駆動型アプリ フォーム動作をデバッグする
Monitor は、アプリ メーカーが問題をデバッグおよび診断するのに役立つツールであり、より高速で信頼性の高いアプリを構築するのに役立ちます。 Monitor は、実行時にアプリ内のすべてのアクティビティのログを提供することにより、アプリの実行方法を詳細に把握します。
Monitor でモデル駆動型アプリフォーム関連のイベントをフィルタリングすると、アプリの実行時に Monitor でフォーム上の関連するテーブル、テーブル、コントロール、コンポーネントに関する情報を提供できます。
Monitor が、フォームが特定の方法で動作する理由をメーカーが理解するのに役立つ多くの状況があります。 多くのフォームの問題は、ビジネス ルール、JavaScript、フォーム イベント、または管理者とメーカーが設定したクライアント API に基づいています。 Monitor は、発生した問題がすぐに使用できるように設計されているのか、カスタマイズが原因であるのかを識別するのにも役立ちます。 次の質問に答えるのに役立つ詳細を提供します。
- テーブルの関連メニューに行が表示されないのはなぜですか?
- コントロールが無効/有効または表示/非表示の理由
- 行が読み取り専用状態になっているのはなぜですか ?
フォーム関連問題に対して Monitor をフィルターする
モデル駆動型アプリ フォームの動作を理解するには、以下の手順に従ってください。
ステップ1: モニター セッションを作成する
モニター セッションを開くには 2 つの方法があります。
オプション 1:
Power Apps にサインインして、アプリ を選択します。
モデル駆動型アプリの横またはグローバル コマンド バーにある ... を選択して、監視 を選択します。
画面の指示に従ってアプリを実行し、監視セッションに参加します。
オプション 2:
モデル駆動型アプリを再生します。
&monitor=true
を追加して、Web ブラウザの URL の最後まで移動してから、ページを更新します。コマンド バーで、監視 を選択します。
ステップ 2: アプリをモニター セッションに接続します
Monitor に入ったら、コマンドバーのメニューから モデル駆動型アプリを再生する を選択します。 これによりアプリが開き、監視が開始されます。
アプリの通常の使用と一致するモデル駆動型アプリ内でアクションを実行します。 たとえば、テーブル フォームを使用してデータを開いて変更します。
Monitor を実行しているブラウザ ウィンドウで、カテゴリー 列をクリックし、フィルタリング を選択します。
ドロップダウン リストから 等しい または 含まれている を選択して、ボックスに formchecker を入力します。 適用する を選択します。
カテゴリがフィルタリングされるようになりました。 操作 列は展開して、列の右側を選択して押したまま右にドラッグすることで、追跡されるイベントのフルネームを表示できます。 アプリを使用したり、フォームを開いて使用したりすると、モニターはイベントの一覧を更新します。
Monitor を使用してフォームの動作を理解する
Monitor を使用する各行について、フォーム イベントに関する詳細情報を確認できます。 たとえば、フォーム内で発生しているエラーについて質問があるとします。 アプリのそのフォームに移動し、適切なフォーム コンポーネントを選択します。 次に、Monitor を有効にしてブラウザーに戻り、フィルタリングの有無にかかわらず結果を確認します。 この場合、複合コントロールにエラーがあります。 詳細 のエリアを展開すると、イベント自体について詳しく知ることができます。
監視されるイベントには、onload
、onsave
、onclose
などの標準形式のイベントを含む多くの種類があります。
監視されているアプリを使い続けると、モニターはイベントの一覧の情報を更新します。 フォームの場合、トラブルシューティングを行って、現在作業中のフォーム、コントロール、またはテーブルに関する追加情報を見つけることができるさまざまなシナリオがあります。
サポートされているフォーム チェック領域とイベント
フォーム監視でサポートされている領域は、次のとおりです。
アプリ領域 | 内容 |
---|---|
コントロール の状態 | フォームが読み込まれたときの、コントロールの表示、有効、およびラベル ソースの状態に関する詳細。 |
関連メニュー | 関連メニュー項目の状態に関する詳細。 例: メニュー項目が表示されないのはなぜですか? メニュー項目は、どこですか? |
タブ / セクション / コントロールの状態の変更 | (コールスタックを介して) 誰がフォーム コンポーネント (—タブ、セクション、コントロールなど—) にコンポーネントの可視性と有効状態を変更させたかの詳細。 |
ナビゲーション | これらの 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 分かかります。 個人データは収集されません (プライバシー ステートメント)。