如何获得thr crm 2011的用户名?

时间:2013-04-16 08:11:27

标签: dynamics-crm-2011 dynamics-crm crm dynamics-crm-4 dynamics-crm-online

如何编写javascript函数以获取crm 2011中的用户名(不是所有者)。

2 个答案:

答案 0 :(得分:6)

如果您指的是FullName记录的SystemUser属性,则可以使用此功能:

function getCurrentUserFullName() {
    var serverUrl;
    if (Xrm.Page.context.getClientUrl !== undefined) {
        serverUrl = Xrm.Page.context.getClientUrl();
    } else {
        serverUrl = Xrm.Page.context.getServerUrl();
    }
    var ODataPath = serverUrl + "/XRMServices/2011/OrganizationData.svc"; 
    var userRequest = new XMLHttpRequest(); 
    userRequest.open("GET", ODataPath + "/SystemUserSet(guid'" + Xrm.Page.context.getUserId() + "')", false); 
    userRequest.setRequestHeader("Accept", "application/json"); 
    userRequest.setRequestHeader("Content-Type", "application/json; charset=utf-8"); 
    userRequest.send();
    if (userRequest.status === 200) {
        var retrievedUser = JSON.parse(userRequest.responseText).d; 
        var userFullName = retrievedUser.FullName;
        return userFullName;
    }
    else {
        return "error";
    }
}

参考:CRM Answers - Get current user's full name with a synchronous call

答案 1 :(得分:2)

Xrm.Page.context.getUserId(); 

返回当前用户的GUID 使用检索到的GUID查询User实体,以检索名称以及与该用户关联的任何其他详细信息。