设置

表单脚本自定义

“有关自定义的 11 项须知”的第 10 部分

发布日期: 一月 1, 2008

在用户计算机上进行自定义有很多优点。这些自定义速度更快,因为它们无需往返服务器即可应用自定义。表单脚本正是在 Microsoft Dynamics CRM 中实现这种自定义的方式。

当前页内容
事件 事件
添加脚本 添加脚本
表单对象模型 表单对象模型

Microsoft Dynamics CRM Web 服务
  Microsoft Dynamics CRM Web 服务

事件

Microsoft Dynamics CRM 在每个实体表单上支持两个事件:“OnLoad”和“OnSave”。

OnChange 事件可用于表单的每个字段。

这意味着您可以在表单中添加其加载、用户保存或字段的值改变时的逻辑。

页首

添加脚本

将您的脚本粘贴到实体表单的定义中。然后,脚本就成为实体元数据的一部分,可以和所有其他自定义项一起导出并导入到其他系统中。

警告

添加脚本前应透彻地了解 JScript 编程语法和 DHTML,并且应在发布自定义项前测试脚本。错误的脚本会导致表单无法正常工作。

注意

当使用引用特定字段的基于事件的脚本或自定义代码时,应将这些字段设置为从属字段,这样将无法从表单中删除这些字段。可以使用“事件详细信息属性”对话框中的“依赖项”选项卡来添加事件脚本中引用的任意字段。

脚本语言是 JScript,功能与 JavaScript 相当,许多 Web 开发人员都很熟悉。对于每个事件,开发人员可以与表单中的对象模型交互。此对象模型在 Microsoft Dynamics CRM SDK 中有记录。请参阅客户端脚本 (Microsoft Dynamics CRM SDK)(此链接可能指向英文页面),其中介绍了开发人员如何访问表单上的不同属性和方法。

页首

表单对象模型

Microsoft Dynamics CRM 支持使用 Microsoft Dynamics CRM 所提供的对象和方法。但是,因为 Microsoft Dynamics CRM 使用 Internet Explorer 显示页面,所以开发人员几乎可在 Web 应用程序中完成的所有常规操作。他们可以调用 Web 服务,或者使用 IFrame 中显示的其他应用程序。

在表单脚本中要尽量避免引用 Microsoft Dynamics CRM 页面中的任意 HTML 元素,这些元素在 Microsoft Dynamics CRM SDK 中没有记录。此类页面中支持的元素可以通过编程方式引用或操作,本指南中记录了这些元素。如果您引用不支持的元素或函数,则可能无法将您的自定义项升级到以后的 Microsoft Dynamics CRM 的版本中,因为它们可能会在下一版本中不再存在。有关表单脚本中应避免的事项及其原因的详细信息,请参阅 Microsoft Dynamics CRM 团队博客中的不支持的脚本

页首

Microsoft Dynamics CRM Web 服务

Microsoft Dynamics CRM 支持直接从客户端代码调用 Microsoft Dynamics CRM Web 服务,不论该代码与表单事件还是与 ISV.Config 按钮或菜单项中配置的 JScript 关联。这些 Web 服务调用适用于 Microsoft Dynamics CRM Web 应用程序和 Microsoft Dynamics CRM for Microsoft Office Outlook。如果您的 Microsoft Dynamics CRM for Outlook 处于脱机状态,将使用本地 Web 服务。Microsoft Dynamics CRM SDK 记录了一些函数,开发人员可借助其来处理用于调用这些 Web 服务的 XMLHTTP 请求。

注意

使用 JScript 从客户端代码调用 Microsoft Dynamics CRM Web 服务的功能满足了 Microsoft Dynamics CRM Online 在许多情况下的使用要求。但是,Microsoft Dynamics CRM 的内部实施版本允许直接在服务器或 Microsoft Dynamics CRM for Outlook 客户端直接使用托管代码。因为使用 C# 或 Visual Basic .NET 编写托管代码需要大量输入工作,所以创建调用 Microsoft Dynamics CRM Web 服务的解决方案的开发人员应该考虑创建各自的 Web 服务(使用托管代码而不是使用 JScript 直接从客户端代码调用 Microsoft Dynamics CRM Web 服务)。开发、测试和维护使用托管代码的解决方案通常比使用 JScript 更容易。

相关链接

是否找到了所需的信息?
是     否 
如果未找到,请问您需要什么信息?(可选)

© 2009 Microsoft Corporation。保留所有权利。