Javascript 插件未触发使用CRM 2016中的操作创建的自定义消息
我创建了一个功能区按钮、一个空白操作(流程)和一个插件。我从功能区按钮调用操作(JavaScript),该按钮还需要使用自定义消息触发插件。我可以使用soap调用调用该操作,但它不会触发已在该自定义消息上注册的插件。我在helper方法的底部添加了一个警报,该警报正在成功弹出,但是插件无法触发。感谢您的帮助Javascript 插件未触发使用CRM 2016中的操作创建的自定义消息,javascript,dynamics-crm,dynamics-crm-2013,dynamics-crm-2015,dynamics-crm-2016,Javascript,Dynamics Crm,Dynamics Crm 2013,Dynamics Crm 2015,Dynamics Crm 2016,我创建了一个功能区按钮、一个空白操作(流程)和一个插件。我从功能区按钮调用操作(JavaScript),该按钮还需要使用自定义消息触发插件。我可以使用soap调用调用该操作,但它不会触发已在该自定义消息上注册的插件。我在helper方法的底部添加了一个警报,该警报正在成功弹出,但是插件无法触发。感谢您的帮助 function SendIOButtonActionCall() { var entityId = Xrm.Page.data.entity.getId(); var entityName
function SendIOButtonActionCall() {
var entityId = Xrm.Page.data.entity.getId();
var entityName = Xrm.Page.data.entity.getEntityName();
var requestName = "vm_SendIOButton";
var OpportunityId = String(Xrm.Page.data.entity.getId());
ExecuteAction(entityId, entityName, requestName);
//window.location.reload(true);
}
function ExecuteAction(entityId, entityName, requestName) {
// Creating the request XML for calling the Action
var requestXML = ""
requestXML += "<s:envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">";
requestXML += " <s:body>";
requestXML += " <execute xmlns=\"http://schemas.microsoft.com/xrm/2011/Contracts/Services\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">";
requestXML += " <request xmlns:a=\"http://schemas.microsoft.com/xrm/2011/Contracts\">";
requestXML += " <a:parameters xmlns:b=\"http://schemas.datacontract.org/2004/07/System.Collections.Generic\">";
requestXML += " <a:keyvaluepairofstringanytype>";
requestXML += " <b:key>Target</b:key>";
requestXML += " <b:value i:type=\"a:EntityReference\">";
requestXML += " <a:id>" + entityId + "</a:id>";
requestXML += " <a:logicalname>" + entityName + "</a:logicalname>";
requestXML += " <a:name i:nil=\"true\">";
requestXML += " </a:name></b:value>";
requestXML += " </a:keyvaluepairofstringanytype>";
requestXML += " </a:parameters>";
requestXML += " <a:requestid i:nil=\"true\">";
requestXML += " <a:requestname>" + requestName + "</a:requestname>";
requestXML += " </a:requestid></request>";
requestXML += " </execute>";
requestXML += " </s:body>";
requestXML += "</s:envelope>";
var req = new XMLHttpRequest();
req.open("POST", GetClientUrl(), false)
req.setRequestHeader("Accept", "application/xml, text/xml, */*");
req.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
req.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Execute");
req.send(requestXML);
alert("success");
//Get the Response from the CRM Execute method
//var response = req.responseXML.xml;
}
function GetClientUrl() {
if (typeof Xrm.Page.context == "object") {
clientUrl = Xrm.Page.context.getClientUrl();
}
var ServicePath = "/XRMServices/2011/Organization.svc/web";
return clientUrl + ServicePath;
}
函数SendIOButtonActionCall(){
var entityId=Xrm.Page.data.entity.getId();
var entityName=Xrm.Page.data.entity.getEntityName();
var requestName=“vm_SendIOButton”;
var OpportunityId=String(Xrm.Page.data.entity.getId());
ExecuteAction(entityId、entityName、requestName);
//window.location.reload(true);
}
函数执行(entityId、entityName、requestName){
//创建用于调用操作的请求XML
var requestXML=“”
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“目标”;
requestXML+=“”;
requestXML+=“”+entityId+“”;
requestXML+=“”+entityName+“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”+requestName+“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
requestXML+=“”;
var req=新的XMLHttpRequest();
请求打开(“POST”,GetClientUrl(),false)
setRequestHeader(“接受”、“应用程序/xml、文本/xml、*/*”);
请求setRequestHeader(“内容类型”,“文本/xml;字符集=utf-8”);
请求setRequestHeader(“SOAPAction”http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Execute");
请求发送(requestXML);
警惕(“成功”);
//从CRM执行方法获取响应
//var response=req.responseXML.xml;
}
函数GetClientUrl(){
if(typeof Xrm.Page.context==“对象”){
clientUrl=Xrm.Page.context.getClientUrl();
}
var ServicePath=“/XRMServices/2011/Organization.svc/web”;
返回clientUrl+ServicePath;
}
需要检查的事项:
谢谢…波尔什巨人…太棒了。它就像一个符咒…问题出在插件代码中…检查点2解决了我的问题。。。