The ribbon item is dependent on ribbon control id

The ribbon item 'MSCRMAssistancePSA.invoice.grid.ApproveGroup.Approve.CustomAction' is dependent on ribbon control id='AssistancePSA.invoice.grid.ApproveGroup.Controls'

I encountered this issue on Invoice entity. The invoice entity was referencing a PSA button which was a part of a third party solution installed in CRM. We had uninstalled this managed solution previously, but the invoice was still referencing this button on a hide action, and hence was not able to publish or import any customization. You cannot delete this hide action.

<HideCustomAction Location="AssistancePSA.invoice.grid.ApproveGroup.Button.Approve" HideActionId="MSCRMAssistancePSAAssistancePSA.invoice.grid.ApproveGroup.Button.Approve.HideAction" />

The location is the PSA button id it is referencing.

I followed this article. It was confusing. It did not directly help in solving the issue, but the idea was valid.

https://ribbonworkbench.uservoice.com/knowledgebase/articles/903018-could-not-publish-solution-due-to-ribbon-control-d

I followed the following approach to solve the issue.

1. Create a new solution, add only the invoice entity, without the data sets.

2. Export the solution and take a backup copy.

3. Open customizations.xml file, replace the following code between the RibbonDiffXml element. I was missing two references, hence the two buttons.

<RibbonDiffXml>
        <CustomActions>         
          <CustomAction Id="AssistancePSA.invoice.grid.ApproveGroup.Button.Approve.CustomAction" Location="Mscrm.Form.invoice.MainTab.Actions.Controls._children" Sequence="6">
            <CommandUIDefinition>
              <Button Id="AssistancePSA.invoice.grid.ApproveGroup.Button.Approve" LabelText="$LocLabels:AssistancePSA.invoice.grid.ApproveGroup.Button.Approve.LabelText" Sequence="6" />
            </CommandUIDefinition>
          </CustomAction>
          <CustomAction Id="AssistancePSA.invoice.grid.ApproveGroup.Controls.CustomAction" Location="Mscrm.Form.invoice.MainTab.Actions.Controls._children" Sequence="7">
            <CommandUIDefinition>
              <Button Id="AssistancePSA.invoice.grid.ApproveGroup.Controls" LabelText="$LocLabels:AssistancePSA.invoice.grid.ApproveGroup.Controls.LabelText" Sequence="7" />
            </CommandUIDefinition>
          </CustomAction>
        </CustomActions>
        <Templates>
          <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
        </Templates>
        <CommandDefinitions>
        </CommandDefinitions>
        <RuleDefinitions>
          <TabDisplayRules />
          <DisplayRules />
          <EnableRules>
          </EnableRules>
        </RuleDefinitions>
        <LocLabels>
          <LocLabel Id="AssistancePSA.invoice.grid.ApproveGroup.Button.Approve.LabelText">
            <Titles>
              <Title description="Approval" languagecode="1033" />
            </Titles>
          </LocLabel>
          <LocLabel Id="AssistancePSA.invoice.grid.ApproveGroup.Controls.LabelText">
            <Titles>
              <Title description="Approval" languagecode="1033" />
            </Titles>
          </LocLabel>
        </LocLabels>
      </RibbonDiffXml>

One important piece of information to remember is the location attribute. The location attribute references the location of the button. In this case, the button with the id 'AssistancePSA.invoice.grid.ApproveGroup.Button.Approve' will be displayed on the main tab (Mscrm.Form.invoice.MainTab) within  the 'Actions' group. You can locate this on the Ribbon Workbench on any existing button. I was making a mistake here repeatedly which kept me lingering on to this issue for few hours. You must add a button a label, all the remaining elements are optional.

However, if you have existing customization in place for a ribbon, the idea is still the same, you just need to create the controls you are missing.

4. Save and import the solution back to CRM.

 

Comments
  • 0
    Хочу всех предупредить, что в сети работают сайты мошенники по отзывам об автосалонах. http://kuplu-lada.ru http://kuplu-chevrolet.ru http://kuplu-ford.ru http://kuplu-kia.ru http://kuplu-hyundai.ru http://kuplu-renault.ru http://kuplu-volkswagen.ru http://kuplu-toyota.ru http://kuplu-nissan.ru http://kuplu-mitsubishi.ru http://kuplu-mazda.ru http://kuplu-opel.ru http://autosalon.review http://light-bulbs.ru/ http://rtdm-auto.ru http://black-rank.ru http://kartaavtosalonov.ru/ http://loxotrona.net/
  • 0
    Thank you for your comments Ken. Yes I know about Uganda and got the info from an article in Swara Magazine. It was a small bit of hope in a world of hopelessness. 10 rhino does not make for success and my understanding is they were wild but are now in a sanctuary for protection. What a sad state of affairs. cartier pink gold love bracelet fake http://www.whatjewelleryhouse.com/from-today-to-witness-the-romantic-forever-cartier.html
  • 0
    Hello there, My name is Aly and I would like to know if you would have any interest to have your website here at customerdynamics.com promoted as a resource on our blog alychidesign.com ? We are in the midst of updating our broken link resources to include current and up to date resources for our readers. Our resource links are manually approved allowing us to mark a link as a do-follow link as well . If you may be interested please in being included as a resource on our blog, please let me know. Thanks, Aly
  • 0
    Hi there mates, its wonderful piece of writing concerning teachingand completely defined, keep it up all the time.
Post a comment