共用方式為


命令行上的按鈕無法在Power Apps中正常運作

適用於: Power Apps
原始 KB 編號: 4552163

判斷按鈕無法正確運作的原因

有數個因素可能會導致按鈕動作失敗。 其中包括無效的功能區自定義,其中按鈕的相關聯命令定義未正確宣告。

警告

請勿從命令移除 Mscrm.HideOnModern 顯示規則,強制按鈕出現在整合介面中。 具有顯示規則的 Mscrm.HideOnModern 命令適用於舊版 Web 用戶端介面,且統一介面不支援。 因此,它們可能無法正常運作。

如果命令未正確宣告,則選取按鈕可能不會執行任何動作或顯示錯誤訊息。

選取下列最符合您情況的選項之一,以協助我們提供最佳的解決方案。 默認會選取第一個索引標籤。

修正在選取時不會執行任何動作的按鈕

選取按鈕且不會發生任何動作時,這通常是由與按鈕相關聯的命令設定不正確所造成。

以下是宣告JavaScriptFunction動作時所犯的一般命令組態錯誤。 這些錯誤可能會導致按鈕故障,似乎在選取時不會執行任何動作。

  • 無效的 FunctionName:JavaScript 函式的名稱與指派給 Library 屬性的 JavaScript Web 資源中的有效函式名稱不符。
  • 不合法的連結庫:此路徑未參考有效的 JavaScript Web 資源,或前面未加上 $webresource:
  • 遺漏參數:JavaScript 函式需要特定的參數,而且命令定義不會宣告它們。
  • 參數類型或順序不正確:參數是使用不正確的類型來宣告,或順序與 JavaScript 函式宣告中所列的參數順序不同。

如需更多設定說明, 請參閱定義功能區動作

如果這些設定正確,則 JavaScript 程式代碼錯誤可能是原因。 如果自定義 JavaScript 函式編碼不正確,而且不會叫用預期的行為,按鈕將無法如預期般運作。 如果您發現其中一個列出的組態錯誤,請修正命令定義以解決問題。 否則,您可能必須偵錯並修正 JavaScript 函式程式碼,讓按鈕正常運作。

