分享方式:


使用 URL 開啟表單、檢視表、對話方塊和報表

 

發佈日期: 2016年11月

適用對象: Dynamics CRM 2015

URL 可定址項目可讓您將 Microsoft Dynamics 365 表單、檢視表、對話方塊和報表的連結包含在其他應用程式中。 您可以透過這種方式,輕鬆地擴充其他應用程式、報表或網站,讓使用者不需要切換應用程式,就可以檢視資訊和執行動作。

備註

  • URL 可定址表單、檢視表、對話方塊和報表不會略過 Microsoft Dynamics 365 安全性。 只有授權的 Microsoft Dynamics 365 使用者,根據使用者的資訊安全角色,可以存取資料和看到記錄。

  • 使用 Web 資源,以程式設計方式開啟應用程式中的實體表單時,請使用 Xrm.Utility.openEntityForm。 請勿使用 window.open

  • 在應用程式外,頁面無法存取 Xrm.Utility.openEntityForm 函數,請使用 window.open 或連結開啟實體的特定記錄或表單。 整個應用程式會針對任何更新的實體開啟。

本主題內容

URL 可定址表單與檢視表

  • Main.aspx 頁面的查詢字串參數

  • 複製檢視表的 URL

  • 使用網站地圖,在應用程式導覽中顯示檢視表

使用 URL 開啟對話方塊程序

使用 URL 開啟報表

URL 可定址表單與檢視表

任何實體表單與檢視表都會在 main.aspx 頁面中顯示。 傳遞至此頁面的查詢字串參數控制要顯示的內容。 例如:

  • 若要開啟內部部署 Microsoft Dynamics 365 的新客戶實體記錄表單:

    http://mycrm/myOrg/main.aspx?etn=account&pagetype=entityrecord
    
  • 若要開啟 id 為 {91330924-802A-4B0D-A900-34FD9D790829} 的 Microsoft Dynamics CRM Online 客戶實體記錄表單:

    http://myorg.crm.dynamics.com/main.aspx?etn=account&pagetype=entityrecord&id=%7B91330924-802A-4B0D-A900-34FD9D790829%7D
    
  • 若要開啟 Microsoft Dynamics CRM Online 的 [關閉的商機] 檢視表:

    http://myorg.crm.dynamics.com/main.aspx?etn=opportunity&pagetype=entitylist&viewid=%7b00000000-0000-0000-00AA-000010003006%7d&viewtype=1039
    
  • 開啟 Microsoft Dynamics CRM Online 的 [現行連絡人] 檢視表且沒有導覽列或命令列

    http://myorg.crm.dynamics.com/main.aspx?etn=contact&pagetype=entitylist&viewid={00000000-0000-0000-00AA-000010001004}&viewtype=1039&navbar=off&cmdbar=false
    

備註

不支援使用 showModalDialogshowModelessDialog 在對話方塊視窗中開啟實體表單。

不支援在其他實體表單的內嵌 IFrame 中顯示實體表單。

您通常會使用 d7d0b052-abca-4f81-9b86-0b9dc5e62a66#BKMK_getClientUrl 方法擷取內部部署 Microsoft Dynamics 365 和 Microsoft Dynamics CRM Online 的組織根 URL。

Main.aspx 頁面的查詢字串參數

提示

若要取得任何記錄的 id 值,請使用命令列上的 [傳送連結] 按鈕。 下列範例示範將會在電子郵件應用程式中開啟的內容:

<http://mycrm/myOrg/main.aspx?etc=4&id=%7b899D4FCF-F4D3-E011-9D26-00155DBA3819%7d&pagetype=entityrecord>。

傳遞至 URL 的 id 參數是記錄的編碼 id 值。 在此範例中,id 值為 {899D4FCF-F4D3-E011-9D26-00155DBA3819}。 GUID 的編碼版本分別將左右括號「{」和「}」替代為「%7B」和「%7D」。

以下查詢字串參數用來在 main.aspx 頁面中開啟實體表單或檢視表:

參數

描述

etn

實體的邏輯名稱。

重要

請勿使用包含實體整數代碼的 etc (實體類型代碼) 參數。 對於不同組織中的自訂實體,這個整數代碼可能不相同。

extraqs

表單的選擇項。 此參數包含編碼參數。

使用此參數,將值傳遞至表單。 如需詳細資訊,請參閱使用傳遞至表單的參數設定欄位值

當實體有多個定義的表單時,您可以使用此參數指定開啟的表單,方式是透過傳遞值等於表單 ID 值的編碼參數 formid。 例如,若要開啟具有「6009c1fe-ae99-4a41-a59f-a6f1cf8b9daf」識別碼的表單,請將此值包含在 extraqs 參數中:formid%3D6009c1fe-ae99-4a41-a59f-a6f1cf8b9daf%0D%0A。

