Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript将Dynamics crm实体记录数据和状态从活动更改/更新为非活动_Javascript_Dynamics Crm_Dynamics Crm 2015 - Fatal编程技术网

如何使用Javascript将Dynamics crm实体记录数据和状态从活动更改/更新为非活动

如何使用Javascript将Dynamics crm实体记录数据和状态从活动更改/更新为非活动,javascript,dynamics-crm,dynamics-crm-2015,Javascript,Dynamics Crm,Dynamics Crm 2015,我在更改实体记录(Dynamics CRM 2015)的状态、状态和其他数据时遇到问题。 . 我正在尝试更新刚创建的实体记录中的数据。 但我总是收到不好的请求。请帮帮我 这是我的密码 实体名称:“发送电子邮件活动” 实体架构名称:“concep_emailcampaign” 记录测试名称:19/05/17-2 函数CreateMailCampaign(数据){ var emailcampaid,emailcampaigname; var context=Xrm.Page.context;

我在更改实体记录(Dynamics CRM 2015)的状态、状态和其他数据时遇到问题。 . 我正在尝试更新刚创建的实体记录中的数据。 但我总是收到不好的请求。请帮帮我

这是我的密码

  • 实体名称:“发送电子邮件活动”
  • 实体架构名称:“concep_emailcampaign”
  • 记录测试名称:19/05/17-2
函数CreateMailCampaign(数据){
var emailcampaid,emailcampaigname;
var context=Xrm.Page.context;
var serverUrl=Xrm.Page.context.getClientUrl();
var ODATA_ENDPOINT=“/XRMServices/2011/OrganizationData.svc”;
var CRMObject=新对象();
///////////////////////////////////////////////////////////// 
//指定ODATA实体集合
var ODATA_EntityCollection=“/concep_emailcampaignSet”;
///////////////////////////////////////////////////////////// 
CRMObject.concep_name=data.name;
EmailCampaignName=data.Name;
CRMObject.concep_Subject=data.Subject;
CRMObject.concep_SentDateTime=data.SentDateTime;
CRMObject.concep_Recipients=data.recipientsont;
CRMObject.concep_activitid=data.activitid;
CRMObject.concep_activitycode=data.activitycode;
//将实体对象解析为JSON
var jsonEntity=window.JSON.stringify(CRMObject);
//使用OData创建CRM记录的异步AJAX函数
$.ajax({type:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
url:serverUrl+ODATA_端点+ODATA_实体集合,
数据:JSONENITY,
beforeSend:函数(XMLHttpRequest){
//指定此标头可确保结果将作为JSON返回。
setRequestHeader(“接受”、“应用程序/json”);
}, 
成功:函数(数据、textStatus、XmlHttpRequest){
//警惕(“成功”);
调试器;
var NewCRMRecordCreated=数据[“d”];
ChangeRecordStatus(NewCRMRecordCreated、1、2、serverUrl);
}, 
错误:函数(XMLHttpRequest、textStatus、errorshown){
警报(“故障”);
} 
}); 
}
函数ChangeRecordStatus(数据、状态代码、状态代码、服务器URL){
//我需要用
//CRMObject.statecode={}
//CRMObject.statecode.Value=1;//不活动
//CRMObject.statuscode={Value:2}
//CRMObject.statuscode.Value=2;//不活动
//CRMObject.concep_活动={}
//CRMObject.concep_Campaign.Id=data.Campaign;
//CRMObject.concep_sendcount={}
//CRMObject.concep_sendcount.Id=data.sendcount;
//CRMObject.concep_sendcount.LogicalName=data.sendcount;
//CRMObject.concep_sendcount.Name=data.sendcount;
//CRMObject.concep_ResponsesTotal=''
//CRMObject.concep_ResponsesToRecipientsRate=''
//CRMObject.concep_concep_emailcampaign_list=''
//CRMObject.concep_emailcampaign_campaign.=''
//CRMObject.concep_emailcampaign_sendcount.=''
//CRMObject.concep_survey回复电子邮件活动
//CRMObject.user_concep_emailcampaign.=''
var serverUrl=serverUrl;
var记录\u ID=data.concep\u电子邮件活动ID
var EntityLogicalName=data.concep_name;
var请求=”;
请求+=”;
请求+=”;
请求+=”;
请求+=”;
请求+=”;
请求+=“EntityMoniker”;
请求+=”;
请求+=“”+记录ID+“”;
//请求+=“”+EntityLogicalName+“”;
请求+=”;
请求+=”;
请求+=”;
请求+=”;
请求+=“状态”;
请求+=”;
请求+=“”+stateCode+“”;
请求+=”;
请求+=”;
请求+=”;
请求+=“状态”;
请求+=”;
请求+=“”+状态代码+“”;
请求+=”;
请求+=”;
请求+=”;
请求+=”;
请求+=“设置状态”;
请求+=”;
请求+=”;
请求+=”;
请求+=”;
//发送设置状态请求
$.ajax({
类型:“POST”,
contentType:“text/xml;charset=utf-8”,
数据类型:“xml”,
url:serverUrl+“/XRMServices/2011/Organization.svc/web”,
数据:请求,
beforeSend:函数(XMLHttpRequest){
setRequestHeader(“接受”,“应用程序/xml,text/xml,*/*”;
setRequestHeader(“SOAPAction”http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Execute");
},
成功:函数(数据、textStatus、XmlHttpRequest){
警惕(“成功”);
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
警报(XMLHttpRequest);
警报(错误抛出);
}
});

}
我可以知道您为什么使用这种方法吗?有什么具体原因吗?Bcoz,这可以在UI工作流中轻松实现,无需代码

您现在正在使用JS执行的另一种方法。但是从何处调用此方法-CreateInactiveVeeMailCampaign?装表格?还是单击功能区

您必须检查更新模式的表单类型(请参阅:)。否则,创建模式将不会有RecordId


调试并查看哪一行出错。

问题是我发送给dynamics的值错误。在Microsoft支持页中,设置了错误的值

  var request = "" +
    "<s:Envelope xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>" +
    "    <s:Header>" +
    "        <SdkClientVersion xmlns='http://schemas.microsoft.com/xrm/2011/Contracts'></SdkClientVersion>" +
    "    </s:Header>" +
    "    <s:Body>" +
    "        <Execute xmlns='http://schemas.microsoft.com/xrm/2011/Contracts/Services' xmlns:i='http://www.w3.org/2001/XMLSchema-instance'>" +
    "            <request i:type='b:SetStateRequest' xmlns:a='http://schemas.microsoft.com/xrm/2011/Contracts' xmlns:b='http://schemas.microsoft.com/crm/2011/Contracts'>" +
    "                <a:Parameters xmlns:b='http://schemas.datacontract.org/2004/07/System.Collections.Generic'>" +
    "                    <a:KeyValuePairOfstringanyType>" +
    "                        <b:key>EntityMoniker</b:key>" +
    "                        <b:value i:type='a:EntityReference'>" +
    "                            <a:Id>" + RECORD_ID + "</a:Id>" +
    "                            <a:LogicalName>concep_emailcampaign</a:LogicalName>" +
    "                        </b:value>" +
    "                    </a:KeyValuePairOfstringanyType>" +
    "                    <a:KeyValuePairOfstringanyType>" +
    "                        <b:key>State</b:key>" +
    "                        <b:value i:type='a:OptionSetValue'>" +
    "                            <a:Value>1</a:Value>" +   //<----------
    "                        </b:value>" +
    "                    </a:KeyValuePairOfstringanyType>" +
    "                    <a:KeyValuePairOfstringanyType>" +
    "                        <b:key>Status</b:key>" +
    "                        <b:value i:type='a:OptionSetValue'>" +
    "                            <a:Value>-1</a:Value>" +   //<----------
    "                        </b:value>" +
    "                    </a:KeyValuePairOfstringanyType>" +
    "                    <a:KeyValuePairOfstringanyType>" +
    "                        <b:key>MaintainLegacyAppServerBehavior</b:key>" +
    "                        <b:value i:type='c:boolean' xmlns:c='http://www.w3.org/2001/XMLSchema'>true</b:value>" +
    "                    </a:KeyValuePairOfstringanyType>" +
    "                </a:Parameters>" +
    "                <a:RequestId i:nil='true' />" +
    "                <a:RequestName>SetState</a:RequestName>" +
    "            </request>" +
    "        </Execute>" +
    "    </s:Body>" +
    "</s:Envelope>";
var request=“”+
"" +
"    " +
"        " +
"    " +
"    " +
"        " +
"            " +
"                " +
"                    " +
“EntityMoniker”+
"                        " +
“”+记录\u ID+“”+
“康塞普运动”+
"                        " +
"