Adding Custom Tab with Custom Button in CRM 2011

Hi,

There is one walkthrough in CRM SDK — Add a Custom Tab to a Specific Entity.

I have modified it to work for only the form of the entity.

And the tab and the button would appear only in case of existing record (not while record is getting created)

To use the code just replace new_case with the name of the entity and get the images from the walkthrough folder.

<RibbonDiffXml>
<CustomActions>
<CustomAction Id=”Sample.Form.new_case.CustomTab.CustomAction” Location=”Mscrm.Tabs._children” Sequence=”40″>
<CommandUIDefinition>
<Tab Id=”Sample.Form.new_case.CustomTab” Command=”Sample.Form.new_case.CustomTab” Title=”Eligibility” Description=”Eligibility” Sequence=”40″>
<Scaling Id=”Sample.Form.new_case.CustomTab.Scaling”>
<MaxSize Id=”Sample.Form.new_case.CustomTab.FirstGroup.MaxSize” GroupId=”Sample.Form.new_case.CustomTab.FirstGroup” Sequence=”10″ Size=”LargeMedium”/>
</Scaling>
<Groups Id=”Sample.Form.new_case.CustomTab.Groups”>
<Group Id=”Sample.Form.new_case.CustomTab.FirstGroup” Command=”Sample.Form.new_case.FirstGroup” Sequence=”10″ Title=”Eligibililty” Template=”Mscrm.Templates.3.3″>
<Controls Id=”Sample.Grid.new_case.CustomTab.FirstGroup.Controls”>
<Button Id=”Sample.Form.new_case.CustomTab.FirstGroup.FirstButton” ToolTipTitle=”Add Clients” ToolTipDescription=”To add clients to the case” Command=”Sample.Form.new_case.FirstButton” Sequence=”10″ LabelText=”Add Clients” Alt=”Add Clients” Image16by16=”$webresource:sample_/icons/1Icon16x16.png” Image32by32=”$webresource:sample_/icons/1Icon32x32.png” TemplateAlias=”o1″/>
<Button Id=”Sample.Form.new_case.CustomTab.FirstGroup.SecondButton” ToolTipTitle=”Manage Relationship” ToolTipDescription=”To manage relationship between the members” Command=”Sample.Form.new_case.SecondButton” Sequence=”10″ LabelText=”Manage Relationship” Alt=”Manage Relationship” Image16by16=”$webresource:sample_/icons/2Icon16x16.png” Image32by32=”$webresource:sample_/icons/2Icon32x32.png” TemplateAlias=”o1″/>
<Button Id=”Sample.Form.new_case.CustomTab.FirstGroup.ThirdButton” ToolTipTitle=”Add Programs” ToolTipDescription=”To add program request to the case” Command=”Sample.Form.new_case.ThirdButton” Sequence=”10″ LabelText=”Add Programs” Alt=”Add Programs” Image16by16=”$webresource:sample_/icons/3Icon16x16.png” Image32by32=”$webresource:sample_/icons/3Icon32x32.png” TemplateAlias=”o1″/>
<Button Id=”Sample.Form.new_case.CustomTab.FirstGroup.FourthButton” ToolTipTitle=”Determine Eligibility” ToolTipDescription=”To determine eligibility” Command=”Sample.Form.new_case.FourthButton” Sequence=”10″ LabelText=”Determine Eligibility” Alt=”Determine Eligibility” Image16by16=”$webresource:sample_/icons/4Icon16x16.png” Image32by32=”$webresource:sample_/icons/4Icon32x32.png” TemplateAlias=”o1″/>
</Controls>
</Group>
</Groups>
</Tab>
</CommandUIDefinition>
</CustomAction>
</CustomActions>
<Templates>
<RibbonTemplates Id=”Mscrm.Templates”/>
</Templates>
<CommandDefinitions>
<CommandDefinition Id=”Sample.Form.new_case.ThirdButton”>
<EnableRules>
<EnableRule Id=”Mscrm.Enabled “/>
</EnableRules>
<DisplayRules>
<DisplayRule Id=”Sample.new_case.form.FormStateNotNew.DisplayRule3″/>
</DisplayRules>
<Actions>
<JavaScriptFunction Library=”$webresource:new_JS” FunctionName=”CallThree”/>
</Actions>
</CommandDefinition>
<CommandDefinition Id=”Sample.Form.new_case.SecondButton”>
<EnableRules>
<EnableRule Id=”Mscrm.Enabled “/>
</EnableRules>
<DisplayRules>
<DisplayRule Id=”Sample.new_case.form.FormStateNotNew.DisplayRule2″/>
</DisplayRules>
<Actions>
<JavaScriptFunction Library=”$webresource:new_JS” FunctionName=”CallTwo”/>
</Actions>
</CommandDefinition>
<CommandDefinition Id=”Sample.Form.new_case.CustomTab”>
<EnableRules>
<EnableRule Id=”Mscrm.Enabled “/>
</EnableRules>
<DisplayRules>
<DisplayRule Id=”Sample.new_case.form.FormStateNotNew.DisplayRule1″/>
</DisplayRules>
<Actions/>
</CommandDefinition>
<CommandDefinition Id=”Sample.Form.new_case.FirstButton”>
<EnableRules>
<EnableRule Id=”Mscrm.Enabled “/>
</EnableRules>
<DisplayRules>
<DisplayRule Id=”Sample.new_case.form.FormStateNotNew.DisplayRule”/>
</DisplayRules>
<Actions>
<JavaScriptFunction Library=”$webresource:new_JS” FunctionName=”CallOne”/>
</Actions>
</CommandDefinition>
<CommandDefinition Id=”Sample.Form.new_case.FourthButton”>
<EnableRules>
<EnableRule Id=”Mscrm.Enabled “/>
</EnableRules>
<DisplayRules>
<DisplayRule Id=”Sample.new_case.form.FormStateNotNew.DisplayRule4″/>
</DisplayRules>
<Actions>
<JavaScriptFunction Library=”$webresource:new_JS” FunctionName=”CallFour”/>
</Actions>
</CommandDefinition>
<CommandDefinition Id=”Sample.Form.new_case.FirstGroup”>
<EnableRules>
<EnableRule Id=”Mscrm.Enabled “/>
</EnableRules>
<DisplayRules/>
<Actions/>
</CommandDefinition>
</CommandDefinitions>
<RuleDefinitions>
<TabDisplayRules>
<TabDisplayRule TabCommand=”Sample.Form.new_case.CustomTab”>
<EntityRule EntityName=”new_case” Context=”Form” AppliesTo=”PrimaryEntity”/>
</TabDisplayRule>
</TabDisplayRules>
<DisplayRules>
<DisplayRule Id=”Sample.new_case.form.FormStateNotNew.DisplayRule3″>
<FormStateRule State=”Create” InvertResult=”true”/>
</DisplayRule>
<DisplayRule Id=”Sample.new_case.form.FormStateNotNew.DisplayRule1″>
<FormStateRule State=”Create” InvertResult=”true”/>
</DisplayRule>
<DisplayRule Id=”Sample.new_case.form.FormStateNotNew.DisplayRule”>
<FormStateRule State=”Create” InvertResult=”true”/>
</DisplayRule>
<DisplayRule Id=”Sample.new_case.form.FormStateNotNew.DisplayRule2″>
<FormStateRule State=”Create” InvertResult=”true”/>
</DisplayRule>
<DisplayRule Id=”Sample.new_case.form.FormStateNotNew.DisplayRule4″>
<FormStateRule State=”Create” InvertResult=”true”/>
</DisplayRule>
</DisplayRules>
<EnableRules/>
</RuleDefinitions>
<LocLabels/>
</RibbonDiffXml>

To get the solution

http://www.box.net/shared/sgpnqdbjot

Hope this helps !


Author: Nishant Rana

I love working in and sharing everything about Microsoft.NET technology !

Share your thoughts

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s