Startseite > CRM 4.0, JavaScript, WebService > Object Type Code ermitteln

Object Type Code ermitteln

Es kommt im CRM immer wieder vor, das der ObjectTypeCode der Entität mit übergeben werden muss. Da das CRM System diesen ObjectTypeCode beim anlegen einer Entität immer neu vergibt, kann beim übertragen der Anpassungen von einem System auf das andere nicht sichergestellt werden, das dieser Nummer die gleiche ist, so das anschließend eine Nacharbeitung der betroffenen JavaScripte erfolgen muss.

Mit folgender Funktion kann dieser Wert dynamisch ermittelt werden.

function GetObjectTypeCodeForEntity(Entity)
{
   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>" +
   "    <Execute xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
   "      <Request xsi:type=\"RetrieveEntityRequest\">" +
   "        <MetadataId>00000000-0000-0000-0000-000000000000</MetadataId>" +
   "        <EntityItems>EntityOnly</EntityItems>" +
   "        <LogicalName>" + Entity + "</LogicalName>" +
   "        <RetrieveAsIfPublished>true</RetrieveAsIfPublished>" +
   "      </Request>" +
   "    </Execute>" +
   "  </soap:Body>" +
   "</soap:Envelope>" +
   "";
    
   var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
   xmlHttpRequest.Open("POST", "/mscrmservices/2007/MetaDataService.asmx", false);
   xmlHttpRequest.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/2007/WebServices/Execute");
   xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
   xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
   xmlHttpRequest.send(xml);
   var resultXml = xmlHttpRequest.responseXML.selectSingleNode("//ObjectTypeCode");
   return resultXml.text;
}
 
alert("ObjectTypeCode: " + GetObjectTypeCodeForEntity("new_entity"));

Schlagwörter: , ,
  1. Es gibt noch keine Kommentare.
  1. No trackbacks yet.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: