f="http://marioraunig.blogspot.com/">http://marioraunig.blogspot.com/</A>) ist ja ganz

Bekanntlicherweise können bei den Attributen einer Entität Beschreibungen hinterlegt werden. Schön wäre es, wenn diese Beschreibung auch für Benutzer sichtbar wären, wenn sie beispielsweise mit der Maus über das entsprechende Feld im Formular gehen. Im Standard ist das leider nicht so, stattdessen wird in einer Quickinfo der Name des Feldes wiederholt.


Mit dem nachfolgenden Skript ist das jedoch ohne weiteres möglich. Es muss hierzu nur in das OnLoad-Ereignis der entsprechenden Entität eingetragen werden:


var serviceUrl = "/mscrmservices/2006/metadataservice.asmx";
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST", serviceUrl, false);
xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=iso-8859-1")
xmlhttp.setRequestHeader("SOAPAction", "
http://schemas.microsoft.com/crm/2006/WebServices/RetrieveEntityMetadata")
xmlhttp.send("<?xml version='1.0' encoding='utf-8'?>"+"\n\n"+"<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">'+
'  <soap:Body>' +
'    <RetrieveEntityMetadata xmlns=\"
http://schemas.microsoft.com/crm/2006/WebServices\">' +
'      <entityName>' + crmForm.ObjectTypeName + '</entityName>' +
'      <flags>IncludeAttributes</flags>' +
'    </RetrieveEntityMetadata>' +
'  </soap:Body>' +
' </soap:Envelope>');
var result = xmlhttp.responseXML;
var attributes = result.selectNodes("//Attribute");
for (i=0; i<attributes.length; i++) {
 var attribute = attributes[i];
 var attributename = attribute.selectSingleNode("Name");
 var attributedescription = attribute.selectSingleNode("Description");
 if (attributedescription != null) {
  if (attributedescription.text != "") {
   var element = document.getElementById(attributename.text);
   if (element != null) {
    element.title = attributedescription.text;
   }
   element = document.getElementById(attributename.text + "_c");
   if (element != null) {
    element.title = attributedescription.text;
   }
  }
 }
}


In diesem Skript wird das (undokumentierte und unsupportete) Attributfeld "title" verwendet, das Microsoft CRM intern nutzt, jedoch nicht überschreibt, wenn es bereits verwendet wird. Der Rest ist ein klassischer Webdienstaufruf auf die Microsoft CRM Metadaten.


Viel Spaß beim Austesten!!!



AW: Anzeige der Attributsbeschreibung im Formular

hey, cool, das ist endlich eine einfache möglichkeit, den usern individuelle hilfetexte (info zu bestimmten feldern) einzublenden. echt stark, bin begeistert!!!!


AW: Gratis-Onlinehilfe für Anwender!!! (Anzeige der Attributsbeschreibung im Formular)

Einfach Top, einfügen und es geht


danke



Re: AW: Gratis-Onlinehilfe für Anwender!!! (Anzeige der Attributsbeschreibung im Formular)

In CRM 4.0 geht das übrigens auch. :-)


Demnächst halte ich hier auch einen TechNet-Webcast dazu.



Online-Hilfe

Hallo,

gibt es dieses Skript noch irgendwo?
Mit dem 1. Posting kann ich leider nichts anfangen.

Gruß
Mario


Onlinehilfe

Es scheint wohl derzeit Probleme mit XML zu geben. Auf Anfrage maile ich den Code gerne zu.