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 ...