Когда вы создаете свое действие, укажите None для Entity. Это делает действие глобальным. Глобальным действиям не нужно передавать ссылку на сущность. Таким образом, JS будет выглядеть следующим образом:.
function ExecuteAction(requestName, refreshPage, stringParameter) {
// 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>Data</b:key>';
requestXML += ' <b:value i:type="c:string" xmlns:c="http://www.w3.org/2001/XMLSchema">' + stringParameter + '</b:value>';
requestXML += ' </a:KeyValuePairOfstringanyType>';
requestXML += ' </a:Parameters>';
requestXML += ' <a:RequestId i:nil="true " />';
requestXML += ' <a:RequestName>' + requestName + '</a:RequestName>';
requestXML += ' </request>';
requestXML += ' </Execute>';
requestXML += ' </s:Body>';
requestXML += '</s:Envelope>';
var req = new XMLHttpRequest();
req.open("POST", GetServiceUrl(), 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);
//refresh the page if the request was successful.
if (req.status == 200) {
if (refreshPage) {
RefreshForm()
}
} else {
Xrm.Utility.alertDialog(req.statusText + "n" + req.responseXML.getElementsByTagName("faultstring")[0].textContent);
}
}
(Обратите внимание, что когда я скопировал код из блога я должен был перевернуть все кавычки и переформатировать код, который я, возможно, пропустил что-то, так что вы 'll хочу удвоить проверку правильности XML.)
Спасибо! Он говорит еще 8, прежде чем я могу добавить комментарий по какой-то причине. – gareth99