使用 Xrm.Page 物件模型

 

發佈日期: 2016年11月

適用對象: Dynamics CRM 2015

當您撰寫表單指令碼,您與 Xrm.Page 命名空間中的物件互動,執行下列動作:

  • 取得或設定屬性值。

  • 顯示和隱藏使用者介面元素。

  • 參照每個屬性的多個控制項。

  • 存取每個實體的多個表單。

  • 操作表單導覽項目。

  • 與商務程序流程控制項進行互動。

如需其他範例,請參閱表單指令碼快速參考

本主題內容

Xrm.Page 物件階層

執行內容

集合

物件描述

  • 屬性

  • context

  • control

  • 實體

  • formSelector

  • navigation

  • 程序

  • 區段

  • 階段

  • step

  • 索引標籤

Xrm.Page 物件階層

如下圖所示,Xrm.Page 為下表說明的三個物件提供命名空間容器:

物件

描述

context

提供方法擷取查詢字串中傳遞至表單的組織、使用者或參數的特定資訊。

data

讓您存取實體資料和方法,以管理在表單資料以及商務程序流程控制項的資料

ui

包含方法擷取包含使用者介面資訊,以及表單的數個子元件的集合。

Xrm.Page 物件模型

執行內容

在您註冊事件處理常式的函數時,可選擇傳遞執行內容物件做為函數的第一個參數。 此物件包含方法,可讓您管理要與其他事件處理常式與儲存事件共用的變數。 如需詳細資訊,請參閱 執行內容 (用戶端參考)儲存事件引數 (用戶端參考)

集合

下表描述 Xrm.Page 物件模型集合。 請參閱集合 (用戶端參考)以取得集合適用之方法的資訊。

大量

描述

attributes

Xrm.Page.data.entity.attributes 集合讓您存取表單上每個實體屬性。 只有對應於表單上新增欄位的那些屬性可用。

controls

三個物件包含控制項集合:

ui.controls

Xrm.Page.ui.controls 集合讓您存取表單上的每個控制項。

attribute.controls

因為屬性在表單上可能有多個控制項,此集合讓您存取其中每個控制項。 除非屬性的多個控制項新增至表單,否則此集合只包含一個項目。

section.controls

此集合僅包含區段中的控制項。

navigation.items

Xrm.Page.ui.navigation.items 集合讓您存取使用表單編輯器的導覽區域所定義的導覽項目。 在 TechNet:更新的表單,使用者使用命令列瀏覽至這些項目。 在 TechNet:傳統表單,這些項目位於表單的左邊。

formSelector.items

當實體有多個表單時,您可以將每個表單與資訊安全角色相關聯。 當資訊安全角色與使用者相關聯,使其看到多個表單時,Xrm.Page.ui.formSelector.items 集合讓您存取該使用者可用的每個表單定義。

tabs

使用一個或多個索引標籤,您可以組織每個表單。Xrm.Page.ui.tabs 集合讓您存取這些索引標籤。

sections

使用一個或多個區段,您可以組織每個表單索引標籤。 索引標籤 sections 集合讓您存取這些區段。

商務程序流程集合

Xrm.Page.data.process 中階段與步驟的集合是根據相同集合結構,但也可在集合中新增或移除項目。

使用 程序.getStages 方法存取階段集合。 使用 階段.getSteps 方法存取步驟集合。

物件描述

每個物件擁有數個方法,用以擷取資料、取得或設定物件屬性或執行動作:

屬性

每個屬性對應至表單中新增當做欄位的實體屬性。 通常只有在表單中新增做為欄位的實體屬性可用。 欄位的每個執行個體為控制項。 欄位可以加入表單超過一次,建立參照同一個屬性的多個控制項。

備註

複合屬性有特殊行為。其他資訊:為複合屬性撰寫指令碼

屬性是根據類型進行分類。 使用 getAttributeType 方法,可決定屬性類型。

雖然所有屬性共用一些通用方法,但是某些方法只能用於特定屬性類型。 如需詳細資訊,請參閱Xrm.Page.data.entity 屬性 (用戶端參考)

備註

屬性類型資訊代表表單中屬性的行為。 它不一定對應至應用程式中定義的欄位類型或 AttributeMetadata 類型。 特定欄位類型的屬性可能依據其格式化而有不同行為。

下表列出每個屬性結構描述類型和格式選項的屬性類型字串預期值。

應用程式欄位類型

格式選項

屬性類型

貨幣

NA

money

日期及時間

日期及時間、只有日期

datetime

十進位數

NA

decimal

浮點數

NA

double

查詢

NA

lookup

多行文字

NA

memo

