內嵌畫布應用程式的指導方針和疑難排解
內嵌畫布應用程式指導方針
本文將提供有關使用內嵌畫布應用程式以及任何可能遇見問題之疑難排解實用提示的指導方針。
- 只有整合介面模型導向應用程式才會支援內嵌畫布應用程式。
- 每個包含 Web 的表單只能啟用三個內嵌畫布應用程式,平板電腦和手機用戶端類型只能啟用一個。
- 您可以將多個內嵌畫布應用程式新增至表單,但是 Web 一次只能啟用三個,平板電腦和手機用戶端類型一次啟用一個。
- 如果在模型導向應用程式表單上,使用 Web 用戶端類型啟用三個以上的內嵌畫布應用程式,則會顯示以下錯誤訊息「您有三個以上具有 Web 外形規格的畫布應用程式,此外形規格的最大值為三個。 對於 Web 畫布應用程式的數目限制為三個,對於平板電腦和電話外形規格的數目限制為一個。」
- 若要啟用或停用內嵌畫布應用程式,請參閱啟用內嵌畫布應用程式和停用內嵌畫布應用程式。
- 我們建議您在每個表單索引標籤上使用單一內嵌畫布應用程式。
- 將內嵌畫布應用程式新增至模式導向表單時,永遠會使用保證有值的必要資料行。 如果您的資料行沒有值,內嵌畫布應用程式將不會重新整理來回應任何主模型導向表單上的資料變更。
- 發佈模型導向表單並不會同時發佈內嵌畫布應用程式。
- 必須單獨發行內嵌畫布應用程式,這與主模型導向表單無關。 其他資訊:發佈應用程式。
- 如果透過畫布應用程式控制項屬性中的自訂按鈕開啟 Power Apps Studio 來建立或編輯內嵌畫布應用程式,但此動作遭到網頁瀏覽器快顯封鎖程式阻擋時,您必須啟用 make.powerapps.com 網站,或暫時停用快顯封鎖程式,然後再次選取自訂。
- 建立新的資料列時,由於需要將資料列內容傳送給內嵌畫布應用程式,因此不會顯示這些應用程式。
- ModelDrivenFormIntegration.Item 物件為唯讀。
- 若要將資料重新寫入,您必須使用 Dataverse 連接器。 其他資訊:Microsoft Dataverse
- 內嵌畫布應用程式只能透過主模型導向表單來建立。
- 查看具有內嵌畫布應用程式的模型導向表單時,如果錯誤訊息顯示「您無權存取此應用程式,請要求其負責人與您共用」,請確認作者已與您共用內嵌畫布應用程式。 其他資訊:共用內嵌畫布應用程式。
- 在子格控制項上新增畫布應用程式的功能已無法使用。
- 在預覽版本中,製作者可以在子格控制項上新增畫布應用程式。 由於內嵌在模型導向表單上的畫布應用程式現已正式運作,在模型導向表單上新增內嵌畫布應用程式的功能已簡化為資料行。
- 這樣就讓製作者工作起來更輕鬆,因為他們不需要預先決定要傳遞的是做為資料內容的目前 (主要表單) 資料列,還是與目前 (主要表單) 資料列相關的資料列清單。
- 製作者一律從資料行開始著手,不論是目前 (主要表單) 資料列還是與目前 (主要表單) 資料列相關的資料列清單都可加以存取。
- 若要在畫布應用程式中存取相關資料列清單,製作者可以使用 Dataverse 連接器和篩選 函數,並在畫布應用程式中啟用改善資料來源體驗和 Dataverse 檢視表功能。
例如,若要存取連絡人資料表的使用中連絡人檢視表,製作者可以使用:Filter(Contacts, 'Contacts (Views)'.'Active Contacts')。 - 使用子格控制項的現有畫布應用程式仍將繼續運作。 但是,建議您移轉這些應用程式以改用資料行。 其他資訊:在使用與目前 (主要表單) 資料列相關之資料列清單的模型導向表單上,移轉內嵌畫布應用程式。
啟用內嵌畫布應用程式
- 選取已自訂顯示為內嵌畫布應用程式的資料行。
- 在資料行屬性對話方塊中,選取控制項索引標籤。
- 在控制項清單中,選取畫布應用程式,然後選取 Web 選項。
- 選取確定。
停用內嵌畫布應用程式
- 選取已自訂顯示為內嵌畫布應用程式的資料行。
- 在資料行屬性對話方塊中,選取控制項索引標籤。
- 在控制項清單中,選取預設控制項,然後選取 Web 選項。
- 選取確定。
在內嵌畫布應用程式中儲存資料
- 由模型導向應用程式所建立的儲存事件 (例如,在主要表單命令列上選取 [儲存] 按鈕),並不會儲存在內嵌畫布應用程式中所做的變更。
- 若要儲存在內嵌畫布應用程式中所做的變更,請使用 Dataverse 連接器。
- ModelDrivenFormIntegration 控制項 OnDataRefresh 動作應只用於重新整理內嵌入式畫布應用程式中的資料。 不建議使用 OnDataRefresh 動作來儲存內嵌畫布應用程式中的變更。
內嵌畫布應用程式的已知問題和限制
限制
- 僅支援畫布應用程式自訂控制項與網頁用戶端類型搭配使用。 目前不支援手機和平板電腦用戶端類型。
- 無法使用資訊安全角色中的畫布應用程式權限來授與應用程式使用者存取內嵌或獨立畫布應用程式的權限。 如需有關共用內嵌畫布應用程式的詳細資訊,請移至:共用內嵌畫布應用程式。
- 如果您將主模型導向表單正在顯示的相同資料重新寫入,則表單在重新整理之前,都還是會繼續顯示舊的資料。 執行此動作的簡單方式是使用 RefreshForm 方法。
- 內嵌畫布應用程式不支援離線和裝置功能控制項,例如條碼掃描、從裝置擷取照片或附加檔案。
ModelDrivenFormIntegration 控制項未提供相關資料表的資料行值
例如,將 ModelDrivenFormIntegration 控制項連接至帳戶表時,使用 ModelDrivenFormIntegration.Item.’Primary Contact’.’Full Name’ 將不會傳回值。
若要存取相關資料表的資料行,製作者可以使用下列任一運算式:
- LookUp(Accounts, Account = GUID(First(ModelDrivenFormIntegration.Data).ItemId)).'Primary Contact'.'Full Name'
- ItemId 在製作期間是空的,但在執行階段則有值。
- LookUp(Accounts, Account = ModelDrivenFormIntegration.Item.Account).'主要連絡人'.'全名' (此運算式較容易讀懂,但先前的運算式執行起來稍微好一點)。
內嵌畫布應用程式無法正確呈現
您可以建立回應性畫布應用程式,這是指應用程式自動對齊不同畫面大小和外形規格,以合理使用可用畫面空間的能力。 我們會根據您的應用程式是否建構為回應式,而建議不同的設定,以確保您的畫布應用程式可以在模型導向應用程式表單上的欄位中正確呈現。 如果您的畫布應用程式周圍有多餘空白或捲軸,我們建議您在應用程式中檢查以下內容。
如果是回應式應用程式:
- 停用縮放到適當大小選項。 這允許您的應用程式根據您為應用程式設定的尺寸和屬性進行縮放。 內嵌畫布應用程式可能無法在模型導向應用程式表單上的欄位內正確呈現,例如畫布應用程式周圍的多餘空白或捲軸。
對於非回應式應用程式:
- 建議您啟用縮放到適當大小選項。 這有助於應用程式調整大小以適應可用空間。
在這兩種情況下,請確定應用程式名稱屬性值已在內嵌畫布應用程式控制項中設定和正確定義。
內嵌畫布應用程式未遵循高度
畫布應用元件不考慮表單欄位高度屬性。 嵌入時,畫布應用程式元件的尺寸會遵循畫布應用程式中設定的外觀比例。 因為外觀比例是固定的,所以畫布應用程式元件的高度是相對於應用程式的寬度計算的。 應用程式的寬度是根據模型導向應用程式中可用的水平空間來決定。 如果您要調整畫布應用程式元件的高度,建議您自訂畫布應用程式的外觀比例。 請注意,若要自訂外觀比例,則應用程式必須在平板電腦版面配置中。
啟用配合調整大小
根據預設,畫布應用程式會啟用縮放至適當比例選項。
- 在模型導向應用程式表單上開啟您要內嵌的畫布應用程式以進行編輯。
- 在 Power Apps Studio,選取檔案 > 設定 > 螢幕大小 + 方向。
- 在進階設定下,將配合調整大小設為開啟。
應用程式名稱屬性值遺失或定義不正確
若要解決此問題,請選擇正確的選項:
受管理的解決方案:如果將解決方案作為受管理解決方案匯入環境中,請按照下列步驟作業:
登入 Power Apps,然後移至最初建立內嵌畫布應用程式的開發環境。 這也是解決方案匯出的環境。
開啟包含畫布應用程式的未受管理解決方案,然後在解決方案元件清單中找到該畫布應用程式。 複製顯示在元件清單上的畫布應用程式名稱。 例如,contoso_flooringestimatesapp_624d7。
在相同的解決方案中,編輯具有內嵌畫布應用程式控制項的模型導向應用程式,然後使用先前步驟中的值將畫布應用程式名稱設為內嵌畫布應用程式控制項。 詳細資訊:在模型導向表單上新增內嵌畫布應用程式
從開發環境中匯出解決方案,然後將解決方案匯入您的目標環境。
未受管理的解決方案:如果將解決方案作為未受管理的解決方案匯入環境中,請編輯具有內嵌畫布應用程式控制項的模型導向應用程式,然後按照受管理解決方案中所述的類似步驟設定畫布應用程式名稱屬性。
內嵌畫布應用程式控制項從不同的環境載入畫布應用程式
當包含具有內嵌畫布應用程式之模型導向應用程式的解決方案匯入目標環境時,該控制項會從來源環境 (匯出解決方案的位置) 載入畫布應用程式。 該控制項應從目標 (目前) 環境載入畫布應用程式。
發生此問題的原因是應用程式使用者無權讀取目標 (目前) 環境中的 CanvasApp 擴充中繼資料資料表。 若要解決此問題,請將使用者新增至對 CanvasApp 擴充中繼資料資料表具有讀取權限之應用程式使用的資訊安全角色。 其他資訊:授與 CanvasApp 擴充中繼資料資料表的讀取權限
錯誤訊息:「您沒有畫布應用程式實體的讀取權限。 請連絡您的管理員」
錯誤訊息會顯示在模型導向應用程式表單上,內嵌畫布應用程式應該出現在該表單上。
發生此問題的原因是應用程式使用者無權讀取 CanvasApp 擴充中繼資料資料表。 若要解決此問題,請將使用者新增至對 CanvasApp 擴充中繼資料資料表具有讀取權限之應用程式使用的資訊安全角色。
授與 CanvasApp 擴充中繼資料資料表的讀取權限
- 在 Power Apps 中,選取環境,然後選取左導覽窗格中的應用程式。
- 選取所需的應用程式,選取 …,然後選取共用。
- 在左窗格中,選取應用程式,然後選取管理資訊安全角色。
- 開啟指派給應用程式的資訊安全角色,例如基本使用者資訊安全角色。
- 選取自訂實體索引標籤,並設定 CanvasApp 擴充中繼資料資料表的組織範圍讀取權限。
- 選取儲存並關閉以關閉資訊安全角色視窗。
請參閱
在模型導向表單上內嵌畫布應用程式
在模型導向表單上新增內嵌畫布應用程式
編輯模型導向表單內嵌的畫布應用程式
自訂內嵌於模型導向表單之畫布應用程式的畫面大小及方向
從內嵌畫布應用程式中,對主控件表單執行預先定義的動作
ModelDrivenFormIntegration 控制項的屬性及動作
共用內嵌的畫布應用程式
將使用公開預覽版本所建立之模型導向表單上的內嵌畫布應用程式移轉至最新版本