分享方式:


在 Microsoft Dynamics 365 中匯入 SavedQuery 時發生錯誤

本文提供當您嘗試在 Microsoft Dynamics 365 中匯入解決方案時,可能會收到的錯誤訊息解決方案。

適用於:Microsoft Dynamics 365 Customer Engagement Online
原始 KB 編號: 4496853

徵狀

嘗試在 Microsoft Dynamics 365 中匯入解決方案時,您會遇到下列錯誤:

匯入解決方案:[方案名稱] 失敗。
錯誤碼 8004f016

錯誤對話框內的方格包含 Type = System Views 的數據列。 針對此資料列顯示的詳細資料文字如下:

受控解決方案無法覆寫目標系統上具有 Unmanaged 基底實例的 SavedQuery 元件。 此錯誤最可能的案例是 Unmanaged 解決方案已在目標系統上安裝新的 Unmanaged SavedQuery 元件,而來自相同發行者的受控解決方案現在正嘗試安裝與 Managed 相同的 SavedQuery 元件。 這會導致目標系統上的解決方案分層無效,且不允許。

下載 XML 記錄檔,並在 Excel 中開啟它。 在 [ 元件] 索引 標籤中,找出儲存格:0x8004F016。

在下一個資料行中,將會是包含元件識別碼的錯誤訊息:

受控解決方案無法以具有 Unmanaged 基底實例的 Id=[元件識別碼] 覆寫 SavedQuery 元件。 此錯誤最可能的案例是 Unmanaged 解決方案已在目標系統上安裝新的 Unmanaged SavedQuery 元件,而來自相同發行者的受控解決方案現在正嘗試安裝與 Managed 相同的 SavedQuery 元件。 這會導致目標系統上的解決方案分層無效,且不允許。

原因

如錯誤詳細數據中所述,此錯誤最可能的案例是已在目標組織中的默認解決方案上進行非受控自定義。 這會導致目標系統上的解決方案分層無效,且不允許。

範例:您的 Microsoft Dynamics 365 實例已經有一個元件,例如匯入非受控解決方案所建立的自定義儲存查詢。 如果您稍後嘗試使用相同的儲存查詢匯入受控解決方案,您將會遇到此錯誤。

解決方案

針對 [已儲存的查詢],您可以使用 Web API 查詢找到 Managed 元件,然後在目標中刪除:

  1. 開啟您組織的瀏覽器,然後複製索引標籤。

  2. 將 [來自錯誤的 GUID] 取代為記錄檔中錯誤訊息的 GUID,然後附加至您的組織:

    api/data/v9.1/savedqueries?$filter=savedqueryid eq '[來自錯誤的 GUID]'

    例如:

    https://MyOrganization.crm11.dynamics.com/api/data/v9.1/savedqueries?$filter=savedqueryid eq '1d0f4d57-6d49-e911-a98d-00224800ce20'

    這是輸出:

    {
    "@odata.etag": "W/\"5792499\"",
    "returnedtypecode": "css_testsqparent",
    "statecode": 0,
    "layoutxml": "<grid name=\"resultset\" icon=\"1\" preview=\"1\" select=\"1\" jump=\"css_name\" 
    object=\"10224\"><row id=\"css_testsqparentid\" name=\"result\"><cell name=\"css_name\" width=\"150\" />
    <cell name=\"css_testsqfield\" width=\"100\" /></row></grid>",
    "savedqueryid": "1d0f4d57-6d49-e911-a98d-00224800ce20",
    "description": "View to trigger 8004F016 named ",
    "createdon": "DateTime",
    "savedqueryidunique": "bdab33b7-18d0-45d6-9db9-6111afc1e444",
    "fetchxml": "<fetch mapping=\"logical\" output-format=\"xml-platform\" version=\"1.0\"><entity 
    name=\"css_testsqparent\"><attribute name=\"css_name\" /><order descending=\"false\" attribute=\"css_name\"
    /><attribute name=\"css_testsqfield\" /><attribute name=\"css_testsqparentid\" /></entity></fetch>",
    "isuserdefined": true,
    "name": "TestSQView","isdefault": false,
    "solutionid": "fd140aae-4df4-11dd-bd17-0019b9312238",
    "ismanaged": false,
    "versionnumber": 5792499,
    "introducedversion": "1.1.0.0",
    "querytype": 0,
    "statuscode": 1,
    "_modifiedby_value": "ba7ca8f4-5a68-4221-821c-5ca91b5f54ad",
    "modifiedon": "DateTime",
    
  3. 若要在目標組織中找到此元件,請流覽至 [設定>自定義][自定義>系統]。

  4. 選取 [實體 ],並依 [架構名稱] 排序。

  5. 在查詢輸出中找出 returntypecode 的實體。

  6. 開啟實體,然後選取 [ 檢視]

  7. 找出查詢輸出中名稱的 [名稱]。

  8. 刪除此檢視。

  9. 再次匯入解決方案。