Dynamics CRM 2011 - Динамически добавленные кнопки подменю FlyoutAnchor отключены - PullRequest
2 голосов
/ 09 марта 2012

Я успешно последовал следующему ответу на Добавить выпадающее меню на ленту CRM 2011 и реализовал три динамически загружаемых кнопки FlyoutAnchor с кнопками подменю и т. Д.

Вчера кнопки подменю работали нормально (сработало событие click и т. Д.), Но после повторного импорта решения с помощью XML-ленты и т. П. Кнопки подменю сообщали мне (во всплывающей подсказке), что они отключены. Точное сообщение: «Эта кнопка в настоящее время отключена. Возможно, вы не выбрали элемент, который работает с этой функцией. Если у вас нет прав для использования этой функции, обратитесь к системному администратору».

Итак, я вернулся к предыдущему XML-ленте, но кнопки подменю остаются отключенными. Похоже, я столкнулся с той же проблемой, как описано в следующей теме: CRM 2011 Динамическая лента отключена ПОМОЩЬ !! . Но на моем сервере уже установлен Rollup 6, поэтому этого не должно происходить.

Я уже пытался сбросить IIS и повторно импортировать решение (несколько раз). Я также проверил / добавил правила и т. Д.

Я не могу снова включить кнопки подменю. Что я делаю неправильно? Пожалуйста, помогите мне.

Ответы [ 2 ]

2 голосов
/ 15 марта 2012

Я наконец снова включил кнопки подменю. Трудно сказать точную комбинацию действий, которые заставили это работать снова, но я попытаюсь зарегистрировать это здесь как ссылку. Предложенное решение состоит в том, чтобы заставить CRM полностью обновить ленту . Это можно сделать, выполнив следующие шаги:

  1. Экспорт вашего решения в качестве резервной копии.
  2. Разархивируйте копию этого экспортированного решения куда-нибудь, чтобы вы могли изменить файл «customizations.xml», чтобы обновить RibbonDiffXml объекта «problem».
  3. Замените ваш ... пустой лентой diff xml, то есть:

      <RibbonDiffXml>
        <CustomActions />
        <Templates>
            <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
        </Templates>
        <CommandDefinitions />
        <RuleDefinitions>
          <TabDisplayRules />
          <DisplayRules />
          <EnableRules />
        </RuleDefinitions>
        <LocLabels />
      </RibbonDiffXml>
    
  4. Сохраните ваши изменения.

  5. Повторно заархивируйте измененное решение, импортируйте и опубликуйте его.
  6. Повторно импортируйте исходное решение из шага 1 и опубликуйте. Лента будет воссоздана.
  7. Ваши кнопки должны быть снова включены.

Другой подход, который можно использовать, - это использование Ribbon Workbench для Dynamics CRM 2011 (бета-версия) . Но будьте осторожны и всегда делайте резервную копию решения, потому что я нахожу инструмент все еще довольно глючным (или, возможно, мое решение было слишком большим). Используйте инструмент для внесения некоторых изменений в ленточку (например: добавьте новую кнопку к вашей «проблемной» сущности), повторно опубликуйте и протестируйте. Если кнопки подменю снова включены, повторно импортируйте и опубликуйте исходную резервную копию. Кнопки подменю, вероятно, останутся включенными.

Так что что-то запуталось в CRM внутри, и, заставляя пересобрать неисправную Ленту, CRM восстанавливает себя или что-то в этом роде ... Я действительно не могу это понять.

1 голос
/ 09 марта 2012

У меня недавно была похожая проблема. Ваш бегущий JavaScript с ленты? Если это так, лента может отключить вашу кнопку, потому что она не может найти вызываемую вами функцию javascript (я не могу найти документацию, подтверждающую это убеждение, определяют действия и определяют javascript страницы не дают упоминание об этом могло быть просто совпадением в моем случае). Вы недавно обновляли js-файл, который вы ассоциируете с лентой?

...