El desarrollo en Dynamics 365 Business Central se hace mediante extensiones, a diferencia del Dynamics NAV no se modifican los objetos del estándar, ya que las extensiones son módulos que se utilizan para agregar funcionalidades específicas o agregar características que no están disponibles en el estándar de la aplicación, permitiendo a los usuarios personalizar su experiencia de Business Central.

En el post Como comenzar con Dynamics 365 Busines Central vimos como instalar y preparar el entorno para desarrollar con extensiones, a continuación, vamos a ver un ejemplo muy básico de estos desarrollos.

Para ello debemos tener nuestro entorno de Business Central corriendo y abrimos Visual Studio Code

Abrimos la paleta de comandos
Seleccionamos el comando AL:Go! que lo que hace es crear un proyecto en lenguaje AL para Business Central y en el proceso nos ira preguntando una serie de acciones a realizar.

Nos propone una ruta para guardar el proyecto

Nos pregunta para que versión de Business Central queremos realizar el desarrollo, seleccionamos la última.

Crea la estructura del proyecto AL

Nos pregunta contra qué tipo de entorno queremos desarrollar, puede ser local o remoto. En este caso como estamos trabajando con Docker en local seleccionamos Your own server

Nos pregunta si el servidor requiere autenticación, introducimos nuestro usuario
Introducimos la contraseña

Se crea el archivo lauch.json con la configuración del servidor que hemos seleccionado

Configuración del proyecto

En la estructura del proyecto se crean dos archivos launch.json y app.json que son muy importantes para la configuración del proyecto.

launch.json

En este archivo se configura el proceso de depuración para la extensión o proyecto en el entorno de desarrollo.

Puede contener las siguientes propiedades:

  • “version”: La versión del archivo de configuración. En Business Central, la versión es siempre “0.2.0”.
  • “configurations”: Es un array que contiene una o más configuraciones de depuración.
    • “name”: El nombre de la configuración de depuración.
    • “type”: El tipo de configuración. En Business Central, el tipo es “al”.
    • “request”: El tipo de solicitud. En Business Central, la solicitud es siempre “launch”.
    • “startupObjectId”: El ID de objeto que se usará para iniciar la depuración.
    • “server”: El nombre del servidor de Business Central.
    • “port”: El puerto de Business Central.
    • “authentication”: El tipo de autenticación que se utilizará para conectarse a Business Central.
    • “launchBrowser”: Si se debe abrir el navegador web predeterminado al iniciar la depuración.

Además de estas propiedades, el archivo “launch.json” también puede incluir otras opciones de configuración, como puntos de interrupción, puertos, variables de entorno, etc.

app.json

Este archivo permite definir y configurar las propiedades y características de la extensión o aplicación que se está desarrollando.

Puede contener las siguientes propiedades:

  • “id”: El identificador único de la extensión o aplicación. Este valor se utiliza para identificar la extensión o aplicación en Business Central.
  • “name”: El nombre de la extensión o aplicación.
  • “publisher”: El nombre del editor de la extensión o aplicación.
  • “version”: La versión de la extensión o aplicación.
  • “dependencies”: Una lista de dependencias que la extensión o aplicación requiere para funcionar.
  • “runtime”: La versión de la plataforma de Business Central en la que se ejecutará la extensión o aplicación.
  • “target”: El tipo de compilación de la extensión o aplicación, como “on-prem” (local) o “cloud” (en la nube).
  • “logo”: La imagen que se utilizará como logotipo de la extensión o aplicación.
  • “privacyStatement”: La URL del documento de declaración de privacidad de la extensión o aplicación.

Además de estas propiedades, el archivo “app.json” también puede incluir otras opciones de configuración, como permisos requeridos, archivos de traducción, configuraciones de servidores y URL de soporte técnico.

Dicho esto, procedemos a configurar nuestro proyecto con los datos que hemos configurado en nuestro Contenedor de Docker en el post Como comenzar con Dynamics 365 Busines Central.

En el archivo launch.json indicamos en la propiedad name el nombre de nuestro contenedor (BC365), el tipo de entorno, la ruta del servidor, la instancia y añadimos el puerto.

En el archivo app.json indicamos en la propiedad name el nombre de nuestro proyecto y en publisher el nombre del desarrollador o empresa que desarrolla el proyecto y la versión de la aplicación.

Símbolos del sistema

Mediante el comando AL:Download symbols descargamos los símbolos del servicio de Business Central, esto permite descargar todos los símbolos de la aplicación base de Business Central para poder hacer referencia a cualquier entidad del estándar.

Al hacer esto se crea en el proyecto la carpeta .alpackages con los símbolos del sistema.

Archivo .al

El archivo HelloWorld.al que se crea por defecto es un objeto de tipo página que extiende la funcionalidad de la lista de clientes mostrando un mensaje en el trigger OnOpenPage.

Para probar el proyecto, vamos al menú Run y seleccionamos la opción Run Without Debugging, esto conectará con nuestro entorno de docker y lanzará el mensaje de nuestra extensión.

Se abre en el navegador el mensaje configurado en la extensión de la página de clientes.

Si queremos revisar la extensión que hemos publicado, vamos a la Configuración -> Extensiones

Podemos ver la extensión que hemos publicado.

Bueno, teniendo un poco más claro cómo es trabajar con extensiones, en sucesivos posts iré mostrando a través de ejemplos como trabajar con los distintos tipos de objetos y las extensiones.

Por geekdevit

Deja una respuesta

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.