Microsoft Dynamics CRM4.0 和 Microsoft Dynamics CRM 2011 JScript 方法对比
CRM 2011 如果需要再IE里面调试,可以按F12在前面加上contentIFrame,比如
contentIFrame.document.getElementById("字段")或contentIFrame.Xrm.Page.context.getUserId()(获取当前登录用户的GUID)。
| 方法名 | Microsoft Dynamics CRM 4.0 | Microsoft Dynamics CRM 2011 | 
| 保存 | crmForm.Save() | Xrm.Page.data.entity.save() | 
| 保存并关闭 | crmForm.SaveAndClose() | Xrm.Page.data.entity.save("saveandclose") | 
| 保存并新建 | crmForm.SaveAndNew() | Xrm.Page.data.entity.save("saveandnew") | 
| 获取实体名 | crmForm.ObjectTypeName | Xrm.Page.data.entity.getEntityName() | 
| 获取当前表单记录的GUID | crmForm.ObjectId | Xrm.Page.data.entity.getId() | 
| 实体类型代码 | crmForm.ObjectTypeCode | 没有 | 
| 表单类型 | crmForm.FormType | Xrm.Page.ui.getFormType() | 
| 未定义(0) | FORM_TYPE_UNDEFINED | FORM_TYPE_UNDEFINED | 
| 创建(1) | FORM_TYPE_CREATE | FORM_TYPE_CREATE | 
| 更新(2) | FORM_TYPE_UPDATE | FORM_TYPE_UPDATE | 
| 只读模式(3) | FORM_TYPE_READ_ONLY | FORM_TYPE_READ_ONLY | 
| 已禁用(4) | FORM_TYPE_DISABLED | FORM_TYPE_DISABLED | 
| 快速创建(5) | FORM_TYPE_QUICK_CREATE | FORM_TYPE_QUICK_CREATE(已弃用) | 
| 批量编辑(6) | FORM_TYPE_BULK_EDIT | FORM_TYPE_BULK_EDIT | 
| 读优化(11) | 没有 | FORM_TYPE_READ_OPTIMIZED | 
| 阻止保存 | event.returnValue = false; return; | event.getEventArgs().preventDefault() (event为表单保存事件方法的参数) | 
| 当前组织名称 | Xrm.Page.context.getOrgUniqueName() | |
| 设为焦点 | crmForm.all.字段.SetFocus() | Xrm.Page.getControl("字段").setFocus()或 Xrm.Page.data.entity.attributes.get("字段").controls.get(0).setFocus(); | 
| 获取字段的值 | crmForm.all.字段.DataValue | Xrm.Page.getAttribute("字段").getValue() | 
| 获取字段是否禁用 | crmForm.all.字段.Disabled= true | Xrm.Page.getControl("字段").setDisabled(true) contentIFrame.window.Xrm.Page.getAttribute("字段").controls.get(0).setDisabled(false) | 
| 获取语言编码 | 常量USER_LANGUAGE_CODE | Xrm.Page.context.getOrgLcid() | 
| 是否修改 | crmForm.all.字段.IsDirty | Xrm.Page.data.entity.getIsDirty() | 
| 强制执行OnChange | crmForm.all.字段.FireOnChange() 说明该字段必须为可编辑的才可以执行。 | Xrm.Page.getAttribute("字段").fireOnChange() | 
| 只读的字段强制提交 | crmForm.all.字段.ForceSubmit = true; | Xrm.Page.getAttribute("字段").setSubmitMode("always") | 
| 字段需求级别 | crmForm.all.字段.RequiredLevel | Xrm.Page.getAttribute("字段").getRequiredLevel() | 
| 没有约束(正常)(0) | No constraint (normal) | 无 | 
| 业务推荐的(1) | Business recommended | 所需Xrm.Page.getAttribute("字段").setRequiredLevel("required") 该字段为业务必填的 | 
| 业务必需的(2) | Business required | 建议 | 
| 时间类型字段赋值 | crmForm.all.字段.DataValue = new Date("2013/01/01") 时间的格式必须为yyy/mm/dd,如果为yyy-mm-dd,就会报错, 需要replace(/-/g, "/")进行替换。 | Xrm.Page.getAttribute("字段").setValue(new Date ("Tue Jun 18 00:00:00 UTC+0800 2013"));//改为2013/6/18 | 
| 弹出框 | 可以用js的windows.showdialog | openStdDlg(url, lookupViewArgs, 800, 500); | 
| 加载JS文件 | 没有,不过可以另外写js方法: | loadScriptAdv("脚本URL","任意ID",false); | 
| 禁用表单上所有的字段 | for (var i = 0; i < crmForm.all.length; i++) { var field = crmForm.all[i]; if (field.id != null && field.id != "") { field.Disabled = true; } } | var controls = Xrm.Page.ui.controls.get(); for (var i in controls) { var control = controls[i]; if (control.getDisabled() == false) { control.setDisabled(true); } }或 Xrm.Page.data.entity.attributes.forEach(function (item, index) { item.controls.get(0).setDisabled(true); }); | 
| 禁用节下面所有的字段 | 能一个一个字段禁用,循环目前还没有找到方法,哪位大侠知道可以告诉我 | //调用:sectionDisable("section_1_1",true);//section_1_1为名称 //禁用节点下所有字段的信息 for CRM 2011 function sectionDisable (sectionname, disablestatus){ var ctrlName = Xrm.Page.ui.controls.get(); for(var i in ctrlName) { var ctrl = ctrlName[i]; var ctrlSection = ctrl.getParent().getName(); if (ctrlSection == sectionname) { ctrl.setDisabled(disablestatus); } } } | 
| 禁用节下面所有的字段2 | 只能一个一个字段禁用,循环目前还没有找到方法,哪位大侠知道可以告诉我 | //调用:sectionDisable("网点基本信息",true);//网点基本信息为标签 | 
| 禁用选项卡下所有的字段1 | 没有 | //调用:tabsDisable("基本信息",true);//基本信息为标签 | 
| 禁用选项卡下所有的字段2 | 没有 | //调用:tabsDisable("tab_1",true);//tab_1为名称 | 
| 获取当前登录用户的GUID | function GetCurrentUserId() { var soapBody = "<soap:Body>"+ "<Execute xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+ "<Request xsi:type='WhoAmIRequest' />"+ "</Execute></soap:Body>"; var soapXml = "<soap:Envelope " + var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); | Xrm.Page.context.getUserId();把crm4.0 | 
| //获取当前的用户 var soapXml = "<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>"; var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); | ||
Microsoft Dynamics CRM4.0 和 Microsoft Dynamics CRM 2011 JScript 方法对比的更多相关文章
- Microsoft Dynamics CRM4.0编程---说明
		Introduction(说明) If your organization has customers, you need a software system to help you manage y ... 
- error MSB4019: 未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets”
		error MSB4019: 未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\ ... 
- 未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Props”
		未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Props” ... 
- C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(388,5): warning MSB8028: The intermediate directory (Debug) contains files shared from another project (GU.vcxproj). T
		1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(388,5): warni ... 
- Dynamics CRM4.0 和 Dynamics  CRM2011 Plugin 实现一样的功能的方法的比较
		1.给类型赋值不同 CRM4 plugin给lookup赋值为空 : Lookup lookupnull = new Lookup(); lookupnull.IsNull = true; looku ... 
- Microsoft Dynamics CRM4.0 JScript 过滤lookup 出现 Microsoft Dynamics CRM 窗口无法打开,可能已被弹出窗口阻止程序所阻止。
		一.现象:JScript过滤lookup字段,选择lookup字段出现下图的情况: 出现:Microsoft Dynamics CRM 窗口无法打开,可能已被弹出窗口阻止程序所阻止.请将这台Micro ... 
- Microsoft Dynamics CRM4.0 创建单据的时候,自动生成单据编号的通用方法
		一.新建两个实体,具体如下: 单据流水号(new_maxbillcode) 显示名称 名称 类型 格式 最大长度 需求级别 IME模式 备注 名称 new_name nvarchar 文本 100 业 ... 
- [Bug] 未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets”
		This is very easy to do. Open your build definition and go to the "Process" page. Then und ... 
- C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(249,5): error MSB6006: “CL.exe”已退出,代码为 -1073741515。
		解决: Add this to your PATH environment variables: C:\Program Files (x86)\Microsoft Visual Studio 11.0 ... 
随机推荐
- Netty高性能编程备忘录(上)
			http://calvin1978.blogcn.com/articles/netty-performance.html 网上赞扬Netty高性能的文章不要太多,但如何利用Netty写出高性能网络应用 ... 
- learning armbian steps(2)  ----- armbian 镜像编译
			参考:https://docs.armbian.com/Developer-Guide_Build-Preparation/ 通过如下指令进行编译: apt-get -y -qq install gi ... 
- python中read()、readline()、readlnes()
			在python中 1.file.read()直接按原样读取文件,它通常用于将文件内容放到一个字符串变量中,如果文件大于可用内存,则不可能实现这种处理,因为原来文件里面是str_class,所以 fil ... 
- vector中erase用法注意事项
			以前就发现了vector中的erase方法有些诡异(^_^),稍不注意,就会出错.今天又一次遇到了,就索性总结一下,尤其是在循环体中用erase时,由于vector.begin() 和vector.e ... 
- 深入理解Linux网络技术内幕——Notification内核通知表链
			为什么要有内核通知表链: Linux由多个相互依赖的子系统组成.其中一些子系统可能需要对其他子系统的一些事件感兴趣.这样子系统之间需要一些通信机制来实现这一功能. 在接触Notific ... 
- Hibernate和Spring整合出现懒加载异常:org.hibernate.LazyInitializationException: could not initialize proxy - no Session
			出现问题: SSH整合项目里,项目目录结构如下: 在EmployeeAction.java的list()方法里将employees的list放入到request的Map中. EmployeeActi ... 
- 单项目实现vendor分离编译,增加编译效率(vue-cli)
			1.在build文件夹下添加文件:webpack.dll.config.js const path = require('path') const webpack = require('webpack ... 
- RabbitMQ在windows下的安装
			RabbitMQ 它依赖于Erlang,需要先安装Erlang.首先确定你的window电脑是32位还是64位,以下的安装以window 64位电脑举例. 运行行Erlang/OTP(otp_wi ... 
- Use JAWS 14 in a VM
			We were not able to run the JAWS 14 app in a Virtual Machine after the installation is completed, th ... 
- check camera and driver
			1. How to check $ ls /dev/video* /dev/video0 /dev/video1 /dev/video2 /dev/video3 if not, U should ch ... 