選項組

NA

optionset

單行文字

電子郵件、文字、股票看板代號、URL、電話

string

單行文字

文字區域

memo

狀態

NA

optionset

狀態原因

NA

optionset

兩個選項

兩個選項按鈕、核取方塊、清單

boolean

整數

無、期間

integer

整數

語言、時區

optionset

context

Xrm.Page.context 提供方法擷取查詢字串中傳遞至表單的組織、使用者或參數的特定資訊。 如需詳細資訊,請參閱用戶端內容 (用戶端參考)

control

代表在表單上的 HTML 元素。 有些控制項繫結至特定屬性,而有些控制項則代表未繫結的控制項,例如 IFRAME、Web 資源或新增至表單中的子格。

在您的程式碼中使用 IFrame、Web 資源與子格控制項的特定控制項名稱。 這些控制項未繫結至屬性。 當控制項繫結至屬性時,請避免在您的程式碼中包含特定控制項名稱。 當多個控制項繫結至屬性時,控制項名稱是在執行階段確定的,而且可能根據控制項在表單中的位置而變更。

對於屬性繫結控制項的大部分相關工作,使用屬性控制項集合或透過區段的控制項集合來存取控制項。 根據集合的內容來取得控制項的參照,而不是根據名稱來參照控制項。 在此情況下,名稱不重要。 請參閱屬性 控制項 中的範例,取得如何建立函數,在繫結至特定屬性的所有控制項上執行動作的資訊。

備註

複合屬性有特殊行為。其他資訊:為複合屬性撰寫指令碼

備註

對於 Microsoft Dynamics 365 之外的大部分常用開發工作,開發人員可能習慣使用 document.getElementById 方法參照頁面項目。 對於 Microsoft Dynamics 365 表單指令碼,不支援這種方法。 辨識屬性儲存資料,以及控制項只是表單上屬性的展示,十分重要。 對於繫結至屬性的控制項,您可能需要調整存取表單資料的方式。

控制項是根據類型進行分類。 使用 getControlType 方法,可決定控制項類型。 某些控制方法只能用於特定控制項類型。 例如,addOption 方法只能用於顯示為選項組的控制項。 如需詳細資訊,請參閱Xrm.Page.ui 控制項 (用戶端參考)

實體

Xrm.Page.data.entity 提供方法擷取頁面上顯示記錄的特定資訊、save 方法,以及表單中的所有屬性集合。 如需詳細資訊,請參閱Xrm.Page.data.entity (用戶端參考)

formSelector

Xrm.Page.ui.formSelector 包含項目集合,讓您能夠查詢目前使用者可用的表單。 使用 navigate 方法關閉目前表單和開啟另一個表單。 如需詳細資訊,請參閱Xrm.Page.ui.formSelector 項目 (用戶端參考)

不包含任何方法。 透過項目集合讓您存取導覽項目。

程序

包含方法,用來擷取商務程序流程的屬性。其他資訊:程序方法

區段

區段包含方法,用以管理區段外觀,以及存取包含區段的索引標籤。 區段透過控制項集合,也讓您存取區段的控制項。其他資訊:Xrm.Page.ui 區段 (用戶端參考)

階段

每個 程序 都具有階段集合,可使用程序 getStages 方法進行存取。

一個階段是使用中的階段。其他資訊:商務程序流程的結構

step

步驟代表在 階段期間將收集的個別資料項目。 每個階段都具有步驟集合,可使用階段 getSteps 方法進行存取。其他資訊:商務程序流程的結構

您可以參照具有特殊首碼「header_process_<control name>」的控制項名稱,存取在商務程序流程控制項的使用中階段中的步驟控制項。 例如,若要隱藏代表 purchaseprocess 屬性的步驟,請使用下列:

Xrm.Page.getControl("header_process_purchaseprocess").setVisible(false);

索引標籤

索引標籤是頁面上的區段群組。 它包含變更索引標籤展示的方法。 您透過區段集合來存取索引標籤的區段。 如需詳細資訊,請參閱Xrm.Page.ui 索引標籤 (用戶端參考)

另請參閱

表單指令碼快速參考
為平板電腦版本的 CRM 撰寫指令碼並偵錯
撰寫 Microsoft Dynamics CRM 2015 表單的程式碼
為複合屬性撰寫指令碼
為商務程序流程撰寫指令碼
使用 JavaScript 搭配 Microsoft Dynamics CRM 2015
範例:建立相依 OptionSets (挑選清單)
用戶端程式設計參考
用戶端程式設計參考
Microsoft Dynamics CRM 2015 適用的 JavaScript 程式庫
自訂實體表單

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