function CreateAISContractVersion(aisContractId)
{
var originRecordType =
"alb_aiscontract";
var originRecordGuid =
aisContractId;
var cloneData = {};
var activityId;
var serverUrl =
document.location.protocol + "//" + document.location.host +
"/" + Xrm.Page.context.getOrgUniqueName();
var oDataUri = serverUrl +
"/xrmservices/2011/OrganizationData.svc/" + originRecordType +
"Set?$select=*&$filter=" + originRecordType + "Id eq
guid'"
+
originRecordGuid + "'";
jQuery.support.cors = true;
jQuery.ajax({
type:
"GET",
contentType:
"application/json; charset=utf-8",
datatype:
"json",
url: oDataUri,
async: false,
//Synchronous operation
beforeSend:
function (XMLHttpRequest) {
//Specifying this header ensures that the results will be returned as
JSON.
XMLHttpRequest.setRequestHeader("Accept",
"application/json");
},
success: function
(data, textStatus, XmlHttpRequest) {
if (data && data.d && data.d.results) {
cloneData = data.d.results[0];
//Here insert the code to skip/transform fields such as Record Id, Date fields,
etc..
replacer = function (key, value) {
if (key == "ModifiedOn" || key == originRecordType + "Id"
||
key == "CreatedOn" || key == "StateCode" ||
key == "StatusCode") {
return
undefined;
} else if (key == "alb_contractdate" || key ==
"alb_warrantyperiodstartdate"|| key ==
"alb_warrantyperiodenddate") {
if (value) {
var date =
eval('new ' +
value.replace("/",
"").replace("/", ""));
return date.format('yyyy-MM-dd'); //Format the date
}
}
else if (key == "alb_version") {
if (value)
{
return
(parseInt(value) + 1).toString(); //Format the date
}
}
else return value;
}
//Create new Activity
var oDataUri = serverUrl +
"/xrmservices/2011/OrganizationData.svc/" +
originRecordType + "Set";
jQuery.support.cors = true;
jQuery.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: oDataUri,
async:
false, //Synchronous operation
data:
JSON.stringify(cloneData, replacer),
beforeSend: function (XMLHttpRequest) {
//Specifying this header ensures that the results will be returned as
JSON.
XMLHttpRequest.setRequestHeader("Accept","application/json");
},
success: function (data, textStatus, XmlHttpRequest) {
if (data && data.d) {
activityId = data.d.ActivityId;
}
},
error: function (XmlHttpRequest, textStatus, errorThrown) {
alert("Error : has occured during creation of the activity
" + originRecordType.text + ": " +
XmlHttpRequest.responseText);
}
});
} else {
//No data returned
}
},
error: function
(XmlHttpRequest, textStatus, errorThrown) {
alert("Error : has occured during retrieving of the activity "
+ originRecordType.text + ": " +
XmlHttpRequest.responseText);
}
});
alert(activityId);
}