使用監視器來疑難排解模型導向應用程式表單行為
監視器是一種工具,可協助應用程式製作者偵錯並診斷問題,協助他們建立更快速、更可靠的應用程式。 監視器透過提供應用程式執行時所有活動的記錄,讓您深入了解應用程式的執行方式。
執行應用程式時,會在監視器的模型導向應用程式表單相關事件上進行篩選,以提供監視器中表單上的相關資料表、資料表、控制項及元件的資訊。
在大多數情況下,監視器可協助決策者了解表單為什麼會以某種方式進行。 許多表單問題是根據系統管理員和決策者所設定的商務規則、JavaScript、表單事件或用戶端 API 而定。 監視器可以幫助確定所遇到的問題是出於現成的設計,還是自訂造成的。 它提供了有助於回答以下問題的詳細資料:
- 為何資料列無法在資料表的相關功能表中顯示?
- 為何控制項為停用/啟用或顯示/隱藏
- 為何資料列處於唯讀狀態?
篩選監視器以尋找表單相關的問題
遵循以下指示,了解模型導向應用程式表單的行為。
建立監視器工作階段
登入 Power Apps,選擇應用程式,選擇模型導向應用程式旁邊或全域命令列上的 ...,然後選擇監視。
在監視器頁面,在命令列上選取開啟模型導向應用程式。 如需有關建立監視工作階段的更多資訊,請前往使用監視對模型導向應用程式中的頁面行為進行疑難排解。
篩選表單監視
在監視工作階段中執行應用程式時,在模型導向應用程式中,執行應用程式的一般使用動作。 例如,使用資料表表單打開及變更資料。
在執行監視器的瀏覽器視窗中,選取類別資料行,然後選取篩選依據。
從下拉式清單選取等於或包含,然後在方塊中輸入 formchecker。 選取套用。
現在類別已經過篩選。 選取並按住資料行的右側,然後向右拖曳,作業資料行即可展開,以查看所追蹤事件的全名。 當您使用應用程式並開啟並使用表單時,監視器會更新事件清單。
使用監視器瞭解表單行為
每個具有監視器的資料列都可以查看表單事件的詳細資料。 例如,假設您對表單中發生的錯誤有疑問。 您可以在應用程式中移至該表單,並選取適當的表單元件。 然後返回到啟用了監視器的瀏覽器,並查看篩選或不篩選的結果。 在此案例中,複合控制項上有一個錯誤。 透過展開詳細資料的區域,您就可以深入了解事件本身。
受監視的事件種類很多,包括標準表單事件 (例如,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
關閉監視工作階段
若要關閉監視工作階段,請關閉正在播放受監視模型導向應用程式的瀏覽器標籤。
後續步驟
有關如何疑難排解模型驅動應用程式中表單問題,請參閱疑難排解模型導向應用程式中的表單問題。