Как проверить пользовательские привилегии во время выполнения, используя JavaScript в Dynamics CRM 2016 v8.2? - PullRequest
0 голосов
/ 08 ноября 2019

Мне нужно проверить пользовательские привилегии во время выполнения.
Сценарий : Пользователь1 создал запись, и она, назначенная пользователю2 для записи пользователя1, теперь будет доступна только для чтения. Таким образом, user1 не имеет доступа к этой конкретной записи. Так можем ли мы проверить привилегию времени выполнения для user1?

1 Ответ

1 голос
/ 08 ноября 2019

Я знаю, что это дополнительный вопрос this , и вам нужно обходное решение для определения режима формы - когда пользователь имеет привилегию Read больше, чем уровень пользователя, но привилегию Edit на уровне пользователя, как ошибку CRM 2016невозможно классифицировать тип формы, например «Только чтение» или «Обновление».

У вас есть варианты, например, выбрать поле в форме, чтобы получить привилегию этого конкретного поля для canRead, уровни доступа canUpdate и решить, что вы хотитеdo.

Xrm.Page.getAttribute("field_name").getUserPrivilege();

Я думаю, что это ошибка, так как она работала, как и ожидалось, с CRM 2011 до CRM 2015. Обходной путь, который мы использовали, заключается в том, что если тип формы равен 2, мыВыполнение еще одного JavaScript-вызова Ajax для проверки прав доступа пользователя к записи, если она читается, то мы считаем, что форма доступна только для чтения, если она записывается, то форма находится в режиме обновления.

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

Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...