8 Kasım 2010 Pazartesi

Kullanıcının Id'sini Alma Script'i(Get Current UserId)

Merhaba arkadaşlar crm'i kullanan kullanıcının(WhoAmI) id'sini aşağıdaki script'i form'un onload'una yazarak bulabilirsiniz.

alert(GetCurrentUserId());

function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } function GetCurrentUserId() { try { var UserId = readCookie('UserId') ; if ( UserId == null ) { var soapBody = ""+
""+
""+
"
";

var soapXml = "";

soapXml += GenerateAuthenticationHeader();
soapXml += soapBody;
soapXml += "
";

var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.open("POST", "/mscrmservices/2007/crmservice.asmx", false);

xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlhttp.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/Execute");

xmlhttp.send(soapXml);
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(xmlhttp.responseXML.xml);

createCookie('UserId',xmlDoc.getElementsByTagName("UserId")[0].childNodes[0].nodeValue,1);
//var buid = xmlDoc.getElementsByTagName("BusinessUnitId")[0].childNodes[0].nodeValue;
//var orgid = xmlDoc.getElementsByTagName("OrganizationId")[0].childNodes[0].nodeValue;

return xmlDoc.getElementsByTagName("UserId")[0].childNodes[0].nodeValue;

}
else
return UserId;
}
catch(err)
{
}
}

Microsoft Dynamics CRM 2011 Walkthrough Part 2