Microsoft Dynamics CRM 2011 | RibbonDiffXml–HideAddExisting Button

Bereits aus der CRM 4.0 Version war ein Script besonders beliebt – das Ausblenden der Schaltfläche “Vorh. Datensatz hinzufügen”. Mit Einführung von Microsoft Dynamics CRM 2011 ist durch die Ribbon-Leiste und den Verbesserungen vieles einfacher geworden – jedoch mit Nichten die Bearbeitung jener Leiste. Und so ist es auch kaum verwunderlich, dass die Bearbeitung immer wieder zu kleineren Fehlern führt.

Hide_Fehlermeldung_Import

So auch beim Beispiel des Ausblendens jener Schalt-fläche für eine Benutzer-definierte Entität. In diesem Fall soll die Schaltfläche auch dann nicht sichtbar sein, wenn die Entität als ‘SubGrid’ auf der Kontakt-Entität eingefügt wird.

Nachdem eine Lösung hierfür erstellt und exportiert wurde, das ZIP-Archiv entpackt und die customization.xml – Datei mit einem Editor bearbeitet wurde (z.B. Notepad++), die drei Dateien anschließend wieder als ZIP-Archiv gepackt und die Lösung importiert wurde, meldet sich das System mit obiger Fehlermeldung.

Hinzugefügt wurde dabei der Code:

  <RibbonDiffXml>
         <CustomActions>
           <HideCustomAction Location="Mscrm.SubGrid.sl_EmploymentHistory.AddExistingStandard" HideActionId="sample.Mscrm.SubGrid.cg_socialnetworks.AddExistingStandard.HideAction" />
         </CustomActions>
         <Templates>
           <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
         </Templates>
         <CommandDefinitions />
         <RuleDefinitions>
           <TabDisplayRules />
           <DisplayRules />
           <EnableRules />
         </RuleDefinitions>
         <LocLabels />
       </RibbonDiffXml>

Es stellt sich die Frage, wo der Fehler zu suchen ist, denn mit der Fehlermeldung kann man nur bedingt auf Ursachenforschung gehen.

Ausgeblendeter_Button_VorhElement_SubGrid

Eigentlich hätten wir gern jenes links gezeigte Ergebnis. Unsere benutzerdefinierte Entität ist als ‘SubGrid’ in der Kontaktform eingebunden.

Klickt der Nutzer nunmehr auf das Element – ändert sich die Ribbon-Leiste Aufgabenspezifisch, jedoch ist hier die Schaltfläche “Vorh. Element hinzufügen Soziales Netzwerk” ausgeblendet.

Wenn Ihr vor einer ähnlichen Herausforderung steht und einen erfolgreichen Import tätigen wollt, dann können zwei Tricks helfen.

 

 

1. Trick:

Ergänzt obige Code-Zeile um:

<HideCustomAction Location="Mscrm.SubGrid.sl_EmploymentHistory.AddExistingAssoc" HideActionId="sample.Mscrm.SubGrid.cg_socialnetworks.AddExistingAssoc.HideAction" />

ersetzt dabei cg_socialnetworks durch den Namen Eurer Benutzerdefinierten Entität (nicht den Namen des SubGrids!)

Packt erneut die drei Dateien in ein ZIP-Archiv und importiert Eure Lösung. Ihr bekommt noch immer noch die Fehlermeldung?

2. Trick:

Nehmt Euch eine Standard-Entität (z.B. Kontakt) in Eure Lösung mit auf, falls Ihr es nicht eh schon habt. Exportiert die Lösung und entpackt die Dateien. Sucht in der customization.xml für die Standard-Entität das <RibbonDiffXml>-Tag.

<RibbonDiffXml>
         <CustomActions>
           <HideCustomAction Location="Mscrm.SubGrid.contact.AddExistingAssoc" HideActionId="sample.Mscrm.SubGrid.contact.AddExistingAssoc.HideAction" />
           <HideCustomAction Location="Mscrm.SubGrid.contact.AddExistingStandard" HideActionId="sample.Mscrm.SubGrid.contact.AddExistingStandard.HideAction" />
         </CustomActions>

Fügt obige Code-Zeilen hinzu. Speichert die Datei und packt die drei Dateien wieder in einem ZIP-Archiv. Importiert Eure Lösung und Ihr solltet folgendes Bild sehen:

Hide_ErfolgreicherImport

Anschließend veröffentlicht Ihr alle Anpassungen. Öffnet wieder die customization.xml und entfernt die Zeilen aus der Standard-Entität (HINWEIS: Schließt den Tag <CustomActions />)

Ausgeblendeter_Button_VorhElement_NavigationAnschließend erneut ein ZIP-Archiv erstellt, Import durchgeführt und in Eurer Benutzerdefinierten Entität habt Ihr gewünschtes Ergebnis. Egal, ob im SubGrid oder aus der linken Navigationsleiste heraus.

Ob es am Update Rollup 2 liegt oder generell noch ein Bug im System vorliegt, kann ich bis dato nicht sagen. Ich konnte den Fehler auf mehreren unterschiedlichen Systemen reproduzieren. Jedenfalls hoffe ich, Euch mit den Tipps einiges an Zeit gespart zu haben.

 

Technorati Tags:

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