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);//网点基本信息为标签
//禁用节点下所有字段的信息 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().getLabel();
if (ctrlSection == sectionname) {
ctrl.setDisabled(disablestatus);
}
}
}

禁用选项卡下所有的字段1

没有

//调用:tabsDisable("基本信息",true);//基本信息为标签
//禁用选项卡下所有字段的信息 for CRM 2011
function tabsDisable (tabsname, disablestatus){
var ctrlName = Xrm.Page.ui.controls.get();
for(var i in ctrlName) {
var ctrl = ctrlName[i];
var ctrlSection = ctrl.getParent().getParent().getLabel();
if (ctrlSection == tabsname) {
ctrl.setDisabled(disablestatus);
}
}
}

禁用选项卡下所有的字段2

没有

//调用:tabsDisable("tab_1",true);//tab_1为名称
//禁用选项卡下所有字段的信息 for CRM 2011
function tabsDisable (tabsname, disablestatus){
var ctrlName = Xrm.Page.ui.controls.get();
for(var i in ctrlName) {
var ctrl = ctrlName[i];
var ctrlSection = ctrl.getParent().getParent().getName();
if (ctrlSection == tabsname) {
ctrl.setDisabled(disablestatus);
}
}
}

获取当前登录用户的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 " +
"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'>";
soapXml += GenerateAuthenticationHeader();
soapXml += soapBody;
soapXml += "</soap:Envelope>";

var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.open("POST",
"/mscrmservices/2007/crmservice.asmx", false);
xmlhttp.setRequestHeader("Content-Type", "text/xml;
charset=utf-8");
xmlhttp.setRequestHeader("SOAPAction",
"http://schemas.microsoft.com/crm/2007/WebServices/Execute");
xmlhttp.send(soapXml);

xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(xmlhttp.responseXML.xml);
CRMUserGuid =
xmlDoc.getElementsByTagName("UserId")[0].childNodes[0].nodeValue;
}
//注意:这个获取的值是小写,一般可以通过下面的方式处理下。
var currentUserId = ("{" + GetCurrentUserId() +
"}").toUpperCase();//获取当前用户的GUID

Xrm.Page.context.getUserId();把crm4.0
的方法封装好了,用crm4.0的方法也可以。

 

//获取当前的用户
GetCurrentUserId = function () {
var soapBody = "<soap:Body><Execute xmlns='http://schemas.microsoft.com/crm/2007/WebServices'><Request xsi:type='WhoAmIRequest' /></Execute></soap:Body>";

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 header1 = GenerateAuthenticationHeader();//支持IFD和内部部署和OutLook
var header1 = "<soap:Header><CrmAuthenticationToken xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
"<AuthenticationType xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">0</AuthenticationType>" +
"<CrmTicket xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\"></CrmTicket>" +
"<OrganizationName xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">LOVOL</OrganizationName>" +
"<CallerId xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">00000000-0000-0000-0000-000000000000</CallerId>" +
"</CrmAuthenticationToken></soap:Header>"; //只支持内部部署,不支持IFD部署和OutLook
soapXml += header1;
soapXml += soapBody;
soapXml += "</soap:Envelope>";

var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.open("POST", "/mscrmservices/2007/crmservice.asmx", false);
xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlhttp.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/Execute");
xmlhttp.send(soapXml);

xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(xmlhttp.responseXML.xml);
CRMUserGuid = xmlDoc.getElementsByTagName("UserId")[0].childNodes[0].nodeValue;
return CRMUserGuid;
}

Microsoft Dynamics CRM4.0 和 Microsoft Dynamics CRM 2011 JScript 方法对比的更多相关文章

  1. Microsoft Dynamics CRM4.0编程---说明

    Introduction(说明) If your organization has customers, you need a software system to help you manage y ...

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

  3. 未找到导入的项目“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” ...

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

  5. Dynamics CRM4.0 和 Dynamics CRM2011 Plugin 实现一样的功能的方法的比较

    1.给类型赋值不同 CRM4 plugin给lookup赋值为空 : Lookup lookupnull = new Lookup(); lookupnull.IsNull = true; looku ...

  6. Microsoft Dynamics CRM4.0 JScript 过滤lookup 出现 Microsoft Dynamics CRM 窗口无法打开,可能已被弹出窗口阻止程序所阻止。

    一.现象:JScript过滤lookup字段,选择lookup字段出现下图的情况: 出现:Microsoft Dynamics CRM 窗口无法打开,可能已被弹出窗口阻止程序所阻止.请将这台Micro ...

  7. Microsoft Dynamics CRM4.0 创建单据的时候,自动生成单据编号的通用方法

    一.新建两个实体,具体如下: 单据流水号(new_maxbillcode) 显示名称 名称 类型 格式 最大长度 需求级别 IME模式 备注 名称 new_name nvarchar 文本 100 业 ...

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

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

随机推荐

  1. Hibernate---介绍

    Hibernate---介绍 框架体系结构: 2hibernate入门 1.1 ORM框架 Hibernate是一个数据持久化层的ORM框架. Object:对象,java对象,此处特指JavaBea ...

  2. ShardedJedis的使用

    假定有2个 redis 服务实例(A和B)在运行,在客户端进行 set 操作: set a0 xxx set a1 xxx set a2 xxx set a3 xxx 我们希望a0, a1, a2, ...

  3. linux tcpdump 抓包

    tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump ...

  4. Python Django 前后端数据交互 之 后端向前端发送数据

    Django 前后台的数据传递 严正声明:作者:psklf出处: http://www.cnblogs.com/psklf/archive/2016/05/30/5542612.html欢迎转载,但未 ...

  5. SSH框架下载地址

    Struts各版本下载地址: https://dist.apache.org/repos/dist/release/struts/ Spring各版本下载地址: http://repo.spring. ...

  6. C++ bitset

    itset存储二进制数位. bitset就像一个bool类型的数组一样,但是有空间优化——bitset中的一个元素一般只占1 bit,相当于一个char元素所占空间的八分之一. bitset中的每个元 ...

  7. zabbix监控系统的配置

    一.zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系 ...

  8. ios数据持久化(转)

    文件系统 归档和序列化 数据库 1.文件系统 不管是Mac OS X 还是iOS的文件系统都是建立在UNIX文件系统基础之上的. 1.1 沙盒模型 在iOS中,一个App的读写权限只局限于自己的沙盒目 ...

  9. echarts折线图个性化填充、线条、拐点样式

    由于每组数据的拐点样式.线条颜色都不一样,所以series里的每组数据都需要单独设置样式. 首先先来看一下完成后的效果吧 具体设置如下 series: [ { name:systemName[0], ...

  10. css怎么让li水平排列和div居中

    让li向左浮动即可 给div定一个宽度,然后margin:0 auto;即可: