Инструментальные средства CRM Dynamics Ribbon: не работает экран FormStateRule для экрана Active/Readonly

Я начал работать с Ribbon Workbench для CRM Dynamics 365 и у меня возникли некоторые проблемы. В частности, мне нужно скрыть кнопку, если рассматриваемая форма доступна только для чтения и активна.

Я начал с создания DisplayRule, который назначен соответствующей кнопке. DisplayRule состоит из FormStateRule со следующими критериями

По умолчанию: False
Состояние: ReadOnly
InvertResult: True

По какой-то причине это не работает. Кнопка продолжает отображать, доступна ли форма только для чтения или нет. У кого-нибудь есть идеи, как мне заставить его работать? Это простое требование не должно быть таким трудным для выполнения!

Я должен добавить, что я могу заставить DisplayRule переключать кнопку в целом, основываясь на других критериях, это именно тот набор обстоятельств, которые я не могу понять.

2 ответа

Решение

Оказывается, проблема была в том, что я использовал DisplayRule вместо EnableRule. EnableRules предоставил мне RecordPrivilegeRules. Это дает возможность определять права на точную используемую запись, в отличие от общего доступа, который вы получите с FormStateRule.

Я немного злюсь на себя, что понадобилось так много времени, чтобы придумать что-то такое простое, но, надеюсь, это поможет кому-то еще в будущем.

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

Xrm.Page.ui.refreshRibbon();

Это необходимо, поскольку вы загружаете форму ReadOnly при определенных обстоятельствах, когда запись все еще активна.

Другие вопросы по тегам