Esta función mejora la experiencia de usuario en model driven apps
Esta función mejora la experiencia de usuario en model driven apps

Esta función mejora la experiencia de usuario en model driven apps

¡La función NavigateTo al rescate!

No os ha pasado más de una vez que cuando alguien “externo” a nuestro mundillo no hace más que decir… pues es que Dynamics no hace más que abrirme pestañas y ventanas y más y más…. Seguro que sí.

Microsoft ya es consciente de esto y ya se ha puesto en marcha. De hecho esta función sorprendentemente está cada vez en más apps nativas como Field Services, Ventas…etc

Bien pues sin más dilación… te presento la función NavigateTO. NavigateTO ya existía para mostrar listados de entidades pero no fue hasta este año cuando Microsoft desplegó esta funcionalidad y que ya está disponible para todos. Y.. ¿de qué estoy hablando? Pues mirad la siguiente imagen:

Si observáis lo que tengo es creado una entidad que he llamado Contacto_2 y, en este caso, he realizado una llamada en el evento OnLoad del formulario para mostrar un nuevo registro de la entidad Cuenta (account). Pero si os fijáis bien Dynamics me está ofreciendo una ventana contextualizada donde, en realidad no he salido de la entidad de Contacto, sino que estoy trabajando sobre el registro de cuenta y cuando finalice, cierro esta ventana y vuelvo a mi registro de contacto. Estupendo.. no???

Microsoft lo está implementando (por ejemplo) de este modo en Órdenes de trabajo. Cuando agrego una tarea, en vez de redireccionarme a ese nuevo registro, me aparece esta ventana contextual, termino de trabajar en ello y vuelvo automáticamente a mi orden de trabajo

Incluso para la navegación entre las distintas apps de la Wave 2 de este maravilloso año 2020 está en un menú contextual:

Ya, ya sé que te mueres de ganas de saber cómo se hace. Aquí te dejo la documentación de la API donde te explica más en detalle pero a grandes rasgos el código que debes introducir es en javascript y es así:

function onLoad(context){

  let pageInput = new Object();
  pageInput.pageType = "entityrecord";
  pageInput.entityName = "account";

  let navigationOptions = new Object();
  navigationOptions.target = 2;
  navigationOptions.position = 1;
  navigationOptions.width = 90;

  Xrm.Navigation.navigateTo(pageInput, navigationOptions);
}

PageInput: para definir qué quieres mostrar en el control. Tenemos la opción de mostrar un listado de entidades, un registro o incluso un webresource personalizado.

navigationOptions: Definimos el comportamiento del control: si donde queremos que se posicione y su tamaño

Espero que puedas aprovechar toda esta funcionalidad que Microsoft está poniendo a nuestra disposición. Ahh por cierto! Este tipo de navegación sólo es compatible con la nueva interfaz unificada por lo que, deberás estar actualizado para poder aprovecharlo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.