ライブモニターを使用してモデル駆動型アプリの動作をトラブルシューティングする
ライブ モニターは、アプリ作成者が問題をデバッグおよび診断し、より高速で信頼性の高いアプリを構築できるようにするツールです。 ライブ モニターは、アプリの実行中にアプリ内のすべてのアクティビティのログを提供することで、アプリの実行状況を詳細に把握できるようにします。
特定のモデル駆動型アプリ機能を分離するために、フォームや Copilot コントロールなどの特定のカテゴリでフィルター処理できます。
ライブモニターセッションを作成する
Power Apps にサインインし、左側のナビゲーションペインで、ソリューション を選択し、監視するアプリを含むソリューションを開いて、コマンドバーで ライブ監視 を選択します。
ライブ モニター ページで、コマンド バーに 選択 モデル駆動型アプリを再生 します。 ライブ モニター セッションの作成の詳細については、「 ライブ モニターを使用してモデル駆動型アプリのページ動作のトラブルシューティングを行う」を参照してください。
フォーム関連の問題をライブモニターでフィルタリングする
ライブ モニターでモデル駆動型アプリのフォーム関連イベントをフィルター処理すると、アプリの実行時にライブ モニターのフォーム上の関連テーブル、テーブル、コントロール、およびコンポーネントに関する情報を提供できます。
ライブ モニターを使用すると、フォームが特定の方法で動作する理由を作成者が理解できる状況が多数あります。 多くのフォームの問題は、ビジネス ルール、JavaScript、フォーム イベント、または管理者とメーカーが設定したクライアント API に基づいています。 ライブ モニターは、発生した問題が既定での設計によるものか、カスタマイズによるものかを識別するのにも役立ちます。 次の質問に答えるのに役立つ詳細を提供します。
- テーブルの関連メニューに行が表示されないのはなぜですか?
- コントロールが無効/有効または表示/非表示の理由
- 行が読み取り専用状態になっているのはなぜですか ?
ライブ モニターを実行しているブラウザー ウィンドウで、 カテゴリ 列を 選択 し、次に フィルター条件を 選択 します。
ドロップダウン リストから 等しい または 含まれている を選択して、ボックスに
formchecker
を入力します。 適用 を選択します。カテゴリがフィルタリングされるようになりました。 操作 列は展開して、列の右側を選択して押したまま右にドラッグすることで、追跡されるイベントのフルネームを表示できます。 アプリを使用してフォームを開いて使用すると、ライブ モニターによってイベントのリストが更新されます。
アプリが監視セッションで実行されている間、アプリの通常の使用と一致するアクションをモデル駆動型アプリ内で実行します。 たとえば、テーブル フォームを使用してデータを開いて変更します。
ライブモニターを使用してフォームの動作を理解する
ライブモニターの各行では、フォームイベントに関する詳細情報を確認できます。 たとえば、フォーム内で発生しているエラーについて質問があるとします。 アプリのそのフォームに移動し、適切なフォーム コンポーネントを選択します。 次に、ライブ モニターを有効にした状態でブラウザーに戻り、フィルターの有無にかかわらず結果を確認します。 この場合、複合コントロールにエラーがあります。 詳細 のエリアを展開すると、イベント自体について詳しく知ることができます。
監視されるイベントには、onload
、onsave
、onclose
などの標準形式のイベントを含む多くの種類があります。
監視対象のアプリを引き続き使用すると、ライブ モニターはイベント リストの情報を更新します。 フォームの場合、トラブルシューティングを行って、現在作業中のフォーム、コントロール、またはテーブルに関する追加情報を見つけることができるさまざまなシナリオがあります。
フォーム チェック領域とイベント
フォーム監視の領域は、次のとおりです。
アプリ領域 | プロパティ |
---|---|
コントロール の状態 | フォームが読み込まれたときの、コントロールの表示、有効、およびラベル ソースの状態に関する詳細。 |
関連メニュー | 関連メニュー項目の状態に関する詳細。 例: メニュー項目が表示されないのはなぜですか? メニュー項目は、どこですか? |
タブ / セクション / コントロールの状態の変更 | (コールスタックを介して) 誰がフォーム コンポーネント (タブ、セクション、コントロールなど) にコンポーネントの可視性と有効状態を変更させたかについての詳細情報です。 |
Navigation | これらの 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
Copilot制御関連の問題のライブ モニターをフィルターする
- ライブ モニターを実行しているブラウザー ウィンドウで、 カテゴリ 列を 選択 し、次に フィルター条件を 選択 します。
- ドロップダウン リストから 等しい または 含まれている を選択して、ボックスに
CopilotEvent
を入力します。 適用 を選択します。
Copilot コントロール イベント
Copilot制御監視のイベントには以下が含まれます。
Event name | プロパティ |
---|---|
AdaptiveCardActionData | アダプティブカードのアクションを送信するためのデータ |
adaptiveCardContent | アダプティブカードの内容 |
AISummarize | このメッセージは、要約機能がオフの場合に fcb ステータスを記録するために記録されます |
AutoTriggerSummarizeHandler.isAutoTriggeredSummaryEnabled | 自動トリガーが有効かどうかを示します |
ClientActionCalled | クライアントアクションの名前とそれに渡されたペイロードをログに記録します |
CopilotResponse | コパイロットからの応答 |
DVコパイロットアクション | isDVChatEnabled: 組織でDVチャットが有効になっているかどうか |
DynamicContextSentToBot | ボットに送られた Dynamics コンテキスト |
EnvironmentHostedBotSchemaName | 環境 ボットスキーマ名をログに記録します |
ExecutingAction | 適応型 カード アクションが実行されます |
isSummaryEnabledForEntity | エンティティのサマリーが有効かどうかを示します |
queryStructuredDataRequest | 構造データのクエリ要求が送信されました |
queryStructuredDataResponse | クエリ構造データからの応答 |
セッションコンテキストがボットに送信されました | セッション コンテキストが ボット に送信されました |
SummarizeResponse | 要約の応答をログに記録します |
UserPrompt | ユーザーが入力したプロンプト |
モニタリング セッションを閉じる
監視セッションを終了するには、監視対象のモデル駆動型アプリが再生されているブラウザのタブを閉じます。
次の手順
モデル駆動型アプリのフォームに関する問題のトラブルシューティング方法の詳細については、モデル駆動型アプリのフォームの問題のトラブルシューティング を参照してください。