pagetype

頁面的類型。 有兩個可能值:

  • entityrecord

    顯示實體記錄表單。

  • entitylist

    顯示實體檢視表。

識別碼

表單的選擇項。 開啟特定實體記錄時,請使用此選項。 傳入實體的編碼 GUID 識別碼。 GUID 的編碼版本分別將左右括號「{」和「}」替代為「%7B」和「%7D」,例如 {91330924-802A-4B0D-A900-34FD9D790829} 為 %7B91330924-802A-4B0D-A900-34FD9D790829%7D。

viewid

檢視表的必要項。 這是定義檢視表之 savedqueryuserquery 實體記錄的識別碼。 取得檢視表 URL 最簡單的方式是複製。 如需詳細資訊,請參閱複製檢視表的 URL。

viewtype

定義檢視表類型。 可能的值如下:

  • 1039

    系統檢視表使用。viewid 代表 savedquery 記錄的識別碼。

  • 4230

    個人檢視表使用。viewid 代表 userquery 記錄的識別碼。

navbar

控制導覽列是否顯示,以及使用網站地圖中定義的區域和子區域時應用程式導覽是否可用。

  • on

    導覽列會顯示。 如果未使用 navbar 參數,這是預設行為。

  • off

    導覽列不會顯示。 使用者可以使用其他使用者介面元素或上一頁和下一頁按鈕進行瀏覽。

  • entity

    在實體表單,僅相關實體的導覽選項可供使用。 在瀏覽至相關實體後,導覽列會顯示上一頁按鈕,以供返回原始記錄。

cmdbar

控制命令列是否顯示。

備註

此功能支援 Unified Service Desk for Microsoft Dynamics 365 應用程式的需求。
不支援使用此功能,在其他實體表單的內嵌 IFrame 中顯示實體表單。

  • true

    命令列會顯示。 這是預設值。

  • false

    命令列會隱藏。

複製檢視表的 URL

在 Microsoft Dynamics 365 的許多檢視表可讓使用者複製特定檢視表的 URL 或以電子郵件傳送內嵌於郵件中特定檢視表的 URL。 此功能可讓使用者之間的通訊更加容易,而且可供存取使用者包含在其他應用程式中的檢視表的 URL,例如 SharePoint 網站。

備註

使用網站地圖時,請勿使用此 URL 將檢視表包含在應用程式導覽中。 如需詳細資訊,請參閱使用網站地圖,在應用程式導覽中顯示檢視表。

URL 顯示的頁面包含完整檢視。 這包含功能區,但不包括應用程式導覽。

取得檢視表的 URL

  1. 開啟要使用的檢視表。

  2. 在命令列上選擇 [傳送連結],然後選擇 [為目前檢視表]。

  3. 將連結貼至 記事本 並編輯它,只擷取想要的 URL 文字部分。

備註

  • 使用使用者內容做為參數的檢視表,例如 [我的客戶],無法複製。

  • 表示系統實體的系統檢視表的 GUID 對每個內部部署 Microsoft Dynamics 365 安裝都是相同。 每個 Microsoft Dynamics 365 安裝的自訂實體和自訂檢視表 GUID 都是唯一的。

使用網站地圖,在應用程式導覽中顯示檢視表

使用網站地圖自訂應用程式導覽時,請勿使用您依照複製檢視表的 URL的步驟設為 URL,從應用程式複製的檢視表 URL。 該 URL 顯示包含功能區的頁面,若用於 <SubArea> (SiteMap) Url 屬性時,會產生未預期的結果。

若要在應用程式中的 SubArea 顯示實體記錄清單,請設定 Entity 屬性值。 這會顯示該實體的預設檢視表並提供正確標題與圖示。

不過,如果您需要使用特定的初始預設檢視表的 SubArea 元素,請使用下列 Url 模式。

Url=“/_root/homepage.aspx?etn=<entity logical name >&amp;viewid=%7b<GUID value of view id>%7d”

當您使用 URL 時,也必須針對 <Titles> (SiteMap)<Descriptions> (SiteMap) 指定適當的值,以及指定實體圖示。

備註

若使用 /_root/homepage.aspx 頁面指定檢視表,檢視表選取器仍然會顯示。 如果使用者變更檢視表,Microsoft Dynamics 365 會記住使用者的最新選取,而且在關閉並重新開啟其瀏覽器之後初始預設檢視表會顯示。

使用 URL 開啟對話方塊程序

一般自訂是讓使用者在特定記錄內容中開啟特定對話方塊程序。 例如,您可能想使用目前記錄的 id 值為對話方塊程序的輸入參數,對特定實體新增自訂按鈕至功能區。

若要開啟對話方塊,您需要下列:

  • 對話方塊的唯一識別碼。

  • 為其建立對話方塊的實體邏輯名稱。

  • 為其執行對話方塊的記錄唯一識別碼。

提示

若要取得對話方塊的唯一識別碼,請巡覽至 [設定],並選取預設解決方案中的 [程序]。 選取程序,然後選取命令列上的 [動作],選擇 [複製連結]。 這會將編輯對話方塊的連結複製至剪貼簿,例如,[組織 URL]/sfa/workflow/edit.aspx?id=%7b6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976%7d。

下列範例示範啟動對話方塊的 URL 和查詢字串參數:

[organization url]/cs/dialog/rundialog.aspx?DialogId=[dialog unique identifier]&EntityName=[entity logical name]&ObjectId=[unique identifier for the record]

例如,若要啟動 id ={6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976} 與客戶記錄 id = {40C9ADFD-90A8-DF11-840E-00155DBA380F} 的對話方塊,請使用下列範例中的 URL。

[organization url]/cs/dialog/rundialog.aspx?DialogId=%7b6A6E93C9-1FE6-4C07-91A9-E0E2A7C70976%7d&EntityName=account&ObjectId=%7b40C9ADFD-90A8-DF11-840E-00155DBA380F%7d

提示

針對非 Internet Explorer 的瀏覽器,如果對話方塊程序是從連結開啟,[完成] 按鈕無法運作。 資料會儲存,但是使用者必須在視窗上選擇 [關閉] 按鈕關閉視窗。 這是因為如果視窗不是從其他視窗中利用 JavaScript 開啟,其他瀏覽器未提供 window.close 方法。 可能的話,請使用 JavaScript 和 window.open 方法開啟對話方塊程序,而不只是提供連結。

您可以建立 JavaScript 函數開啟對話方塊,如下列範例所示:

function openDialogProcess(dialogId, entityName, objectId)
{
 var url = Xrm.Page.context.getClientUrl() +
  "/cs/dialog/rundialog.aspx?DialogId=" +
  dialogId + "&EntityName=" +
  entityName + "&ObjectId=" +
  objectId;
 window.open(url);
}

使用 URL 開啟報表

您可以透過將適當的參數值傳遞至下列 URL,來開啟報表:[organization url]/crmreports/viewer/viewer.aspx。

此 URL 接受下列參數:

  • action
    此參數的兩個可能值是 runfilter。 如果使用 run,則會使用預設篩選來顯示報表。 當使用 filter 時,在選擇 [執行報表] 按鈕檢視報表之前,報表會向使用者顯示可編輯的篩選。

  • helpID
    這是選擇性參數。 對於包含在 Microsoft Dynamics 365 中的報表,此參數的值允許 [說明] 按鈕在 [本頁的說明] 已選取時顯示此報表適當的內容。 值必須對應到報表 FileName 屬性值。

  • 識別碼
    此參數是報表 ReportId 屬性值。

下列範例顯示可用來在 Microsoft Dynamics 365 中開啟報表的 URL。

  • 使用預設篩選開啟 [閒置案例] 報表:

    [organization url]/crmreports/viewer/viewer.aspx?action=run&helpID=Neglected%20Cases.rdl&id=%7b8c9f3e6f-7839-e211-831e-00155db7d98f%7d
    
  • 開啟 [常用知識庫文章] 報表,並提示使用者設定篩選值:

    [organization url]/crmreports/viewer/viewer.aspx?action=filter&helpID=Top%20Knowledge%20Base%20Articles.rdl&id=%7bd84ec390-7839-e211-831e-00155db7d98f%7d
    

下列函數顯示如何在 URL 中輸入正確的編碼值:

function getReportURL(action,fileName,id) {
 var orgUrl = GetGlobalContext().getClientUrl();
 var reportUrl = orgUrl + 
  "/crmreports/viewer/viewer.aspx?action=" +
  encodeURIComponent(action) +
  "&helpID=" +
  encodeURIComponent(fileName) +
  "&id=%7b" +
  encodeURIComponent(id) +
  "%7d";
 return reportUrl;
}

另請參閱

撰寫用戶端應用程式擴充功能
使用傳遞至表單的參數設定欄位值
設定表單以接受自訂查詢字串參數
使用 SiteMap 變更應用程式導覽
自訂命令和功能區
撰寫 Microsoft Dynamics CRM 2015 表單的程式碼
Microsoft Dynamics CRM 2015 的 Web 資源
使用 URL,啟動對話方塊

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權