Results for tag "valuerule"

CRM 2011 – ValueRule und OrRule kombinieren

Hallo Leute,

in einem meiner letzten Blogs habe ich mal über die Verwendung von ValueRules geschrieben (Blog). Was aber tun, wenn man zwei oder mehrere Optionen hat, die man mit einem ValueRule abfragen möchte?

Die Antwort habe ich auf Vikranth’s Blog gefunden.

Im wesentlichen ist die Lösung folgendes:

[sourcecode language=“xml“]
<DisplayRule Id="ShowUndo">
<OrRule>
<Or>
<ValueRule Field="xxx_type" Value="val1"></ValueRule>
</Or>
<Or>
<ValueRule Field="xxx_type" Value="val2"></ValueRule>
</Or>
</OrRule>
</DisplayRule>
[/sourcecode]

Nicht ganz logisch aber eigentlich recht einfach.

Cheers,
Christian

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:

[sourcecode language=“xml“]
<CommandDefinition Id="Sample.SubGrid.xyz_auftrag.Button1">
<EnableRules />
<DisplayRules />
<Actions>
<JavaScriptFunction Library="$webresource:xyz_cs_auftrag" FunctionName="Storno"></JavaScriptFunction>
</Actions>
</CommandDefinition>
[/sourcecode]

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

[sourcecode language=“xml“]
<DisplayRules>
<DisplayRule Id="ShowStorno" />
</DisplayRules>
[/sourcecode]

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:

[sourcecode language=“xml“]
<RuleDefinitions>
<DisplayRules>
<DisplayRule Id="ShowStorno">
[ …. ]
</DisplayRule>
</DisplayRules>
<EnableRules />
</RuleDefinitions>
[/sourcecode]

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

[sourcecode language=“xml“]
<CrmClientTypeRule />
<CrmOfflineAccessStateRule />
<CrmOutlookClientTypeRule />
<CrmOutlookClientVersionRule />
<EntityPrivilegeRule />
<EntityPropertyRule />
<EntityRule />
<FormEntityContextRule />
<FormStateRule />
<MiscellaneousPrivilegeRule />
<OrganizationSettingRule />
<OrRule />
<OutlookRenderTypeRule />
<OutlookVersionRule />
<PageRule />
<ReferencingAttributeRequiredRule />
<RelationshipTypeRule />
<SkuRule />
<ValueRule />
[/sourcecode]

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:

[sourcecode language=“xml“]
<ValueRule Field="xyz_type" Value="908940000"></ValueRule>
[/sourcecode]

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