之前遇到过这样一个问题,在进行MSCRM 2011开发时,未将系统更新到rollup 12,开发的使用脚本打开系统记录的功能都没有问题(未按照SDK提供的方法编写代码),后来给系统打完rollup 12之后,发现之前所有打开系统记录的功能都不好用了,然后又重新按照SDK提供的方法修改代码,最终解决了此问题,看来在开发过程中一定要按照SDK提供的方法编写代码,否则之后系统升级就真的麻烦了。
以下介绍如何使用SDK提供的方法实现打开系统记录功能:
1、 使用Xrm.Utility.openEntityForm的方法打开系统页面:
Function OpenNewForm()
{
Xrm.Utility.openEntityForm(name,id,parameters);
}
备注: name:被打开的实体的名称;
Id:被打开的记录的ID,如果打开新建窗体时,此值可以设置为null;
Parameters:传递到另一窗体的参数;
具体介绍参见SDK:Xrm.Utility 的引用
2、 如果传递的参数在此实体中不存在相关的字段,则需要进行手动设置,具体的设置方法如下:
A、 打开需要被打开的实体的窗体设置;
B、 单击“窗体属性”,在“窗体属性”对话框中,选择“参数”选项卡;
C、 添加窗体允许的名称和数据类型参数;
3、 通过获取URL来获取传递到被打开的表单上的值:
获取URL地址的方法:
var FormURl = window.location.href;//获取URL地址
var FormURLCode = decodeURI(FormURl);//对获取到的URL地址进行解码