Tu primera extensión de BC

Ahora que ya tienes tu propio entorno de desarrollo de BC, supongo que tienes que ganas de alguna pequeña modificación, para ver qué tal se ve en este nuevo entorno. Si todavía no lo tienes, te recomiendo que utilices Docker y el tutorial de mi anterior entrada.

Vamos a ponernos en situación

Seguramente ya lo sabes, pero por si acaso te lo cuento: Eso de entrar en un objeto y poner tu trozo de código dónde te plazca, ha pasado a la historia. Lo que hay que hacer ahora es programar extensiones que se suscriban a eventos que tiene BC. A la vez, tus trozos de código también pueden contener eventos a los que nuevas extensiones se suscriban, creando lo que realmente va a ser una solución en capas de desarrollo en la que cada una extiende la funcionalidad sobre la que se apoya. Como resultado, tenemos desarrollos más encapsulados, más fáciles de migrar y que permite aprovechar los sistemas de control de versiones (GitHub, DevOps, …)

Y ahora, al lío

No perdamos el hilo… hemos venido a hacer nuestra primera extensión.

Lo primero que necesitamos es tener instalado Visual Studio Code. Es gratis ?, y lo puedes descargar aquí. Visual Studio Code es una aplicación de desarrollo que sirve para muchos lenguajes de programación y que está disponible en varios sistemas operativos, como por ejemplo, windows o mac. Es decir, ¿quieres programar BC desde tu mac? No lo he probado, pero en principio debería de funcionar ?.

Una vez tengas instalado Visual Studio Code, lo siguiente que vas a necesitar es un plugin de Visual Studio Code para poder comunicarte con Business Central. Lo puedes descargar e instalar desde aquí.

A parte de esta extensión, hay unas cuantas extensiones más que puedes descubrir e instalar. En mi caso, no me complico mucho y suelo instalar la colección entera de extensiones que Waldo ha montado y que puedes descargar desde aquí.

Cuando abras tu nuevo Visual Studio Code, encontrarás una pantalla de bienvenida.

Quiero ver código…

…y yo. Para empezar a desarrollar tu extensión, utiliza Ctrl+Shift+P para abrir el diálogo de la imagen. A continuación, selecciona AL:Go!

Al hacerlo, este mismo diálogo irá abriendo una serie de pasos que tienes que contestar.

?Si no tienes este comando, es que no has instalado correctamente el plug-in para AL. Compruébalo o reinicia VSCode para ver si se arregla.

Si has seguido los pasos de mi anterior post, puedes seguir las mismas respuestas que yo he dado:

En la primera pregunta tienes que indicar tu ?carpeta local sobre la que Visual Studio Code va a ir añadiendo los ficheros que necesita para que puedas desarrollar la extensión.

En la segunda pregunta, te va a preguntar qué versión de BC estás utilizando. En mi caso:

La siguiente pregunta es sobre dónde está instalado BC: Cloud o OnPrem:

En este punto, y después de pedirte el usuario y el password de BC, VSCode intentará descargar los símbolos desde http://localhost/BC160.

En mi caso, este paso automático da error, porque mi instancia de BC no se encuentra en esa URL, con lo que tengo que hacer unos cambios en el fichero launch.json para que funcione:

Y, a continuación, descargar los símbolos manualmente:

Los símbolos no es más que una forma de llamar al conjunto de objetos que ya están en el BC al cual te estás conectando. Viene a ser como una acción de descubrir qué hay ahí para poder interactuar.

Vamos a ver que tenemos. En la parte de la izquierda encontramos todos los ficheros que se han creado. Ahora mismo, los 2 ficheros que nos importan son launch.json, donde tenemos los datos básicos para conectarnos con Business Central y HelloWorld.al, que contiene el código fuente de nuestra primera extensión:

Esta extensión es un ejemplo que VSCode nos crea para testear que todo funciona correctamente. ?Really? Sí. Puedes probar tu primera extensión haciendo F5 y deberías de ver algo más o menos así:

Nos vemos pronto

Ya tenemos nuestra primera extensión. Lo sé, prácticamente no hace nada, pero establece los cimientos para que podamos empezar a probar cosas. Por lo menos, tenemos algo que funciona. Si más adelante deja funcionar, será algo que hemos roto… lo que reduce mucho la lista de cosas que pueden fallar. ?

Dejar un comentario

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