JScript 網頁資源



JScript 網頁資源可能是您在使用 Microsoft Dynamics CRM 時最常使用的一類網頁資源。

JavaScript 在 CRM 中的應用

表單事件程式設計

表單事件程式設計用於處理客戶端行為,例如使用者開啟表單、更改某些資料、在選項卡之間移動等時發生的情況。為了實現這種客戶端互動,您需要編寫 JavaScript 程式碼並將其作為 JScript 網頁資源新增到 CRM 中。但是,您編寫的 JavaScript 程式碼必須使用 Dynamic CRM 的 Xrm.Page 模型,而不是標準的 JavaScript DOM。使用 Xrm.Page 模型是 Microsoft 的編碼方式,它確保使用此模型編寫的任何程式碼都與 CRM 的任何未來版本相容。

網頁資源

除了用於表單事件程式設計之外,JavaScript 還用於 CRM 的其他應用程式,例如:

  • 使用唯一的 URL 開啟表單、檢視和對話方塊。

  • 使用 OData 和 SOAP 端點與 Web 服務互動。

  • 在其他網頁資源(如 HTML 網頁資源)中引用 JavaScript 程式碼。

在這種情況下,您將編寫 JavaScript 程式碼(使用 Xrm.Page 模型)並將其作為 JScript 網頁資源新增到 CRM 中,然後可以透過唯一的 URI 在任何地方引用它。

功能區自定義

最後,JavaScript 的另一個常見用途是處理功能區自定義,例如:

  • 根據某些邏輯顯示/隱藏功能區按鈕
  • 根據某些邏輯啟用/停用功能區按鈕
  • 處理單擊特定功能區按鈕時發生的情況

為了處理此類場景,您將編寫 JavaScript 邏輯(使用 Xrm.Page 模型),然後將其作為 JScript 網頁資源新增。然後可以在功能區按鈕的 XML 中引用此網頁資源,並指定要呼叫的 JScript 檔案中的哪個方法來檢查是否應顯示/隱藏或啟用/停用功能區按鈕或處理單擊事件。

Xrm.Page 物件模型

以下是 Xrm.Page 物件的層次結構,顯示了可用的名稱空間、物件及其集合。在編寫 JScript 程式碼時,您將使用這些屬性。

XRM Page Object Model

名稱空間

序號 物件和描述
1

上下文

提供方法來檢索特定於上下文的資訊,例如組織詳細資訊、已登入使用者詳細資訊或作為查詢字串傳遞給表單的引數。

2

資料

提供對實體資料以及管理表單中和業務流程流控制中資料的訪問。

3

UI

除了表單的幾個子元件的集合外,還包含用於檢索有關使用者介面資訊的方法。

物件

序號 物件和描述
1

實體

提供方法:

  • 檢索記錄資訊
  • 儲存方法
  • 集合屬性
2

流程

用於檢索業務流程屬性的方法。

3

導航

使用 items 集合訪問導航項。

4

FormSelector

使用 Items 集合訪問使用者可用的表單。還使用導航方法關閉和開啟表單。

5

階段

每個流程都有一組階段,可以使用流程的 getStages 方法訪問。

6

步驟

每個階段包含各種步驟,可以使用階段的 getSteps 方法訪問。

集合

序號 集合和描述
1

屬性

提供對錶單上可用的實體屬性的訪問。

2

控制元件

ui.controls - 提供對錶單上每個控制元件的訪問。

attribute.controls - 提供對屬性內所有控制元件的訪問。

section.controls - 提供對部分內所有控制元件的訪問。

3

專案

提供對錶單上所有導航項的訪問。

4

選項卡

提供對錶單上所有選項卡的訪問。

5

部分

提供對錶單上所有部分的訪問。

表單程式設計中支援的事件

使用 Xrm.Page 模型的表單程式設計允許您處理以下表單事件:

  • onLoad
  • onSave
  • onChange
  • TabStateChange
  • OnReadyStateComplete
  • PreSearch
  • 業務流程流控制事件

表單程式設計示例

在此示例中,我們將根據使用者選擇的 PreferredMethodofCommunication 對聯絡人表單進行一些驗證。因此,如果使用者選擇電子郵件作為首選方法,則電子郵件欄位將變為必填欄位,電話和傳真欄位也類似。

