Following code can be used to close Quote as Won using JavaScript and WebApi:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
var quoteclose = { "quoteid@odata.bind": "/quotes(D6ED8C34-EA0F-E711-810E-1458D041F8E8)",//replace with id of active quote "subject": "Quote Won Subject", "actualend": new Date(), "description": "Your description here" }; var parameters = { "QuoteClose": quoteclose, "Status": -1 }; var context; if (typeof GetGlobalContext === "function") { context = GetGlobalContext(); } else { context = Xrm.Page.context; } var req = new XMLHttpRequest(); req.open("POST", context.getClientUrl() + "/api/data/v8.2/WinQuote", true); req.setRequestHeader("OData-MaxVersion", "4.0"); req.setRequestHeader("OData-Version", "4.0"); req.setRequestHeader("Accept", "application/json"); req.setRequestHeader("Content-Type", "application/json; charset=utf-8"); req.onreadystatechange = function () { if (this.readyState === 4) { req.onreadystatechange = null; if (this.status === 204) { //Success - No Return Data - Do Something } else { var errorText = this.responseText; //Error and errorText variable contains an error - do something with it } } }; req.send(JSON.stringify(parameters)); |
Excellent post.
To Close Quote as Lost, change “/api/data/v8.2/WinQuote” to “/api/data/v8.2/CloseQuote”.
Thanks!