Иногда при настройке и кастомизации Microsoft Dynamics CRM возникает необходимость скрыть лишние стандартные кнопки риббона. Давайте рассмотрим как это можно сделать.
Данную задачу можно выполнить двумя способами:
- Глобальное скрытие — позволяет безусловно скрывать элемент на всех формах;
- Условное скрытие — позволяет отображать/скрывать элемент при выполнении заданных условий.
В зависимости от требований можно воспользоваться любым из двух возможных способов. Рассмотрим каждый из них подробнее. Для выполнения данной задачи можно воспользоваться решением Ribbon Workbench для CRM или можно использовать аддон Ribbon Workbench для XrmToolBox.
Открываем XrmToolBox и находим плагин Ribbon Workbench 2016 (при необходимости его можно установить из галереи плагинов дляXrmToolBox).

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

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

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


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

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

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

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

Задаем параметры шага. Параметры шага будут отличаться в зависимости от его типа.
- Default — значение с которым сравниваем
- InvertResult — устанавливать обратное значение
- State — состояние формы
Таким образом, мы установили следующее правило: если состояние формы Create, то отображаем кнопку. Для лучшего понимания запишем это условие в на языке программирования C#
var isSelectedState = State == Create; // Проверяем совпадает ли текущее состояние формы с указанным в правиле. var isRuleWork = isSelectedState == Default; // Проверяем по какому условию у нас выполняется правило. if(InvertResult == true) // Если выбрано инвертировать результат, { return !isRuleWork; // Возвращаем противоположное значение. } else // Иначе, { return isRuleWork; // Возвращаем само значение. }
