Получаем название организации пользователя в Microsoft CRM

by DenizK 1. сентября 2010 09:18

Задача: нужно получить название организации (Business Unit) из Microsoft CRM. Решается следующим кодом

 

  • function UserHasBusinessUnit(businessUnits)  
  • {  
  •   var mybu = GetMyBusinessUnit();  
  •   
  •   for (j = 0; j < businessUnits.length; j++)  
  •   {  
  •     // If there is a match, return true, found  
  •     if (mybu == businessUnits[j]) return true;  
  •   }    
  •   
  •   //otherwise return false  
  •   return false;  
  • }  
  • function GetMyBusinessUnit() {  
  •     var xml = "" +  
  •     "<?xml version='1.0' encoding='utf-8'?>" +  
  •     "<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'>" +  
  •     GenerateAuthenticationHeader() +  
  •     "<soap:Body>" +  
  •     "<Fetch xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>" +  
  •     "<fetchXml>" +  
  •     " &lt;fetch mapping='logical' count='1'&gt;" +  
  •     " &lt;entity name='businessunit'&gt;" +  
  •     " &lt;attribute name='name' /&gt;" +  
  •     " &lt;filter&gt;" +  
  •     " &lt;condition attribute='businessunitid' operator='eq-businessid' /&gt;" +  
  •     " &lt;/filter&gt;" +  
  •     " &lt;/entity&gt;" +  
  •     " &lt;/fetch&gt;" +  
  •     "</fetchXml>" +  
  •     "</Fetch>" +  
  •     "</soap:Body>" +  
  •     "</soap:Envelope>";  
  •   
  •     var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");  
  •     xmlHttpRequest.Open("POST""/mscrmservices/2007/CrmService.asmx"false);  
  •     xmlHttpRequest.setRequestHeader("SOAPAction""http://schemas.microsoft.com/crm/2007/WebServices/Fetch");  
  •     xmlHttpRequest.setRequestHeader("Content-Type""text/xml; charset=utf-8");  
  •     xmlHttpRequest.setRequestHeader("Content-Length", xml.length);  
  •     xmlHttpRequest.send(xml);  
  •   
  •     var resultXml = xmlHttpRequest.responseXML;  
  •   
  •     var resultSet = resultXml.text;  
  •     resultSet.replace('&lt;''< ');  
  •     resultSet.replace('&gt;''>');  
  •   
  •     var oXmlDoc = new ActiveXObject("Microsoft.XMLDOM");  
  •     oXmlDoc.async = false;  
  •     oXmlDoc.loadXML(resultSet);  
  •   
  •     var result = oXmlDoc.getElementsByTagName('name');    
  •   
  •     return result[0].text;  
  • }  
  •  

    Текущий рейтинг: 5.0 (1 голосов)

    • Currently 5/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5

    Tags:

    Microsoft CRM

    Комментарии закрыты

    О нас

    Это блог компании Инлайн. Мы занимаемся разработкой сайтов, корпоративных порталов и корпоративных информационных систем на основе новейших технологии Microsoft  - ASP.NET, SharePoint и Silverlight. А в этом блоге мы размещаем самые последние новости в области разработке для web.

    Облако тегов