Desde la versión R2 de Microsoft Dynamics NAV ya podemos ampliar y enriquecer la funcionalidad del cliente de roles (RTC) y de Microsoft Dynamics NAV Server con los ensamblados del Framework de .NET.
Actualmente podremos utilizar la versión del Framework 3.5 y anterior, pero presumiblemente vamos a poder utilizar versiones posteriores en NAV 7.
Esta interoperabilidad nos permitirá:
- Utilizar funcionalidad propia del Framework
- Crear nuestras propias librerías
- Utilizar soluciones de terceros.
Gracias a esta nueva capacidad, el único límite que tendrá nuestro NAV será la imaginación.
En nuestro ejemplo, vamos a utilizar la funcionalidad de Google Translator en NAV.
Si nos fijamos en una página traducida, vemos en el navegador una cadena de texto llamando al traductor, a continuación el idioma origen, el idioma destino y, por último, el texto a traducir: http://translate.google.es/#en|es|good%20morning
Vamos a utilizar el cliente NAV RTC para pasarle a una librería personalizada el idioma origen, destino y el texto a traducir. Esta librería se encargará de abrir un navegador y dirigirse a la ruta que nos devuelve la traducción solicitada.
Desde Visual Studio creamos un nuevo proyecto de clase llamado TranslatorClass y nos aseguramos que tenemos elegido el Framework 3.5 o anterior.
Creamos la clase Translator que contendrá la función Traducir. Esta función recibe el idioma origen, el idioma destino y el texto a traducir.
Copiamos la dll generada y la pegamos en las siguientes rutas Add-ins del cliente clásico, RTC y Servidor para que sea ejecutada desde el cliente RTC o desde servidor.
Abrimos el cliente clásico de Microsoft Dynamics NAV y creamos una nueva page llamada Traductora. Esta page contendrá las siguientes variables.
Vemos que para llamar a nuestra librería personalizada tenemos un nuevo tipo de dato llamado DotNet. En el subtipo podemos elegir si será una librería del Framework o personalizada.
En nuestro caso será personalizada por lo que iremos a la pestaña DynamicsNAV.
Tras elegirla, vemos que podemos seleccionar la clase Translator que acabamos de desarrollar
Una vez aceptada, las variables de nuestra aplicación quedan así:
Por último indicamos que nuestra variable se ejecutará desde el cliente RTC
Creamos los campos para elegir el idioma, introducir el texto a traducir y un botón de acción que llamará a nuestra función Traducir, contenida en la variable que acabamos de agregar.
La llamada a la función para Traducir necesitará llamar primero al constructor de la clase ya que no es un método estático, y a continuación le pasaremos los parámetros necesarios a la función, llamándola para que traduzca a un idioma u otro según decida el usuario.
Guardamos la page y procedemos a ejecutarla
El resultado tras seleccionar un modo de traducción, introducir un texto y pulsar Traducir es el siguiente
Vemos lo sencillo que es enriquecer la funcionalidad de NAV RTC mediante su interoperabilidad con el Framework de .NET.
No hay comentarios:
Publicar un comentario