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:
Luego lo añadimos al formulario de Cuenta:
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: }
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:
Un abrazo!
Demian: me ha parecido muy interesante tu blog, sin embargo, tengo muchas dudas y no sé a donde recurrir. ¿Crees que me podrías orientar un poco? Estoy con la prueba de 30 días, me quedan 20 jeje, pero obvio no lo va a comprar uno, hasta que veamos que realmente funciona el CRM, pero no hay quien dé soporte u orientación. Muchas gracias :) ¡Felicidades por el nombramiento de este año! patitofloarrobahotmailpuntocom
ResponderEliminarHola, gracias por escribir.
EliminarTe comento que puedes probar el crm con el tiempo de trial y si se te acaba, solicitar otro trial, asi puedes probarlo algo mas.
Con lis blogs y la documentacion online de crm, tienes muchisima informacion para aprender a utilizarlo.
Si tu empresa tiene algunos requerimientos mas avanzados, hay cientos de partners de microsoft con experiencia que podran ayudarote a la implantacion.
Conozco bastante el crm y te digo que se pueden hacef grandes proyectos, pero hay que conocerlo bien, incluso yo lo recomiendo no solo como un crm sino tambien como una plataforma de desarrollo en general.
Si el proyecto lo vas a implementa r tu mismo, te recomiendo formarte (incluso vertificarte si te interesa) para aprovechar el crm al maximo.
Un abrazo y suerte!