LogicalName von Feldern auf Form sichtbar machen

Will man den LogicalName eines Feldes auf einem Formular herausfinden (Bsp. für JavaScripts, Reports etc.), muss man normalerweise das Edit-Form öffnen, dort die Eigenschaften des Attributes anzeigen, in welchem dann der Name gefunden werden kann:

image

Das geht einfacher! Und zwar mit Hlife des folgenden Scripts:

(function(){var frm=(window.Xrm&&window.Xrm.Page&&window.Xrm.Page.ui&&window)||(frames[1]&&frames[1].Xrm&&frames[1].Xrm.Page.ui&&frames[1])||frames[0];var Xrm=frm.Xrm;if(!Xrm||!Xrm.Page||!Xrm.Page.ui){alert(‚Unable to find CRM form‘);return;}Xrm.Page.ui.tabs.forEach(function(tab){tab.setVisible(true);tab.sections.forEach(function(section){section.setVisible(true);});});var $=frm.jQuery||(frm.CEI&&frm.CEI.$);if(!$){var head=frm.document.getElementsByTagName(‚head‘).item(0);var s=frm.document.createElement(’script‘);s.setAttribute(‚type‘,’text/javascript‘);s.setAttribute(’src‘,’https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.js‘);s.async=false;head.appendChild(s);waitForJQ();}else{setLabels();}function waitForJQ(){if(frm.jQuery){$=frm.jQuery.noConflict(true);setLabels();}else{setTimeout(waitForJQ,1000);}}function setLabels(){Xrm.Page.data.entity.attributes.forEach(function(a){a.controls.forEach(function(c){var lblText=c.getLabel();c.setVisible(true);var attr=a.getName();var lbl=$(‚#’+c.getName()+’_c‘).html(“);lbl.css(‚text-align‘,’left‘);if(lbl.is(‚td‘)){lbl.closest(‚table‘).children(‚colgroup‘).children(‚col:even‘).attr(‚width‘,’400′);}$(‚<input/>‘).width(200).val(attr).appendTo(lbl).focus(function(){$(this).select()});$(‚<span></span>‘).text(lblText).appendTo(lbl);});});}})();

Das Script wird via Konsole der Developer-Tools ausgeführt. Dazu das gewünschte Formular im IE öffnen und mit F12 die Developer-Tools starten. Hier unter “Konsole” das Script einfügen und ausführen und siehe da, die Labels zeigen nun den LogicalName des Feldes an:

image

CRM2013

Schreibe einen Kommentar