2

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

4

2 回答 2

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 - 通过同步调用获取当前用户的全名

于 2013-04-16T09:56:11.013 回答
2
Xrm.Page.context.getUserId(); 

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

于 2013-04-16T08:23:11.377 回答