SetState Request Example Using Javascript

Add the below Functions in Javascript Webresource and be sure to pass correct StateCode and StatusCode for the particular entity.

function callRecordStatus() {
var recordGuid = Xrm.Page.data.entity.getId();
   //StateCode   2 - Disqualified
   //StatusCode 4 - Lost
setRecordStatus ("lead", recordGuid, "2", "4");
}

function setRecordStatus(entitySchemaName, recordGuid, stateCode, statusCode) {
  // create the request
var request = "";
request += "";
request += "";
request += "";
request += "";
request += "";
request += "EntityMoniker";
request += "";
request += "" + recordGuid +"";
request += "" + entitySchemaName + "";
request += "";
request += "";
request += "";
request += "";
request += "State";
request += "";
request += "" + stateCode + "";
request += "";
request += "";
request += "";
request += "Status";
request += "";
request += "" + statusCode + "";
request += "";
request += "";
request += "";
request += "";
request += "SetState";
request += "";
request += "";
request += "";
request += "";
   //send set state request  
$.ajax({
type: "POST",
contentType: "text/xml; charset=utf-8",
datatype: "xml",
url: Xrm.Page.context.getClientUrl() + "/XRMServices/2011/Organization.svc/web",
data: request,
beforeSend: function(XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Accept", "application/xml, text/xml, */*");
XMLHttpRequest.setRequestHeader("SOAPAction",
"http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Execute");
},
success: function(data, textStatus, XmlHttpRequest) {
//Add code after changing Status of the record
},

error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
}

Note:
Xrm.Page.context.getClientUrl() – New javascript function in CRM 2013 used to get ServerURL.

Please provide your valuable comments on this article.


Discover more from Arun Potti's Power Platform blog

Subscribe to get the latest posts sent to your email.

Leave a Reply