this is the code.
How do you know your environment is the same as mine ? I am using it in a development environment.
[code]
function setCompetitor(executionContext) {
var formContext = executionContext.getFormContext();
var formType = formContext.ui.getFormType();
// Check current opportunity is closed
if (formType == 3 || formType == 4) {
var opportunityid = formContext.data.entity.getId();
opportunityid = opportunityid.replace('{', '').replace('}', '');
var url = Xrm.Utility.getGlobalContext().getClientUrl();
var req = new XMLHttpRequest();
req.open(
"GET",
url + "/api/data/v9.1/opportunitycloses?$filter=_regardingobjectid_value eq " + opportunityid + " and statecode eq 1",
false
);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Prefer", 'odata.include-annotations="*"');
req.send();
if (req.readyState === 4) {
if (req.status === 200) {
var results = JSON.parse(req.response);
if (results.value[0]["_competitorid_value"] != null) {
formContext.getAttribute("new_competitor").setValue(results.value[0]["_competitorid_value@OData.Community.Display.V1.FormattedValue"]);
}
} else {
var alertStrings = { confirmButtonLabel: "Close", text: JSON.parse(req.response).error, title: "Error occured" };
var alertOptions = { height: 150, width: 250 };
Xrm.Navigation.openAlertDialog(alertStrings, alertOptions).then(
function success(result) {
console.log("Closed");
},
function(error) {
console.log(error.message);
}
);
}
}
}
}
[|code]