В данной статье мы рассмотрим быстрый способ получения имени пользователя с помощью JavaScript в Microsoft Dynamics CRM.
Существуют три полезные функции, позволяющие получить сведения о текущем пользователе в Microsoft Dynamics CRM:
getUserId
Данная функция возвращает значение уникального идентификатора (GUID) текущего пользователя CRM.
Xrm.Page.context.getUserId();
getUserName
Данная функция возвращает имя пользователя.
Xrm.Page.context.getUserName();
getUserRoles
Данная функция возвращает массив строке, содержащий значения идентификаторов (GUID) ролей безопасности, которые связанны с текущим пользователем или роли команд, в которые входит текущий пользователь.
Xrm.Page.context.getUserRoles();
Рассмотрим элементарный пример использования данных команд. Давайте выведем информацию по текущем пользователе в сообщении при нажатии кнопки. Для этого мы можем создать кнопку на ленте-меню (ribbon) на которую повесим обработчик события нажатия. Подробнее о том, как создавать кнопки на риббоне и добавлять обработчики их нажатия описано в статье Добавление кнопки на меню-ленту (ribbon) Microsoft Dynamics CRM.
Для начала с помощью плагина для утилиты XrmToolBox под названием Ribbon Workbench 2016 создадим кнопку и команду для нее с представленным ниже содержимым.


Теперь с помощью плагина Web Resources Manager этой же утилиты XrmToolBox создадим и опубликуем JavaScript ресурс со следующим содержимым:
function GetUserInfo() { var id = Xrm.Page.context.getUserId(); var login = Xrm.Page.context.getUserName(); var groups = Xrm.Page.context.getUserRoles(); var message = "Идентификатор пользователя: " + id + "\r\n"; message += "Имя пользователя: " + login + "\r\n"; message += "Роли безопасности пользователя:\r\n"; groups.forEach(function(currentValue, index, array) { var number = index + 1; message += number + ". " + currentValue; }); alert(message); }
Теперь нам остается только проверить результат работы нашего скрипта на форме интереса (lead).
Нажимаем на кнопку риббона и получаем следующее сообщение.