Quantcast
Channel: Microsoft Dynamics CRM Forum - Recent Threads
Viewing all articles
Browse latest Browse all 79901

Creating a Booking Rule for Field Service JavaScript issue

$
0
0

I've tried to create a booking rule and trying to get the Work Order ID.

It executes fine but it doesn't seem to be retrieving the Work Order ID from my WebAPI query. I tested it using the RESTBuilder so I know its a good query. Does anyone with some more advanced JS knowledge know whats wrong with this code?

function newBookingRule(sbContext)
{
	debugger;
	var ctx = sbContext;
	var clientUrl = Xrm.Page.context.getClientUrl();
	var ruleResult = {
		IsValid: false,
		Message: '',
		Type: 'error'
	};
	var WorkOrderID;
	var req = new XMLHttpRequest();
	req.open("GET", Xrm.Page.context.getClientUrl() + "/api/data/v8.2/msdyn_resourcerequirements(" + sbContext.newValues.ResourceRequirementId + ")?$select=_msdyn_workorder_value", true);
	req.setRequestHeader("Accept", "application/json");
	req.setRequestHeader("Content-Type", "application/json;charset=utf-8");
	req.setRequestHeader("OData-MaxVersion", "4.0");
	req.setRequestHeader("OData-Version", "4.0");
	req.setRequestHeader("Prefer", "odata.include-annotations=OData.Community.Display.V1.FormattedValue");
    console.log(Xrm.Page.context.getClientUrl() + "/api/data/v8.2/msdyn_resourcerequirements(" + sbContext.newValues.ResourceRequirementId + ")?$select=_msdyn_workorder_value");
	req.onreadystatechange = function ()
	{
		if (this.readyState === 4)
		{
			req.onreadystatechange = null;
			if (this.status === 200)
			{
				var result = JSON.parse(this.response);
				var WorkOrderID = result["_msdyn_workorder_value"];
				console.log(WorkOrderID);
			}
		}
	};
	req.send();
	if (WorkOrderID != null)
	{
		ruleResult.IsValid = true;
		ruleResult.Message = 'Success';
		ruleResult.Type = 'success';
	}
	else
	{
		ruleResult.IsValid = false;
		ruleResult.Message = 'Work order needs team leader approval.';
		ruleResult.Type = 'error'; //also you can use 'warning' - gives you a choice to proceed or not and 'success'
	}
	return ruleResult;
}



Viewing all articles
Browse latest Browse all 79901

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>