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.





























