Extensiones Business Central
Uso de Dotnets con AL
DEVELOPMENT FOR BUSINESS SOLUTIONS, S.L.
Publicado el martes, 22 de enero de 2019 a las 16:21
Bien sabemos que con el nuevo lenguaje AL los dotnets no estaban permitidos, pues bien, parece que con la última actualización de AL esto empieza a cambiar.
Por el momento Microsoft ha añadido la posibilidad de usar los dotnets desde AL siempre y cuando la extensión sea para un entorno On-premise, es decir, una instalación local.
Para utilizar esta nueva funcionalidad de AL, lo primero que deberemos es establecer la propiedad “target” en el archivo app.json de nuestra extensión.
Una vez configurado el archivo app.json vamos a abrir la configuración del espacio de trabajo actual y vamos a especificar en qué carpetas se deben de buscar los ensamblajes mediando la propiedad “al.assemblyProbingPaths”.
Pulsamos “Ctrl + ,” y se nos abrirá la siguiente ventana donde introducimos la propiedad mencionada anteriormente:
Pulsamos en "Editar" en settings.json y se nos abrirá un editor para editar la configuración y lo que tenemos que hacer es añadir la nueva configuración en la pestaña de la derecha
Aquí indicaremos las carpetas donde visual estarán los dotnets que vamos a declarar posteriormente.
Ahora que ya tenemos configurada nuestra extensión y el entorno de VSCode vamos a ver como declarar un dotnet para nuestra extensión.
Primero debemos declarar el tipo en un paquete dotnet, y luego referenciarlo desde el código usando el tipo dotnet.
Comenzamos declarando un paquete dotnet vacío en la extensión:
NOTA: Microsoft nos recomienda crear un archivo .al donde declarar todos los .NET que vayamos a utilizar.
Continuamos añadiendo una declaración del ensamblaje al que haremos referencia, para este ejemplo vamos a usar “mscorlib” y un .NET propio:
NOTA: Un paquete dotnet puede contener x declaraciones de ensamblajes.
Como se puede ver, hemos declarado “System.String” desde mscorlib y le hemos dado el nombre “TestString”, y también “GContacts2Nav.GContact2Nav” desde “GContacts2Nav” con el nombre “ContactTest”.
A partir de este momento podemos hacer referencia al tipo .NET desde cualquier parte de nuestra extensión utilizando el alias/nombre que le hemos dado en el paquete dotnet.
Nos declaramos las variables dotnet, y ya podemos hacer uso de todos sus métodos y propiedades.
Como hemos mencionado a principio del articulo los dotnets solo se podrán declarar en entornos on-premise por el momento, en entornos on-cloud por motivos de seguridad no está permitido aun, esperemos que Microsot nos sorprenda en un futuro.
22/01/2019 16:21 | gabrield4b