Share via


编写和调试平板电脑的 CRM 脚本。

 

发布日期: 2016年11月

适用于: Dynamics CRM 2015

适用于平板电脑的 Microsoft Dynamics CRM 使用的是与 web 应用程序相同的窗体定义。 在 Web 应用程序中,向窗体事件处理程序或功能区命令中添加的任何 JavaScript 代码也可在 适用于平板电脑的 CRM 中运行。 需要注意一些不同点。

在本主题中

一些 Xrm.Page 或窗口对象函数在平板电脑的 CRM 中不可用。

在平板电脑的 CRM 中指定将运行的代码

在平板电脑的 CRM 中指定将显示的命令

注意 CRM for tablets 与浏览器中 web 应用程序之间的区别

为 CRM for tablets 调试脚本

一些 Xrm.Page 或窗口对象函数在平板电脑的 CRM 中不可用。

适用于平板电脑的 CRM 不允许任何可能会妨碍脚本执行的函数。 通用 JavaScript 函数(例如 window.alertwindow.confirmwindow.prompt)将无法按预期运行,或者简单地引发错误。

使用 Xrm.UtilityalertDialogconfirmDialog 功能向用户显示消息。 这些函数与窗口函数运行方式不同,因为除非用户关闭它们,否则不会停止脚本处理。 它们提供回调函数以允许用户输入的异步响应。 使用 window.confirmwindow.prompt 或阻止脚本执行的其他本机窗口函数都将引发错误。

备注

如果要在窗体脚本中使用 window.alert,您设置的消息将在未指定回调函数的情况下被 Xrm.Utility.alertDialog 自动显示,但是,这只是临时的并且已经被弃用。 您应该将所有使用 window.alert 的代码移除,使用 Xrm.Utility.alertDialog 代码。

以下方法在 适用于平板电脑的 CRM 中不可用。

Xrm.Page.context.getCurrentTheme

Xrm.Page.ui视区方法

Xrm.Page.data.entity.getDataXml

Xrm.Page.ui controlWeb 资源和 IFRAME 控件方法

Xrm.Page.ui.窗体选择器 对象方法

Xrm.Page.ui tab.setDisplayState

Xrm.Page.ui.navigation.items 收集

Xrm.Utility.openWebResource

这些函数大多数会执行空函数,并且不返回任何值。 如果您有需要从这些函数之一返回值的代码,该代码将不被定义。

在平板电脑的 CRM 中指定将运行的代码

当客户端 API 的功能不同时,应该将与下列代码类似的代码包含在其中,用以分隔为每个客户端应用的逻辑。

var isCrmForTablets = (Xrm.Page.context.client.getClient() == "Mobile")
if (isCrmForTablets)
{
 // Code for CRM for tablets only goes here,
}
else
{
 // Code for web browser or CRM for Outlook only goes here.
}
// Code for any client goes here.

在平板电脑的 CRM 中指定将显示的命令

当您在自定义命令栏(功能区)命令中使用 <JavaScriptFunction> (RibbonDiffXml) 操作时,您还可以使用 Xrm.Page.context.client.getClient 来分隔代码。 如果要执行的操作无法使用 适用于平板电脑的 CRM,则应该包括显示规则,以保证 适用于平板电脑的 CRM 中不会显示这些命令。 默认情况下,除非配置为不显示,定义的所有命令都会在 适用于平板电脑的 CRM 中显示。 通常,除非您知道显示规则可以通过 适用于平板电脑的 CRM 工作,否则就应该定义以下显示规则,并将其包含在每个命令中。

<DisplayRule Id="My.HideOnModern">
 <CommandClientTypeRule Type="Modern"
                        InvertResult="true" />
</DisplayRule>

注意 CRM for tablets 与浏览器中 web 应用程序之间的区别

您应该知道,除了 一些 Xrm.Page 或窗口对象函数在平板电脑的 CRM 中不可用。 中描述的功能外还存在其他的不同点。

  • 复合字段
    适用于平板电脑的 CRM 用不同方式实现复合字段。适用于平板电脑的 CRM 将不会包括复合属性。 它会自动替代构成属性并显示这些属性。详细信息:为复合属性编写脚本

  • Web 资源和 IFRAME
    适用于平板电脑的 CRM 不支持在窗体中显示 web 资源或 IFRAMEs。 如果任何代码与这些类型的控件互相影响,那么该控件不会存在于 适用于平板电脑的 CRM 窗体中,您应该在 在平板电脑的 CRM 中指定将运行的代码 中应用指南,以使该代码仅在 Web 浏览器客户端中运行。

为 CRM for tablets 调试脚本

由于 适用于平板电脑的 CRM 是应用程序,您在浏览器中可以使用的普通 JavaScript 调试工具将不可用。 建议您采用下列过程测试和调试您自己的窗体脚本和功能区命令

  1. 使用 web 应用程序测试整个脚本。

  2. 作为使用 Web 浏览器测试的一部分,请在使用 Xrm.Page.context.client.getClient 检查客户端的时候撤销标准,并验证该逻辑是否合适人们使用 适用于平板电脑的 CRM 时的经验。 用于 适用于平板电脑的 CRM 的 API 是可用于 Web 浏览器 API 的子集,因此,您能够在 Web 浏览器中测试特定的流程。

  3. 如果可以的话,请在安装了 Windows 8 和 Microsoft Visual Studio 的计算机上安装 适用于平板电脑的 CRM。 如果您想使用 Visual Studio 启用调试程序,请包括 调试程序 语句。

  4. 最后,使用 Xrm.Utility.alertDialog 在 适用于平板电脑的 CRM 内显示代码的值。

另请参阅

为 Microsoft Dynamics CRM 2015 窗体编写代码
使用窗体和字段事件
使用 Xrm.Page 对象模型
为复合属性编写脚本
脚本即时引用的表单
客户端编程引用
命令栏或功能区演示

© 2017 Microsoft。 保留所有权利。 版权