Question

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!

Était-ce utile?

La solution

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);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top