CRM 2011 – RibbonsDiffXml – Verwenden von DisplayRules (ValueRule)

Hi Leute,

heute möchte ich euch ein einfaches Beispiel liefern, wie sich (mittels CRM-Standard) div. Ribbon-Buttons an Hand div. Regeln ein bzw. ausblenden lassen.
Dafür ist es, wie (fast) immer bei Änderungen an Ribbon-Buttons notwendig, dass Ihr zunächst das Menüband in eure Lösung aufnehmt und die Lösung downloaded und extrahiert. Wie das genau geht, habe ich schon mehrfach beschrieben, u.a. hier.

Dieses Beispiel geht davon aus, dass Ihr bereits einen eigenen Ribbon-Button hinzugefügt habt. Wie das geht, beschreibe ich ebenfalls hier.

Öffnet nun die „Customizations.xml“ und sucht die Entität die Ihr verändern wollt und öffnet dort die Node „RibbonDiffXml“. Euer Custom-Ribbon-Button hat das Attribute „Command“, wo auf eine „CommandDefinition“ verwiesen wird. Sucht dieses Element. Es sollte in etwa wie folgt aussehen:

<CommandDefinition Id="Sample.SubGrid.xyz_auftrag.Button1">
            <EnableRules />
            <DisplayRules />
            <Actions>
              <JavaScriptFunction Library="$webresource:xyz_cs_auftrag" FunctionName="Storno"></JavaScriptFunction>
            </Actions>
          </CommandDefinition>

Fügt nun den DisplayRules eine Regel hinzu, das geht wie folgt:

            <DisplayRules>
              <DisplayRule Id="ShowStorno" />
            </DisplayRules>

Etwas weiter unten im RibbonDiffXml müssen wir die Rule, auf die wir eben verwiesen haben („ShowStorno“) auch noch definieren. Sucht dafür den Node „RuleDefinitions“ und fügt eine DisplayRule hinzu. Das könnte nun wie folgt aussehen:

<RuleDefinitions>
          <DisplayRules>
            <DisplayRule Id="ShowStorno">
[ .... ]
            </DisplayRule>
          </DisplayRules>
          <EnableRules />
        </RuleDefinitions>

Eine DisplayRule kann nun mehrere Arten von Conditions hinterlegt bekommen. Lt. SDK sind das die folgenden:

<CrmClientTypeRule />
   <CrmOfflineAccessStateRule />
   <CrmOutlookClientTypeRule />
   <CrmOutlookClientVersionRule />
   <EntityPrivilegeRule />
   <EntityPropertyRule />
   <EntityRule />
   <FormEntityContextRule />
   <FormStateRule />
   <MiscellaneousPrivilegeRule />
   <OrganizationSettingRule />
   <OrRule />
   <OutlookRenderTypeRule />
   <OutlookVersionRule />
   <PageRule />
   <ReferencingAttributeRequiredRule />
   <RelationshipTypeRule />
   <SkuRule />
   <ValueRule />

Ich denke die meisten von uns werden die Notwendigkeit haben, an Hand eines bestimmten Attributs im Formular, einen Button ein oder ausblenden zu müssen. Deswegen gehe ich in diesem Beispiel nur auf die ValueRule ein.

Diese wiederum gestaltet sich in der Regel sehr einfach:

<ValueRule Field="xyz_type" Value="908940000"></ValueRule>

Solltet Ihr an anderen Rules interessiert sein, postet einfach einen Kommentar und ich helfe euch weiter. Oder seht selbst in der SDK nach.

Verpackt nun wieder sämtliche Dateien in ein ZIP-Archiv und importiert dieses in eure CRM-Instanz.

Cheers,
Christian

Advertisements

Über Christian

Ich komme aus Wien, wo ich gemeinsam mit meiner Lebensgefährtin und unserem brummenden Cocker-Spaniel Chewbacca lebe. Derzeit arbeite ich bei einem größeren Konzern, welcher in den Bereichen öffentlicher Verkehr, Energie, Telekommunikation, bis hin zur Bestattung tätig ist. Im Rahmen meiner Tätigkeit liegt der Fokus stark auf Eigenentwicklungen mittels div. .NET/Microsoft-Technologien. Derzeit arbeite ich hauptsächlich mit/am Microsoft Dyncamics CRM 2011, mit dem Ziel Geschäftsprozesse abzubilden.
Dieser Beitrag wurde unter Dynamics CRM, XML abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Eine Antwort zu CRM 2011 – RibbonsDiffXml – Verwenden von DisplayRules (ValueRule)

  1. Pingback: CRM 2011 – ValueRule und OrRule kombinieren | Programmers Horror

Kommentar verfassen

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

WordPress.com-Logo

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

Google+ Foto

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

Twitter-Bild

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

Facebook-Foto

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

w

Verbinde mit %s