In my scenario i have a custom entity form.

This custom entity form is having a lookup for user record, my requirement is to get the selected user from javascript which am able to do.

var lookupObject = Xrm.Page.getAttribute("new_accountmanager0");

if (lookupObject != null) 
{

    var lookUpObjectValue = lookupObject.getValue();

    if ((lookUpObjectValue != null))         
    {
     var lookuptextvalue = lookUpObjectValue[0].name;
     var lookupid = lookUpObjectValue[0].id;
     }

  }

But i want to get seleced user "phonenumber" which is a column in lookup using JavaScript!

有帮助吗?

解决方案

You need to call the CRM webservices to retrieve the phone number, you can use this function (this will works if your lookup points to a system user)

function getPhoneNumberBySystemUserId(userId) {
var serverUrl;
if (Xrm.Page.context.getClientUrl !== undefined) {
    serverUrl = Xrm.Page.context.getClientUrl();
} else {
    serverUrl = Xrm.Page.context.getServerUrl();
}
// build the request
var ODataPath = serverUrl + "/XRMServices/2011/OrganizationData.svc"; 
var userRequest = new XMLHttpRequest();
userRequest.open("GET", ODataPath + "/SystemUserSet(guid'" + userId + "')", false); 
userRequest.setRequestHeader("Accept", "application/json"); 
userRequest.setRequestHeader("Content-Type", "application/json; charset=utf-8");
// execute the request
userRequest.send();
if (userRequest.status === 200) {
    var retrievedUser = JSON.parse(userRequest.responseText).d;
    // retrieve the phone number of the user
    var phonenumber = retrievedUser.Address1_Telephone1; // change to MobilePhone to get the mobile phone, to HomePhone to get the home phone
    return phonenumber;
} else {
    return "error";
}
}

and with your code you can use in this way:

var lookupObject = Xrm.Page.getAttribute("new_accountmanager0");
var lookUpObjectValue = lookupObject.getValue();
if (lookUpObjectValue != null) {
    var phonenumber = getPhoneNumberBySystemUserId(lookUpObjectValue[0].id);
    alert(phonenumber);
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top