Hace relativamente poco tuve que modificar un WebResource que estaba incrustado en Dynamics 365 y en general suele ser necesario acceder a la Api del cliente porque debes saber que sólo está soportado la interacción con elementos de Dyn365 a través de la Api de cliente.
La mayoría de la comunidad y desarrolladores ya saben esto y es muy típico el uso de Windows.Parent.Xrm… Yo en su tiempo lo cogí mucha manía porque no me gustaba nada y de hecho Microsoft confirma que este método funcionaría en los formularios pero no asegura su funcionamiento en Recursos Web incrustados en paneles o Sitemap.
Ahora podemos extraer un contexto global que nos permite realizar funciones básicas prácticamente en cualquier script de Dyn365. Cosas tan básicas como extraer el id del usuario que está utilizando la aplicación, los roles que tiene o incluso la url de Dynamics 365 lo podemos conseguir haciendo referencia al siguiente recurso en tu HTML:
src=»ClientGlobalContext.js.aspx»
Una vez referenciado, en este recurso, podemos extraer el contexto global de CRM mediante la siguiente función en nuestro código javascript:
Xrm.Utility.getGlobalContext()
Y de esta forma conseguiremos extraer el contexto de una forma soportada para nuestros scripts en Dynamics 365. Si ya tenías Dynamics 365 y no tienes este método implementado, ahora es un momento crucial para cambiarlo puesto que con la nueva versión han cambiado métodos de la api del cliente de Dynamics 365. Podéis ver más información acerca del contexto global aquí
Desde muy joven he sido un apasionado por la tecnología pero no fue hasta hace algo más de 8 años que me presentaron a Dynamics 365 (para entonces Dynamics CRM) y ahora, junto con toda la power platform, nos hemos hecho muy amigos. Me encanta desarrollar hasta llegar a la forma más óptima y sencilla de realizar las cosas porque (como se dice) en la sencillez reside la elegancia siempre y cuando respete el estándar del producto.