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.