Скрытие кнопки ленты-меню (риббон) в Microsoft Dynamics CRM

Иногда при настройке и кастомизации Microsoft Dynamics CRM возникает необходимость скрыть лишние стандартные кнопки риббона. Давайте рассмотрим как это можно сделать.

Данную задачу можно выполнить двумя способами:

  1. Глобальное скрытие — позволяет безусловно скрывать элемент на всех формах;
  2. Условное скрытие — позволяет отображать/скрывать элемент при выполнении заданных условий.

В зависимости от требований можно воспользоваться любым из двух возможных способов. Рассмотрим каждый из них подробнее. Для выполнения данной задачи можно воспользоваться решением Ribbon Workbench для CRM или можно использовать аддон Ribbon Workbench для XrmToolBox.

Открываем XrmToolBox и находим плагин Ribbon Workbench 2016 (при необходимости его можно установить из галереи плагинов дляXrmToolBox).

Ribbon workbench in XrmToolBox
Ribbon workbench in XrmToolBox

Выбираем необходимое нам решение (в данном случае kit_ribbon) и ожидаем окончания загрузки.

Select Solution
Select Solution

Совет. Если ваше решение слишком большое и загрузка длится невероятно долго, то просто создайте отдельное временное решение. Включите в это решение только те сущности, которые хотите редактировать. Внесите изменения и опубликуйте их. После этого временное решение можно будет удалить. Все изменения сохранятся вашем основном решении.

Глобальное скрытие

Для того, чтобы полностью скрыть элемент необходимо нажать на необходимую кнопку правой кнопкой мышки и выбрать пункт Скрыть (hide).

Global Hide Element
Global Hide Element

После этого кнопка добавится в список скрытых элементов, а также будет отображаться перечеркнутой на панели элементов.

Ribbon elements
Ribbon elements
Hide Actions
Hide Actions

Для того, чтобы вернуть отображение элемента достаточно еще раз кликнуть по нему правой кнопкой мыши и выбрать Не скрывать (UnHide).

UnHide Element
UnHide Element

Условное скрытие

Для того, чтобы скрыть элемент риббона при выполнении каких-либо условий необходимо выбрать этот элемент на панели, нажав на него один раз левой кнопкой мыши и нажать на кнопку добавления правил отображения (Display Rules).

Add Display Rule
Add Display Rule

После этого остается добавить одно или набор условий, при которых элемент будет скрываться. Для этого необходимо добавить так называемые шаги. Каждый шаг соответствует одному условию. Для добавления шага необходимо нажать кнопку Добавить Шаг (Add Step).

Add step display rule
Add step display rule

Выбираем один из возможных типов шагов. Для примера пусть проверяется состояние формы.

Step types
Step types

Задаем параметры шага. Параметры шага будут отличаться в зависимости от его типа.

  • Default  — значение с которым сравниваем
  • InvertResult — устанавливать обратное значение
  • State — состояние формы

Таким образом, мы установили следующее правило: если состояние формы Create, то отображаем кнопку. Для лучшего понимания запишем это условие в на языке программирования C#

var isSelectedState = State == Create; // Проверяем совпадает ли текущее состояние формы с указанным в правиле.
var isRuleWork = isSelectedState == Default; // Проверяем по какому условию у нас выполняется правило.
if(InvertResult == true) // Если выбрано инвертировать результат,
{
    return !isRuleWork; // Возвращаем противоположное значение.
}
else                    // Иначе,
{
    return isRuleWork; // Возвращаем само значение.
}
Step properties
Step properties