隔離模型驅動應用程式中的問題
模型驅動應用程式是由設定所驅動。 您可以提供高階指示來產生應用程式。 您也可以介紹會影響應用程式多個元件的自訂元件。 當應用程式未如預期般運作時,如果應用程式是自定義錯誤或Power Apps系統中的錯誤,可能並不明顯。
以下是在模型驅動應用程式中找出問題的一些技術。
拿掉自定義專案
下列功能可能會影響正常作業。 請嘗試停用或移除它們,並檢查問題是否仍然發生。 深入瞭解在窗體上尋找和停用自定義。
商務規則
影響:表單頁面
商務規則 會根據記錄的狀態變更表單的行為。 請嘗試停用或簡化規則,並檢查表單是否仍如預期般運作。
用戶端文本
影響:表單頁面
用戶端腳本 包含 JavaScript 程式代碼,這些程式代碼可能會與 Power Apps 系統發生衝突,或以非預期的方式加以變更。 如果停用腳本可解決問題,您應該 隔離自定義腳本的哪個部分會造成問題。
您可以將此附加至頁面的網址,以暫時停用所有自訂文稿:
&flags=DisableFormLibraries=true,DisableWebResourceControls=true
自訂命令
影響:表單頁面、數據表型檢視頁面
如果在命令行中選取 命令之後發生問題,請檢查其是否為 自定義命令。 自定義命令可以包含會導致非預期行為的 JavaScript 程式代碼。 新式命令可以有 使用Power Fx定義的自訂動作。 在這兩種情況下,請嘗試簡化命令,以找出自定義命令的定義方式是否有錯誤。
自訂控制項
影響:表單頁面、數據表型檢視頁面、自定義頁面
您可以取代表單頁面上的控件,或使用Power Apps元件取代數據表型檢視頁面上所使用的網格線控制件。 這些控制項是具有 JavaScript 和 CSS 程式代碼的自定義控制項,可能會影響頁面的其他部分。 嘗試切換至現用的控件,以查看自定義控件是否為問題。
伺服器外掛程式和進程
影響:所有頁面
系統管理員可以 安裝外掛程式,並建立程式來修改應用程式的商業規則。 如有任何相關的伺服器端自定義專案,請洽詢您的系統管理員。
與現用組態比較
為了協助判斷某個專案是否為設定錯誤,檢查應用程式的其他部分可能很有用。
例如,問題是否發生於不同的:
- 資料表(實體)
- 檢視
- 具有相同數據表的應用程式
- 相同數據表的表單
- 參考相同資料列的控制件 (屬性)
在理想情況下,請與尚未自定義的現成現成的比較。 例如,如果問題在於您所建立的數據表(實體),請查看現成的數據表。
如果問題未在其他地方發生,請比較差異與設定方式。 也許數據表關聯性和許可權會以不同的方式設定。 或未針對整合介面啟用數據表。
重新建立專案
從頭開始建立項目不僅可讓您檢查和比較預設組態,也可以修正損毀的組態。
如果下列任一項無法運作,請嘗試重新建立它們。 它可以是簡化的版本,以縮小哪些部分無法運作。
- 自訂資料表 (實體)
- 檢視
- 表單
- 自訂指令碼
確定所有必要元件都已新增至應用程式
模型驅動應用程式元件 包括數據表及其相關數據表、表單、資料行、檢視、圖表、儀錶板和商務程式流程。 基於效能考慮,只會下載新增至應用程式的元件。
如果元件未出現或行為不一致,請檢查它是否已新增至應用程式。 例如,如果 Teams 資料表未出現在表單的查閱控件中,但其他數據表會執行,則 Teams 資料表可能尚未新增至應用程式。
您可以使用新式應用程式設計工具,將下列元件新增至應用程式。
- 數據表和相關數據表: 建立 Dataverse 數據表頁面
- 表單: 將表單新增至應用程式
- 數據行(表單域): 將數據行新增至窗體
- 檢視和圖表: 管理 Dataverse 數據表頁面上的檢視和圖表
- 儀錶板: 建立儀錶板頁面
- 商務程式流程: 在 [自動化] 窗格中新增商務程式流程
您也可以 使用傳統應用程式設計工具來新增這些元件。
若要讓數據表脫機使用,則必須 將其新增至離線配置檔。 如需詳細資訊,請參閱 行動裝置離線指導方針。
瞭解取得數據或顯示數據時是否發生問題
當應用程式中的數據未正確顯示時,可能是提供資料的伺服器問題,或是處理和顯示資料的應用程式問題。 若要縮小原因範圍,您可以嘗試 一般方法來隔離有問題的層。
模型驅動應用程式具有複雜的數據流。 以下是要嘗試的更進階專案。
- 檢查網路要求的 FetchXML,並檢查應用程式是否發出正確的網路要求,並從伺服器正確接收數據。 您可以使用 監視器 來檢視網路要求。
- 如果應用程式具有離線設定檔,請嘗試從設定檔或設定檔完全移除使用者。 即使有因特網連線,但應用程式可以脫機運作的數據流也不同。
- 嘗試不同的用戶或數據表來檢查許可權問題。
簡化自定義腳本
自定義腳本是開發人員的進階功能。 它們可用於表單、自訂命令、Power Apps 元件和網頁 (HTML) Web 資源。 腳本可以執行的作業有巨大的彈性,但也有很高的機率,他們可能會不小心中斷系統。
如果您懷疑腳本造成問題,請遵循下列步驟:
停用所有自定義腳本,並查看問題是否仍發生。
如果沒有,請逐一啟用腳本以查看造成問題的原因。
找到造成問題的腳本之後,請從中移除無關的程序代碼。 例如,如果只有一個字段發生問題,請移除與其他表單域互動的程序代碼。
藉由逐步簡化文本,您應該能夠判斷問題是否由自定義程式代碼或用戶端 API 功能的行為不正確所造成。
如果錯誤來自自定義程式碼,請連絡撰寫腳本以取得協助的開發人員。
如果用戶端 API 功能未如記載般運作,您可以將它回報給Microsoft。 附加簡化腳本的複本,並提及哪些 API 功能無法運作。
建立 vanilla repro 應用程式
建立 vanilla repro 應用程式 的程式可能會發現許多自定義環境中不明顯的設定錯誤。 即使問題未修正,您還是會縮小原因,並更輕鬆地向其他人解釋問題。
下一步
- 針對命令進行疑難解答
- 針對窗體進行疑難解答
- 針對外掛程式進行疑難解答
- 針對 dataverse Microsoft 許可權問題進行疑難解答
- 使用監視器偵錯模型導向應用程式
- 使用監視器對模型驅動應用程式表單進行偵錯