Quantcast
Channel: Microsoft Dynamics CRM
Viewing all articles
Browse latest Browse all 123975

Blog Post: Mostrar usuario actual (logueado) en un Lookup

$
0
0

Hola, a veces en los formularios de Dynamics CRM necesitamos recoger el usuario actual o logueado para rellenar algún lookup con ese valor.

Hoy voy a plantear un ejemplo completo de esto y de como se puede resolver.

Lo primero que hay que hacer es la creación de un campo de tipo Lookup con usuario en la entidad de Cuenta:

image

Luego lo añadimos al formulario de Cuenta:

image

Finalmente debemos añadir el siguiente javascript que se ejecute en el Load para actualizar el valor del campo:

   1:function setUsuarioActual()
   2: {
   3:var user = Xrm.Page.context.getUserId(); 
   4:var userId = user.substring(1,37);
   5:var serverUrl = Xrm.Page.context.getServerUrl()
   6:var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
   7:var ODATA_EntityCollection = "/SystemUserSet";
   8:// Specify the ODATA Query
   9:var ODATA_Query = "(guid\'" + userId + "')";
  10:// Combine into the final URL
  11:var ODATA_Final_url = serverUrl + ODATA_ENDPOINT + ODATA_EntityCollection + ODATA_Query;
  12:  
  13://Calls the REST endpoint to retrieve data
  14:     $.ajax({
  15:         type: "GET",
  16:         contentType: "application/json; charset=utf-8",
  17:         datatype: "json",
  18:         url: ODATA_Final_url,
  19:         beforeSend: function (XMLHttpRequest) {
  20:             XMLHttpRequest.setRequestHeader("Accept", "application/json");
  21:         },
  22:         success: function (data, textStatus, XmlHttpRequest) {
  23:var userName = data.d.FullName;
  24:            Xrm.Page.getAttribute("new_usuarioactualid").setValue( [{id: userId , name: userName , entityType: "systemuser"}]);
  25:  
  26:            },
  27:         error: function (XmlHttpRequest, textStatus, errorThrown) {
  28:             alert('Error: '+ ODATA_Final_url);
  29:  
  30:             }
  31:     });
  32:  
  33:  
  34: }

Añadirlo en un web resource y llamar a ese método en el load:

image

Por cierto, para que este código funcione, hay que añadir también la librería de jQuery.

Finalmente al abrir el formulario de las Cuentas, el campo “Usuario Actual” se rellena como se ve:

image

Un abrazo!


Viewing all articles
Browse latest Browse all 123975

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>