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
Post a comment