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"); |