Differences between CRM2011 and CRM2013/2015 Ribbon/Command Bar
1.Use null values
2.Use option set values
Null Values
Previously a ValueRule that used Null values might have looked like:
<EnableRule Id="new.new_valuerulestest.EnableOPtionSetNull.EnableRule">
<ValueRule Field="new_optionsetabc" Value="null" Default="true" />
</EnableRule>
Prior to UR12 you didn’t need to set the ‘Default’ property to true. Essentially what is happening here is rather than picking up a special ‘null’ value the value rule is failing to pickup a value because it is Null and so it is defaulting to returning True.
In CRM2013 you will need to specify an empty string for the value. In the Ribbon Workbench you need to add a blank space and then delete it to specify a null string.
<EnableRule Id="new.new_valuerulestest.EnableOPtionSetNull.EnableRule">
<ValueRule Field="new_optionsetabc" Value="" Default="true" />
</EnableRule>
Option Set Values
In CRM 2011 you had to specify the Optionset value in the Value attribute:
<EnableRule Id="new.new_valuerulestest.EnableOptionSetB.EnableRule">
<ValueRule Field="new_optionsetabc" Value="100000001" Default="false" />
</EnableRule>
In CRM 2013 you must specify the text name of the OptionSet value rather than it’s integer value.
<EnableRule Id="new.new_valuerulestest.EnableOptionSetB.EnableRule">
<ValueRule Field="new_optionsetabc" Value="B" Default="false" />
</EnableRule>
If you have multiple languages, you will need to use an Or Rule:
<EnableRule Id="new.new_valuerulestest.EnableOptionSetB.EnableRule">
<OrRule>
<Or>
<ValueRule Field="new_optionsetabc" Value="B" />
</Or>
<Or>
<ValueRule Field="new_optionsetabc" Value="GermanB" />
</Or>
</OrRule>
</EnableRule>