<?xml version="1.0" encoding="utf-8" standalone="yes"?> <feed xml:base="http://<SERVER_NAME>/<ORG>/XRMServices/2011/OrganizationData.svc/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom"> <title type="text">ContactSet</title> <id>http://<SERVER_NAME>/<ORG>/XRMServices/2011/OrganizationData.svc/ContactSet</id> <updated>2013-03-27T22:56:13Z</updated> <link rel="self" title="ContactSet" href="ContactSet" /> <entry> <id>http://<SERVER_NAME>/<ORG>/XRMServices/2011/OrganizationData.svc/ContactSet(guid'a1034be1-0000-e211-a0c1-0050568c5ad0')</id> <title type="text">DAY NIGHT</title> <updated>2009-03-27T22:56:13Z</updated> <author> <name /> </author> <link rel="edit" title="Contact" href="ContactSet(guid'a1034be1-0000-e211-a0c1-0050568c5ad0')" /> <category term="Microsoft.Crm.Sdk.Data.Services.Contact" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> <content type="application/xml"> <m:properties> <d:FirstName>DAY</d:FirstName> <d:ContactId m:type="Edm.Guid">a1034be1-0000-e211-a0c1-0050568c5ad0</d:ContactId> <d:LastName>NIGHT</d:LastName> </m:properties> </content> </entry> </feed>
var xmlhttp; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } var url ="/<ORG>/XRMServices/2011/OrganizationData.svc/ContactSet()?$select=ContactId,FirstName,LastName&orderby=fullname&$filter=employeeid eq '" + eid+ "'"; xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var jsonDoc = JSON.parse(xmlhttp.responseText).d; var contatid; for (var i = 0; i < jsonDoc.results.length; i++) { contatid = jsonDoc.results[i].ContactId; //can get this node } var erURL = "/<ORG>/main.aspx?etn=contact&pagetype=entityrecord&id=%7B"+ contatid + "%7D"; window.open(erURL,'erURL','directories=0,location=0,menubar=0,status=0,toolbar=0'); } } xmlhttp.open("GET",url,true); xmlhttp.setRequestHeader("Accept", "application/json"); xmlhttp.setRequestHeader("Content-Type", "application/json; charset=utf-8"); xmlhttp.send(null);
The jquery1.4.1.min.js and json2.js files can be found in the most recent MS CRM SDK. sdk\samplecode\js\restendpoint\jqueryrestdataoperations\jqueryrestdataoperations\scripts. var odataSelect = "Your OData Query"; $.ajax({ type: "GET", contentType: "application/json; charset=utf-8", datatype: "json", url: odataSelect, beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json"); }, success: function (data, textStatus, XmlHttpRequest) { // Use only one of these two methods // Use for a selection that may return multiple entities ProcessReturnedEntities(data.d.results); // Use for a single selected entity ProcessReturnedEntity(data.d); }, error: function (XmlHttpRequest, textStatus, errorThrown) { alert('OData Select Failed: ' + odataSelect); } }); function ProcessReturnedEntities(ManyEntities) { for( i=0; i< ManyEntities.length; i++) { var oneEntity = ManyEntities[i]; var accountNumberAttribute = oneEntity.AccountNumber; var accountNumberValue = eval(oneEntity.AccountNumber); } } function ProcessReturnedEntity(OneEntity) { var oneEntity = OneEntity; var accountNumber = oneEntity.AccountNumber; var accountNumberValue = eval(oneEntity.AccountNumber); } You can find out the type of a form control as follows: var attrType = Xrm.Page.getAttribute("accountnumber").getAttributeType(); string, memo fields: Xrm.Page.getAttribute("accountnumber").setValue(eval(oneEntity.AccountNumber)); decimal, double fields: Xrm.Page.getAttribute("new_float").setValue(parseFloat(eval(oneEntity.new_Float))); integer fields Xrm.Page.getAttribute("new_integer").setValue(parseInt(eval(oneEntity.new_Integer))); money fields Xrm.Page.getAttribute("new_moneyattribute").setValue(parseFloat(eval(oneEntity.new_MoneyAttribute.Value))); optionset fields Xrm.Page.getAttribute("new_optionset").setValue(eval(oneEntity.new_OptionSet.Value)); date fields var fieldValue = eval(oneEntity.new_DateTime); var dateValue = new Date(parseInt(fieldValue.replace("/Date(", "").replace(")/", ""), 10)); Xrm.Page.getAttribute("new_datetime").setValue(dateValue); Lookup var olookup = new Object(); olookup.id = ManyEntities[0].Id; olookup.entityType = "account"; olookup.name = ManyEntities[0].Name; var olookupValue = new Array(); olookupValue[0] = olookup; Xrm.Page.getAttribute("account").setValue(olookupValue);
2 comments:
Hello Mak!
I am not too familiar with CRM.
Can you please elaborate on this post with a few lines describing the requirement and where to put the code in?
Manu.
var url ="//XRMServices/2011/OrganizationData.svc/ContactSet()?$select=ContactId,FirstName,LastName&orderby=fullname&$filter=employeeid eq '" + eid+ "'";
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var jsonDoc = JSON.parse(xmlhttp.responseText).d;
var contatid;
for (var i = 0; i < jsonDoc.results.length; i++) {
contatid = jsonDoc.results[i].ContactId; //can get this node
}
var erURL = "//main.aspx?etn=contact&pagetype=entityrecord&id=%7B"+ contatid + "%7D";
window.open(erURL,'erURL','directories=0,location=0,menubar=0,status=0,toolbar=0');
}
}
put the above code in your form onload evenet, response will be json format (xmlhttp.responseText), that was i mentioned on the top of the blog.
Post a Comment