識別按鈕命令是什麼,以及哪個解決方案安裝了錯誤的定義。

  1. 啟用命令檢查程式,然後選取要檢查的命令按鈕。

  2. 選取 [ 命令屬性] 索引標籤,以顯示此按鈕的命令詳細數據。

    按鈕 [命令屬性] 索引標籤的螢幕快照。

  3. [命令屬性] 索引標籤會顯示動作和對應的JavaScriptFunction組態。 選取命令名稱下方的 [ 檢視命令定義方案層] 連結,以檢視已安裝命令定義的解決方案。

    命令名稱下方 [檢視命令定義方案層] 連結的螢幕快照。

  4. [解決方案層] 窗格會顯示已安裝特定解決方案的每個功能區元件定義的分層。 清單頂端的圖層是應用程式所使用的目前定義。 其他層為非使用中,目前應用程式不會使用。 如果卸載最上層解決方案,或已安裝移除定義的更新版本,則下一層會變成應用程式所使用的目前使用中定義。 如果存在非受控 作用中 解決方案層,它一律會是應用程式所使用的定義。 如果沒有列出的作用中解決方案,則清單頂端所列的解決方案將會是應用程式所使用的定義。 任何未由Microsoft發行的自定義受控解決方案,也會優先於Microsoft發行的解決方案層。

    Entity 內容指出功能區自定義已開啟的物件。 如果列出「所有實體」,則圖層來自應用程式功能區用戶端延伸模組,而非實體特定。 否則,將會列出實體的邏輯名稱。

    當有兩個以上的圖層時,您可以選取兩個數據列,然後選取 [比較 ] 以檢視每個解決方案所提供的定義比較。

    選取 [上 一頁] 會返回上一個 [命令檢查程式] 視窗。

    如果只有一個解決方案層,請移至步驟 8。 否則,請選取前兩個解決方案層。 (如果您有作用中解決方案中的圖層,但未列在頂端,請選取 [作用中] 解決方案層,然後選取頂端數據列。然後,選取 [ 比較]。

    選取前兩個解決方案層的螢幕快照,然後選取 [比較] 選項。

  5. 會顯示目前使用中定義和先前非使用中定義的比較,如果有任何差異,則會顯示差異。 下列範例顯示非受控 Active 定義是藉由 FunctionName 指定值不正確來自定義,與Microsoft發佈系統解決方案層中的其他非使用中定義相比。 值 FunctionName 必須是 XrmCore.Commands.Delete.deletePrimaryRecord,但自訂定義已宣告 FunctionName="deletePrimaryRecord"。 在此情況下,因為找不到函式,因此選取按鈕時不會發生任何動作。

    此螢幕快照顯示目前使用中定義和先前非使用中定義的比較。

  6. 修正按鈕動作功能所需的方法,將取決於您特定案例中的各種自定義。 考慮到範例,命令是藉由指定不正確的 FunctionName 值來自定義。 您可以修改命令的自定義版本,並修正 FunctionName 值。 因為這是Microsoft發佈定義的自定義覆寫,而且沒有其他刻意修改,因此建議您刪除此命令的這個自定義版本,以還原預設功能。

選取下列其中一個修復選項。

選項 1:刪除具有不正確 JavaScriptFunction 宣告的命令
此命令位於 Unmanaged Active 解決方案中。

若要刪除 Active Unmanaged 解決方案層中的命令,您將匯出包含實體或應用程式功能區的 Unmanaged 方案,並編輯<RibbonDiffXml>customizations.xml檔案中的節點,然後匯入這個解決方案的新版本,其中已移除此命令以刪除元件。 請參閱 匯出、準備編輯和匯入功能區

此命令是實體特定的

根據範例案例,您判斷實體是帳戶,必須刪除的命令是 Mscrm.DeletePrimaryRecord,而且它會從名為DefaultPublisherCITTest的發行者,在Active Unmanaged解決方案層中宣告。

  1. 開啟 [ 進階設定]。

  2. 瀏覽至設定>解決方案

  3. 選取 [新增] 以建立新的方案,並將 [發行者] 設定為命令和作用中解決方案層的 [命令檢查程式] 解決方案層列表中顯示的值。 (在此範例中,這是 DefaultPublisherCITTest.)

  4. 選取 [實體>新增現有]。

  5. 選取您命令在 上定義的實體(在此範例中,這是「帳戶」),然後選取 [ 確定]。

  6. 請確定您清除 [包含實體元數據 ] 和 [新增所有資產] 選項,再選取 [ 完成]。

  7. 選取儲存

  8. 選取 [導出解決方案],然後匯出 Unmanaged 解決方案。

  9. 解壓縮 .zip 檔。

  10. 開啟customizations.xml檔案。

  11. <Entity>找出您要編輯之實體節點的節點子節點,並找出其子<RibbonDiffXml>節點。

  12. <CommandDefinition>找出節點。 (在此範例中,節點的 <CommandDefinition> 標識碼為 Mscrm.DeletePrimaryRecord。因此,您會找到下列節點。

    顯示 CommandDefinition 節點位置的螢幕快照。

  13. <RibbonDiffXml>編輯節點以移除具有您要刪除之命令標識碼的特定<CommandDefinition>節點。 請確定您不小心刪除可能存在的其他 <CommandDefinition> 節點。 (根據範例,您會刪除 <CommandDefinition> 標識碼為 Mscrm.DeletePrimaryRecord的節點。

    刪除 CommandDefinition 節點的螢幕快照。

  14. 儲存 customizations.xml 檔案。

  15. 將修改 過的 customizations.xml檔案還原至方案.zip檔案。

  16. 匯入方案檔。

  17. 選取發佈所有自訂

命令位於應用程式功能區中(適用於「所有實體」)

如果命令不是實體專屬,但改為適用於應用程式功能區中宣告的「所有實體」,則步驟會稍有不同,如下所示:

  1. 開啟 [ 進階設定]。
  2. 瀏覽至設定>解決方案
  3. 選取 [新增] 以建立新的方案,並將 [發行者] 設定為命令和作用中解決方案層的 [命令檢查程式] 解決方案層列表中顯示的值。
  4. 選取 [用戶端延伸模組>][新增現有的>應用程式功能區]。
  5. 選取儲存
  6. 選取 [導出解決方案],然後匯出 Unmanaged 解決方案。
  7. 解壓縮 .zip 檔。
  8. 開啟customizations.xml檔案。
  9. 找出根 <RibbonDiffXml> 節點。
  10. <CommandDefinition>找出節點。
  11. <RibbonDiffXml>編輯 ,並移除<CommandDefinition>具有您要刪除之命令標識碼的節點。 請確定您不小心刪除可能存在的其他 <CommandDefinition> 節點。
  12. 儲存 customizations.xml 檔案。
  13. 將修改 過的 customizations.xml檔案還原至壓縮的解決方案.zip檔案。
  14. 匯入方案檔。
  15. 選取發佈所有自訂
此命令來自我公司撰寫的自定義受控解決方案。

若要刪除您所建立之自定義受控解決方案所安裝的命令,請遵循下列步驟:

  1. 在具有自定義解決方案非受控來源版本的個別開發組織中,完成上述命令 的步驟位於 Unmanaged Active solution 選項中。
  2. 遞增自定義解決方案的版本。
  3. 將解決方案導出為受控。
  4. 在您的個別受影響的組織中,匯入這個新版的自定義受控解決方案。
此命令來自我的公司未撰寫的自定義受控解決方案(來自第三部分或ISV)。

若要刪除由第三方或ISV所建立的自定義受控解決方案所安裝的命令,您必須連絡解決方案的作者,要求移除特定命令定義的新版本解決方案,然後在受影響的組織中安裝這個新解決方案。

選項 2:修正命令 JavaScriptFunction 宣告
此命令位於 Unmanaged Active 解決方案中。

若要修正 Active Unmanaged 解決方案層中的命令,您將匯出包含實體或應用程式功能區的 Unmanaged 方案、編輯<RibbonDiffXml>customizations.xml檔案中的節點,然後匯入包含固定命令定義的新版此解決方案。 請參閱 匯出、準備編輯和匯入功能區

警告

請勿從命令移除 Mscrm.HideOnModern 顯示規則,強制按鈕出現在整合介面中。 具有顯示規則的 Mscrm.HideOnModern 命令適用於舊版 Web 用戶端介面,且統一介面中不支援,而且可能無法正常運作。

此命令是實體特定的

根據範例案例,您判斷實體是帳戶,必須修正的命令是 Mscrm.DeletePrimaryRecord,而且它會從名為DefaultPublisherCITTest的發行者,在Active Unmanaged解決方案層中宣告。

  1. 開啟 [ 進階設定]。

  2. 瀏覽至設定>解決方案

  3. 選取 [新增] 以建立新的方案,並將 [發行者] 設定為命令和作用中解決方案層的 [命令檢查工具] 解決方案層列表中顯示的值。 (在此範例中,這是 DefaultPublisherCITTest.)

  4. 選取 [實體>新增現有]。

  5. 選取您命令在 上定義的實體(在此範例中,這是 帳戶),然後選取 [ 確定]。

  6. 請確定您清除 [包含實體元數據 ] 和 [新增所有資產] 選項,再選取 [ 完成]。

  7. 選取儲存

  8. 選取 [導出解決方案],然後匯出 Unmanaged 解決方案。

  9. 解壓縮 .zip 檔。

  10. 開啟customizations.xml檔案。

  11. <Entity>找出您要編輯之實體節點的節點子節點,並找出其子<RibbonDiffXml>節點。

  12. <CommandDefinition>找出節點。 (在此範例中,節點的 <CommandDefinition> 標識碼為 Mscrm.DeletePrimaryRecord。因此,您會找到下列節點。

    此螢幕快照顯示範例 CommandDefinition 節點的位置。

  13. <RibbonDiffXml>編輯節點,並對節點進行必要的變更<CommandDefinition>,以便命令在正確情況下正確運作,以修正命令。 如需如何宣告命令的詳細資訊,請參閱 定義功能區命令定義功能區動作。 (根據範例,您會將 值設定FunctionNameXrmCore.Commands.Delete.deletePrimaryRecord來修改<CommandDefinition>節點JavaScriptFunction的 。

    藉由設定 FunctionName 值來修改 CommandDefinition 節點 JavaScriptFunction 的螢幕快照。

  14. 將修改 過的 customizations.xml檔案還原至方案.zip檔案。

  15. 匯入方案檔。

  16. 選取發佈所有自訂

命令位於應用程式功能區中(適用於「所有實體」)

如果命令不是實體專屬,但改為適用於應用程式功能區中宣告的「所有實體」,則步驟會稍有不同,如下所示:

  1. 開啟 [ 進階設定]。
  2. 瀏覽至設定>解決方案
  3. 選取 [新增] 以建立新的方案,並將 [發行者] 設定為命令和作用中解決方案層的 [命令檢查程式] 解決方案層列表中顯示的值。
  4. 選取 [用戶端延伸模組>][新增現有的>應用程式功能區]。
  5. 選取儲存
  6. 選取 [導出解決方案 ],然後匯出 Unmanaged 解決方案。
  7. 解壓縮 .zip 檔。
  8. 開啟customizations.xml檔案。
  9. 找出根 <RibbonDiffXml> 節點。
  10. <CommandDefinition>找出 。
  11. <RibbonDiffXml>編輯節點,以對節點進行必要的變更<CommandDefinition>,讓命令在正確的情況下正確運作,以修正命令。 如需如何宣告命令的詳細資訊,請參閱 定義功能區命令定義功能區動作
  12. 儲存 customizations.xml 檔案。
  13. 將修改 過的 customizations.xml檔案還原至壓縮的解決方案.zip檔案。
  14. 匯入方案檔。
  15. 選取發佈所有自訂
此命令來自我撰寫的自定義受控解決方案。

若要修正您所建立之自定義受控解決方案所安裝的命令,請遵循下列步驟:

  1. 在具有自定義解決方案非受控來源版本的個別開發組織中,完成上述命令 的步驟位於 Unmanaged Active solution 選項中。
  2. 遞增自定義解決方案的版本。
  3. 將解決方案導出為受控。
  4. 在您的個別受影響的組織中,匯入這個新版的自定義受控解決方案。
此命令來自我未撰寫的自定義受控解決方案,或我的組織未擁有 (來自第三方/ISV)。

若要修正由第三方或ISV所建立的自定義受控解決方案所安裝的命令,您必須連絡解決方案的作者,要求包含固定命令定義的新版本解決方案,並在受影響的組織中安裝這個新解決方案。

我收到腳本錯誤訊息:「無效的 JavaScript 動作連結庫」](#tab/錯誤)

修正在選取時顯示錯誤的按鈕

如果選取功能區命令行按鈕併發生錯誤,錯誤通常是由不正確的功能區 命令 自定義所造成。

修正文本錯誤「無效的 JavaScript 動作連結庫」

您可能會收到類似下列的文稿錯誤訊息:

無效的 JavaScript 動作連結庫:[腳本名稱] 不是 Web 資源,不支援。

此螢幕快照顯示文稿錯誤訊息的範例。

這是由在命令 JavaScriptFunction上宣告不正確連結庫的功能區命令自定義所造成。

  1. 啟用命令檢查程式,然後選取要檢查的命令按鈕。

  2. 下列範例顯示 帳戶實體窗體頁面上的 [新增 ] 按鈕可見,並以標示 為 New 的專案表示。

    此螢幕快照顯示帳戶實體窗體頁面上的 [新增] 按鈕。

  3. 選取 [ 命令屬性] 索引標籤,以顯示此按鈕的命令詳細數據。 這會顯示 Actions 和 JavaScriptFunction 宣告,以及任何啟用或顯示規則,以及每個規則評估的結果 (TrueFalseSkipped) 。

    選取 「chevron」 圖示以檢視函式宣告的詳細數據,以展開 JavaScriptFunction。 Library 屬性必須是 JavaScript Web 資源,且前面加上 $webresource:。 下列範例顯示 Library 屬性為 _/_static/common/scripts/RibbonActions.js。 這不是有效的 JavaScript Web 資源路徑。 接下來,您應該檢閱 命令的解決方案層,以嘗試識別正確的值來修正問題。

    此螢幕快照顯示 Library 屬性的範例。

  4. 選取命令名稱下方的 [ 檢視命令定義方案層] 連結,以檢視已安裝命令定義的解決方案。

    命令名稱下方 [檢視命令定義方案層] 連結的螢幕快照。

  5. [解決方案層] 窗格會顯示已安裝特定解決方案的每個功能區元件定義的分層。 清單頂端的圖層是應用程式所使用的目前定義,其他層為非使用中,目前應用程式不會使用。 如果卸載最上層解決方案,或已安裝移除定義的更新版本,則下一層會變成應用程式所使用的目前使用中定義。 當非受控 作用 中解決方案層存在時,它一律會是應用程式所使用的定義。 如果沒有列出的作用中解決方案,則清單頂端所列的解決方案將會是應用程式所使用的定義。 任何未由Microsoft發行的自定義受控解決方案,也會優先於Microsoft發行的解決方案層。

    實體內容指出功能區自定義所開啟的物件,如果列出「所有實體」,則圖層來自應用程式功能區用戶端延伸模組,而非實體特定,否則會列出實體的邏輯名稱。

    當有兩個以上的圖層時,您可以選取兩個數據列,然後選取 [比較 ] 以檢視每個解決方案引進的定義比較。

    選取 [上一頁 ] 會返回上一個 [命令檢查程式] 視窗。

    下圖顯示範例中 命令的解決方案層,並指出有兩個解決方案層,一個是名為 Active 的解決方案所表示的 Unmanaged 自定義,另一個則來自由 Microsoft 發佈的系統解決方案。 您的實際案例可能不同,您可能沒有作用中解決方案層、可能有受控解決方案,且該解決方案的名稱將會列在這裡。

    選取前兩個數據列,然後選取 [比較 ] 以檢視每個解決方案引進的定義比較。 如果您只有一個解決方案層,則會略過此步驟。

    選取前兩個數據列的螢幕快照,然後選取 [比較] 選項以檢視定義的比較。

  6. 命令定義之間的比較會顯示兩個圖層之間可能存在的任何差異。 下列範例清楚顯示 Library 值不同。 Active 解決方案中的 Unmanaged 專案會設定為不正確的路徑 _/_static/common/scripts/RibbonActions.js (您的特定路徑可能稍有不同),而來自 Microsoft 的預設定義已將連結庫設定為 $webresoure:Main_system_library.js。 這是這個特定命令的支持路徑(此值可能不同,視您的特定命令而定)。 唯一支持的路徑是以 開頭 $webresource: ,並以有效的 JavaScript Web 資源名稱結尾。

    顯示連結庫值不同之範例的螢幕快照。

  7. 既然您已檢閱解決方案層,並判斷已安裝自定義的方案,您必須在適當的解決方案中修正定義。

選取符合您特定案例的下列其中一個選項:

此命令位於 Unmanaged Active 解決方案中。

修正命令的方法會因您的定義是唯一的,或是否有其他非使用中定義,以及變更是否刻意而有所不同。

選取反映您案例的選項:

  • 命令沒有任何刻意修改,而且我想移除這個自定義層。

    若要刪除 Active Unmanaged 解決方案層中的命令,您將匯出包含實體或應用程式功能區的 Unmanaged 方案、編輯<RibbonDiffXml>customizations.xml檔案中的節點,然後匯入已移除此命令的新版本此解決方案,以刪除元件。 請參閱 匯出、準備編輯和匯入功能區

    此命令是實體特定的

    根據範例案例,您判斷實體是帳戶,必須刪除的命令是 Mscrm.NewRecordFromForm,而且它會從名為DefaultPublisherCITTest的發行者,在Active Unmanaged解決方案層中宣告。

    1. 開啟 [ 進階設定]。

    2. 瀏覽至設定>解決方案

    3. 選取 [新增] 以建立新的方案,並將 [發行者] 設定為命令和作用中解決方案層的 [命令檢查程式] 解決方案層列表中顯示的值。 (在此範例中,這是 DefaultPublisherCITTest.)

    4. 選取 [實體>新增現有]。

    5. 選取您命令所定義的實體。 (在此範例中,這是 帳戶),然後選取 [ 確定]。

    6. 請確定您清除 [包含實體元數據 ] 和 [新增所有資產] 選項,再選取 [ 完成]。

    7. 選取儲存

    8. 選取 [導出解決方案],然後匯出 Unmanaged 解決方案。

    9. 解壓縮 .zip 檔。

    10. 開啟customizations.xml檔案。

    11. <Entity>找出您要編輯之實體節點的節點子節點,並找出其子<RibbonDiffXml>節點。

    12. <CommandDefinition>找出節點 (在這裡範例中,的識別碼<CommandDefinition>Mscrm.NewRecordFromForm。因此,您會找到下列節點。

      CommandDefinition 節點位置的螢幕快照。

    13. <RibbonDiffXml>編輯節點以移除特定<CommandDefinition>節點。 請確定您不小心刪除可能存在的其他 <CommandDefinition> 節點。 (根據範例,您會刪除 <CommandDefinition> 標識碼為 Mscrm.NewRecordFromForm的節點。

      此螢幕快照顯示刪除 CommandDefinition 節點的範例。

    14. 儲存 customizations.xml 檔案。

    15. 將修改 過的 customizations.xml檔案還原至方案.zip檔案。

    16. 匯入方案檔。

    17. 選取發佈所有自訂

    命令位於應用程式功能區中(適用於「所有實體」)

    如果命令不是實體專屬,但改為適用於應用程式功能區中宣告的「所有實體」,則步驟會稍有不同,如下所示:

    1. 開啟 [ 進階設定]。
    2. 瀏覽至設定>解決方案
    3. 選取 [新增] 以建立新的方案,並將 [發行者] 設定為命令和作用中解決方案層的 [命令檢查程式] 解決方案層列表中顯示的值。
    4. 選取 [用戶端延伸模組>][新增現有的>應用程式功能區]。
    5. 選取儲存
    6. 選取 [導出解決方案],然後匯出 Unmanaged 解決方案。
    7. 解壓縮 .zip 檔。
    8. 開啟customizations.xml檔案。
    9. 找出根 <RibbonDiffXml> 節點。
    10. <CommandDefinition>找出節點。
    11. 編輯 <RibbonDiffXml> 以移除 <CommandDefinition> 具有您要刪除之命令相符標識碼的節點。 請確定您不小心刪除可能存在的其他 <CommandDefinition> 節點。
    12. 儲存 customizations.xml 檔案。
    13. 將修改 過的 customizations.xml檔案還原至壓縮的解決方案.zip檔案。
    14. 匯入方案檔。
    15. 選取發佈所有自訂
  • 此命令有想要保留的其他修改,而且想要修正此解決方案層。

    若要修正 Active Unmanaged 解決方案層中的命令,您將匯出包含實體或應用程式功能區的 Unmanaged 方案,並編輯<RibbonDiffXml>customizations.xml檔案中的節點,然後匯入包含固定命令定義的新版本此解決方案。 請參閱 匯出、準備編輯和匯入功能區

    警告

    請勿從命令移除 Mscrm.HideOnModern 顯示規則,強制按鈕出現在整合介面中。 具有顯示規則的 Mscrm.HideOnModern 命令適用於舊版 Web 用戶端介面,且統一介面中不支援,而且可能無法正常運作。

    此命令是實體特定的

    根據範例案例,您判斷實體是帳戶,必須修正的命令是 Mscrm.NewRecordFromForm,而且它會從名為DefaultPublisherCITTest的發行者,在Active Unmanaged解決方案層中宣告。

    1. 開啟 [ 進階設定]。

    2. 瀏覽至設定>解決方案

    3. 選取 [新增] 以建立新的方案,並將 [發行者] 設定為命令和作用中解決方案層的 [命令檢查工具] 解決方案層列表中顯示的值。 (在此範例中,這是 DefaultPublisherCITTest.)

    4. 選取 [實體>新增現有]。

    5. 選取您命令在 上定義的實體(在此範例中,這是 帳戶),然後選取 [ 確定]。

    6. 請確定您清除 [包含實體元數據 ] 和 [新增所有資產] 選項,再選取 [ 完成]。

    7. 選取儲存

    8. 選取 [導出解決方案],然後匯出 Unmanaged 解決方案。

    9. 解壓縮 .zip 檔。

    10. 開啟customizations.xml檔案

    11. <Entity>找出您要編輯之實體節點的節點子節點,並找出其子<RibbonDiffXml>節點。

    12. <CommandDefinition>找出節點。 (在此範例中,節點的 <CommandDefinition> 標識碼為 Mscrm.NewRecordFromForm。因此,您會找到下列節點。

      此螢幕快照顯示Id為 Mscrm.NewRecordFromForm 之 CommandDefinition 節點的位置。

    13. 編輯 <RibbonDiffXml> 以對節點進行必要的變更 <CommandDefinition> ,讓命令在正確的情況下正確運作,以修正命令。 如需如何宣告命令的詳細資訊,請參閱 定義功能區命令定義功能區動作。 (根據範例,您可以藉由設定 Library="$webresoure:Main_system_library.js"來修改<CommandDefinition>節點,然後確定FunctionName值相符。在範例中,這會是 FunctionName="XrmCore.Commands.Open.openNewRecord"。)

      修改 CommandDefinition 節點的螢幕快照,然後確定 FunctionName 值相符。

    14. 儲存 customizations.xml 檔案。

    15. 將修改 過的 customizations.xml檔案還原至方案.zip檔案。

    16. 匯入方案檔。

    17. 選取發佈所有自訂

    命令位於應用程式功能區中(適用於「所有實體」)

    如果命令不是實體特定的,而是適用於應用程式功能區中宣告的「所有實體」,則步驟會稍有不同,如下所示:

    1. 開啟 [ 進階設定]。
    2. 瀏覽至設定>解決方案
    3. 選取 [新增] 以建立新的方案,並將 [發行者] 設定為命令和作用中解決方案層的 [命令檢查程式] 解決方案層列表中顯示的值。
    4. 選取 [用戶端延伸模組>][新增現有的>應用程式功能區]。
    5. 選取儲存
    6. 選取 [導出解決方案],然後匯出 Unmanaged 解決方案。
    7. 解壓縮 .zip 檔。
    8. 開啟customizations.xml檔案。
    9. 找出根 <RibbonDiffXml> 節點。
    10. <CommandDefinition>找出節點。
    11. <RibbonDiffXml>編輯節點,以對節點進行必要的變更<CommandDefinition>,讓命令在正確的情況下正確運作,以修正命令。 如需如何宣告命令的詳細資訊,請參閱 定義功能區命令定義功能區動作
    12. 儲存 customizations.xml 檔案。
    13. 將修改 過的 customizations.xml檔案還原至壓縮的解決方案.zip檔案。
    14. 匯入方案檔。
    15. 選取發佈所有自訂
此命令來自我撰寫的自定義受控解決方案。

若要修正您所建立之自定義受控解決方案所安裝的命令,請遵循下列步驟:

  1. 在具有自定義解決方案非受控來源版本的個別開發組織中,完成上述命令 的步驟位於 Unmanaged Active solution 選項中。
  2. 遞增自定義解決方案的版本。
  3. 將解決方案導出為受控。
  4. 在您的個別受影響的組織中,匯入這個新版的自定義受控解決方案。
此命令來自我未撰寫的自定義受控解決方案,或我的組織未擁有 (來自第三方或ISV)。

若要修正由第三方或ISV所建立的自定義受控解決方案所安裝的命令,您必須連絡解決方案的作者,要求包含固定命令定義的新版本解決方案,然後在受影響的組織中安裝這個新解決方案。

此命令位於Microsoft發佈的受控解決方案中。

若要修正Microsoft發行的受控解決方案所安裝的命令,您可能需要安裝較新版本的解決方案。 這通常會在發行更新期間完成。 您有可能發現仍然必須修正的 Bug。 請連絡客戶支援以取得協助。