Results for tag "commanddefinition"

CRM 2011 – Original Ribbon Button – Andere (Javascript) Aktion hinterlegen

Hallo Leute,

aufbauend auf meinem letzten Beispiel (siehe Original Ribbon Button ausblenden) möchte ich euch nun zeigen, wie Ihr die Aktion, die hinter einem Original-Ribbon-Button liegt verändern könnt.

Im Konkreten möchte ich euch zeigen, wie Ihr dem Button „Verkaufschance als verloren schließen“ (im Form, nicht auf der Hauptseite) eine eigene Javascript-Funktion zuweisen könnt.

Dafür geht Ihr bitte wie im Artikel Original Ribbon Button ausblenden beschrieben vor.

Extrahiert also das ZIP-File und öffnet die Customizations.xml. Parallel dazu öffnet Ihr bitte wieder die „opportunityribbon.xml“-Datei aus dem SDK-Sample-Projekt.
Sucht in der XML-Datei nun nach „MarkAsLost“. Ihr werden nun folgende Zeile finden:

Kopiert das gesamte -Element am besten temporär in einen Text-Editor (Notepad) und merkt euch die ID des übergeordneten Elements. Wechselt in die Customizations.xml. Sucht dort (wie im anderen Artikel beschrieben) nach dem RibbonDiffXml-Node und fügt dort die folgenden Zeilen ein:

[sourcecode language=“xml“]
<CustomAction Id="eigeneid" Location="Mscrm.Form.opportunity.MainTab.Actions.Controls._children">
<CommandUIDefinition>

</CommandUIDefinition>
</CustomAction>
[/sourcecode]

Als Location gebt bitte die ID des übergenordneten Elements ein und fügt ein „._children“ an.
Zwischen die beiden CommandUIDefinition-Tags kopiert nun das zwischengespeichert Button-Element. Fertig sieht das nun ungefähr wie folgt aus:

[sourcecode language=“xml“]
<CustomAction Id="eigeneid" Location="Mscrm.Form.opportunity.MainTab.Actions.Controls._children">
<CommandUIDefinition>
<Button Id="Mscrm.Form.opportunity.MarkAsLost" Command="Mscrm.Form.opportunity.MarkAsLost" Sequence="4" Alt="$Resources:Ribbon.Form.opportunity.MainTab.Actions.MarkAsLost" LabelText="$Resources:Ribbon.Form.opportunity.MainTab.Actions.MarkAsLost" Image16by16="/_imgs/SFA/MarkAsLost_16.png" Image32by32="/_imgs/SFA/MarkAsLost_32.png" TemplateAlias="o1" ToolTipTitle="$Resources:Mscrm_Form_opportunity_MainTab_Actions_MarkAsLost_ToolTipTitle" ToolTipDescription="$Resources:Mscrm_Form_opportunity_MainTab_Actions_MarkAsLost_ToolTipDescription" />
</CommandUIDefinition>
</CustomAction>
[/sourcecode]

Nun ist es notwendig den „Command“ des Button-Elements zu verändern, z.B. auf: Mscrm.Isv.Form.opportunity.MarkAsLost.
Nachdem dieser „Command“ noch nicht existiert, muss er nun hinzugefügt werden, z.B. so:

[sourcecode language=“xml“]
<CommandDefinition Id="Mscrm.Isv.Form.opportunity.MarkAsLost">
<EnableRules />
<DisplayRules />
<Actions>
<JavaScriptFunction Library="$webresource:prefix_cs_opportunity" FunctionName="MarkAsLost" />
</Actions>
</CommandDefinition>
[/sourcecode]

Beachtet hier vor allem die JavaScriptFunction. Dort wird die Webresource angegeben, in der sich die JS-Methode befinden soll und der Name der JS-Methode selbst angegeben.

Passt das entsprechend euren Wünschen an und erstellt im Anschluss ein ZIP-File. Dieses kann dann wieder in gewohnter Manier in das CRM importiert werden.

Cheers,
Christian