//C# 代码 //Entity target = new Entity() { LogicalName = "opportunityclose" }; //target["opportunityid"] = // new EntityReference() { LogicalName = "opportunity", Id = new Guid("F56B88B7-D412-E411-9405-00155D005808") }; //target["actualrevenue"] = new Money(10); //target["actualend"] = DateTime.Now; //target["description"] = "測试"; //WinOpportunityRequest request = new WinOpportunityRequest(); //request.OpportunityClose = target; //request.Status = new OptionSetValue(4);
//js 使用soap调用 function deom() { //商机id var opportunityid = "F56B88B7-D412-E411-9405-00155D005808"; //实际收入 var actualrevenue = 10; //结束实际 var actualend = "2014-07-24T12:49:52.6654687+08:00"; //描写叙述 var description = "測试"; //状态 var state = 4;
//使商机赢单 WinOpportunity(opportunityid, actualrevenue, actualend, description, state); }
function WinOpportunity(opportunityid, actualrevenue, actualend, description, state) { var request = "<s:Envelope xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>" + "<s:Body>" + "<Execute xmlns='http://schemas.microsoft.com/xrm/2011/Contracts/Services' xmlns:i='http://www.w3.org/2001/XMLSchema-instance'>" + "<request i:type='b:LoseOpportunityRequest' xmlns:a='http://schemas.microsoft.com/xrm/2011/Contracts' xmlns:b='http://schemas.microsoft.com/crm/2011/Contracts'>" + "<a:Parameters xmlns:c='http://schemas.datacontract.org/2004/07/System.Collections.Generic'>" + "<a:KeyValuePairOfstringanyType>" + "<c:key>OpportunityClose</c:key>" + "<c:value i:type='a:Entity'>" + "<a:Attributes>" + "<a:KeyValuePairOfstringanyType>" + "<c:key>opportunityid</c:key>" + "<c:value i:type='a:EntityReference'>" + "<a:Id>" + opportunityid + "</a:Id>" + "<a:LogicalName>opportunity</a:LogicalName>" + "<a:Name i:nil='true' />" + "</c:value>" + "</a:KeyValuePairOfstringanyType>" + "<a:KeyValuePairOfstringanyType>" + "<c:key>actualrevenue</c:key>" + "<c:value i:type='a:Money'>" + "<a:Value>" + actualrevenue + "</a:Value>" + "</c:value>" + "</a:KeyValuePairOfstringanyType>" + "<a:KeyValuePairOfstringanyType>" + "<c:key>actualend</c:key>" + "<c:value i:type='d:dateTime' xmlns:d='http://www.w3.org/2001/XMLSchema'>" + actualend + "</c:value>" + "</a:KeyValuePairOfstringanyType>" + "<a:KeyValuePairOfstringanyType>" + "<c:key>description</c:key>" + "<c:value i:type='d:string' xmlns:d='http://www.w3.org/2001/XMLSchema'>" + description + "</c:value>" + "</a:KeyValuePairOfstringanyType>" + "</a:Attributes>" + "<a:EntityState i:nil='true' />" + "<a:FormattedValues />" + "<a:Id>00000000-0000-0000-0000-000000000000</a:Id>" + "<a:LogicalName>opportunityclose</a:LogicalName>" + "<a:RelatedEntities />" + "</c:value>" + "</a:KeyValuePairOfstringanyType>" + "<a:KeyValuePairOfstringanyType>" + "<c:key>Status</c:key>" + "<c:value i:type='a:OptionSetValue'>" + "<a:Value>" + state + "</a:Value>" + "</c:value>" + "</a:KeyValuePairOfstringanyType>" + "</a:Parameters>" + "<a:RequestId i:nil='true' />" + "<a:RequestName>WinOpportunity</a:RequestName>" + "</request>" + "</Execute>" + "</s:Body>" + "</s:Envelope>";
execSoap(request); }
//获取服务地址 function getWebUrl() { var serverUrl = Xrm.Page.context.getServerUrl(); if (serverUrl.match(/\/$/)) { serverUrl = serverUrl.substring(0, serverUrl.length - 1); } return serverUrl + "/XRMServices/2011/Organization.svc/web"; } //运行请求 function execSoap(request) { var ajaxRequest = new XMLHttpRequest(); ajaxRequest.open("POST", getWebUrl(), true) ajaxRequest.setRequestHeader("Accept", "application/xml, text/xml, */*"); ajaxRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); ajaxRequest.setRequestHeader("SOAPAction", ""); ajaxRequest.send(request); }