//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", "http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Execute");
ajaxRequest.send(request);
}