11. September 2009 09:14
11. September 2009 10:02
function GetCurrentUserInfo()
{
var SERVER_URL = "http://CRM";
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.open("POST", SERVER_URL + "/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");
var soapBody = "<soap:Body>"+
"<Execute xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+
"<Request xsi:type='WhoAmIRequest' />"+
"</Execute></soap:Body>";
var soapXml = "<soap:Envelope " +
"xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' "+
"xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' "+
"xmlns:xsd='http://www.w3.org/2001/XMLSchema'>";
soapXml += GenerateAuthenticationHeader();
soapXml += soapBody;
soapXml += "</soap:Envelope>";
xmlhttp.send(soapXml);
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(xmlhttp.responseXML.xml);
var userid = xmlDoc.getElementsByTagName("UserId")[0].childNodes[0].nodeValue;
var buid = xmlDoc.getElementsByTagName("BusinessUnitId")[0].childNodes[0].nodeValue;
var orgid = xmlDoc.getElementsByTagName("OrganizationId")[0].childNodes[0].nodeValue;
alert("UserId: " + userid + "\r\nBusinessUnitId: " + buid + "\r\nOrganizationId: " + orgid);
}
11. September 2009 11:21
crmForm.all.new_notiz.parentElement.parentElement.parentElement.style.display = "none";
var SERVER_URL = "http://server";
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.open("POST", SERVER_URL + "/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");
var soapBody = "<soap:Body>"+ "<Execute xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+ "<Request xsi:type='WhoAmIRequest' />"+ "</Execute></soap:Body>";
var soapXml = "<soap:Envelope " + "xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' "+
"xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' "+
"xmlns:xsd='http://www.w3.org/2001/XMLSchema'>";
soapXml += GenerateAuthenticationHeader();
soapXml += soapBody;
soapXml += "</soap:Envelope>";
xmlhttp.send(soapXml);
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(xmlhttp.responseXML.xml);
var useridObject = "{" + xmlDoc.getElementsByTagName("UserId")[0].childNodes[0].nodeValue + "}";
var userid = useridObject.toUpperCase();
var owneridObject = crmForm.all.ownerid.DataValue;
var owner = owneridObject[0].id;
var buid = xmlDoc.getElementsByTagName("BusinessUnitId")[0].childNodes[0].nodeValue;
var orgid = xmlDoc.getElementsByTagName("OrganizationId")[0].childNodes[0].nodeValue;
//Debug Alert um zu testen
//alert("UserId: " + userid + "\r\nBusinessUnitId: " + buid + "\r\nOrganizationId: " + orgid + "\r\nOwner ID: "+ owneridObject + "\r\nOwner GUID: " + owner);
if(userid == owner)
{
//Debug Alert um zu testen
//alert("IF-Bedingung Funktioniert");
crmForm.all.new_notiz.parentElement.parentElement.parentElement.style.display = '';
}
else
{
//Debug Alert um zu testen
// alert("IF-Bedingung funktioniert nicht!");
}
11. September 2009 11:24
michael sulz hat geschrieben:Hallo Christian,
ja, das ist möglich.
Entweder blendest du die Felder einfach per JavaScript aus, wobei das keinen vollständigen Schutz der Felder bedeutet, da diese immer noch in der erweiterten Suche und Drucken angezeigt werden. Das entsprechende Java Script, um die UseID zu ermitteln:
Oder du kaufst eine Partnerlösung, die die Ausgabe des Servers abfängt und das Feld nur noch an berechtigte Benutzer ausliefert. Ich weiß, dass es diese Lösung bereits zu kaufen gibt, habe aber den Link gerade nicht zur Hand. Einfach mal ein bisschen in Bing stöbern.
11. September 2009 11:43