步驟 1 - 建立一個名為 contacts.js 的 JavaScript 檔案,並複製以下程式碼。

function validatePreferredMethodOfCommunication() { 

   //get the value of Preffered Method of Communication code 
   var prefferedContactMethodCode = 
      Xrm.Page.getAttribute('preferredcontactmetho dcode').getValue();  
   
   //if Preferred Method = Any, make all fields as non-mandatory 
   
   //else if Preferred Method = Phone, make Mobile Phone field mandatory 
   //and all other fields as non-mandatory 
   
   //else if Preferred Method = Fax, make Fax field mandatory 
   //and all other fields as non-mandatory 
   
   if(prefferedContactMethodCode == 1) { 
      clearAllMandatoryFields(); 
   }  
   if(prefferedContactMethodCode == 2) { 
      clearAllMandatoryFields(); 
      Xrm.Page.getAttribute('emailaddress1').setRequiredLevel('required'); 
   } else if(prefferedContactMethodCode == 3) { 
      clearAllMandatoryFields(); 
      Xrm.Page.getAttribute('mobilephone').setRequiredLevel('required'); 
   } else if(prefferedContactMethodCode == 4) { 
      clearAllMandatoryFields(); 
      Xrm.Page.getAttribute('fax').setRequiredLevel('required'); 
   } 
} 
function clearAllMandatoryFields() { 
   
   //clear all mandatory fields 
   Xrm.Page.getAttribute('emailaddress1').setRequiredLevel('none'); 
   Xrm.Page.getAttribute('mobilephone').setRequiredLevel('none'); 
   Xrm.Page.getAttribute('fax').setRequiredLevel('none'); 
}

步驟 2 - 透過導航到設定→自定義→自定義系統→聯絡人實體→表單→主表單開啟聯絡人實體表單。

步驟 3 - 單擊表單屬性。

Form Programming Form Properties

步驟 4 - 在表單屬性視窗中,單擊新增。

Form Programming Add Form Library

步驟 5 - 在下一個查詢網頁資源記錄視窗中,單擊新建,因為我們正在建立新的網頁資源。

Form Programming Add Form Library New

步驟 6 - 在新建網頁資源視窗中,輸入以下詳細資訊:

名稱 - new_contacts.js

顯示名稱 - contacts.js

型別 - JScript

上傳檔案 - 從本地計算機上傳您建立的 JavaScript 檔案。

Form Programming Web Resource New

步驟 7 - 單擊儲存,然後單擊發布。之後關閉視窗,您將返回到查詢網頁資源記錄視窗。

步驟 8 - 在這裡,您現在可以看到 new_contacts.js 網頁資源。選擇它並單擊新增。您現在已成功新增新的網頁資源並在表單上註冊了它。

Form Programming Web Resource Add

步驟 9 - 現在,我們將新增一個事件處理程式來處理首選通訊方式欄位的更改。此事件處理程式將呼叫我們剛剛編寫的 JavaScript 函式。從事件處理程式部分選擇以下選項。

控制元件 - 首選通訊方式

事件 - OnChange

然後,單擊新增按鈕,如下面的螢幕截圖所示。

Form Programming Added New Form Library

步驟 10 - 在處理程式屬性的下一個視窗中,我們將指定更改事件發生時要呼叫的方法。

選擇庫為 new_contacts.js,函式為 validatePreferredMethodOfCommunication。單擊確定。

Form Programming Add Handler

步驟 11 - 您現在將能夠看到表單庫(網頁資源)和在其上註冊的事件。單擊確定。

Form Programming Added Library Handler

步驟 12 - 單擊儲存,然後單擊發布。

Form Programming Publish Customizations

步驟 13 - 現在開啟任何聯絡人表單並將首選通訊方式設定為電話。這將使手機欄位變為必填欄位。如果您現在嘗試在不輸入任何手機號碼的情況下儲存此聯絡人,它將顯示一條錯誤訊息,提示“您必須為手機提供值”。

Form Programming Validation

結論

在本章中,我們首先了解了 JavaScript 在 CRM 中的三個重要應用。之後,我們探討了 Xrm.Page 模型並使用它來學習表單程式設計以及一個示例。

廣告

© . All rights reserved.