Creación de una nueva extensión de Business Central en Visual Studio Code

Completado

Toda la funcionalidad en Dynamics 365 Business Central está codificada en objetos. Si desea modificar los objetos existentes (como tablas, páginas, etc.), debe crear extensiones. Las extensiones son parte de un modelo de programación basado en objetos. Puede crear nuevos objetos o ampliar los objetos existentes, en función de lo que quiera que haga la extensión. Una extensión define una funcionalidad adicional que modifica el comportamiento de la aplicación Business Central.

Todos los objetos se almacenan como código, lo que se conoce como código de lenguaje de aplicación (código AL). Todos los objetos se guardan en archivos con la extensión de archivo .al. Puede colocar varios objetos en un solo archivo .al, aunque se recomienda que utilice un solo archivo para cada objeto.

Con la extensión del lenguaje AL para Visual Studio Code, obtendrá las ventajas de un entorno de desarrollo moderno, junto con la integración perfecta de publicación, depuración e implementación con Business Central.

Al compilar la extensión, obtendrá un archivo de paquete .app implementable en Business Central Server. Puede incluso enviar su paquete de extensión a AppSource, donde puede ofrecer su solución a miles de posibles clientes de todo el mundo.

Tras instalar la extensión AL en Visual Studio Code, puede comenzar a crear extensiones para Business Central siguiendo estos pasos:

  1. Abra Visual Studio Code.

  2. Seleccione Ver en la barra de menús y, a continuación, Paleta de comandos. También puede usar el método abreviado de teclado Ctrl+Alt+P.

  3. En el menú que aparece, introduzca AL: Go y, a continuación, seleccione el comando AL: Go! (o use el método abreviado de teclado Alt+A Alt+L). Esta acción crea una nueva extensión AL.

    Captura de pantalla con la introducción del comando AL Go en el menú

  4. Indique la ruta en la que desea almacenar sus archivos de código de extensión. Visual Studio Code sugiere una ruta en su carpeta Documentos.

  5. La extensión del lenguaje AL se puede usar para desarrollar extensiones para diferentes versiones de Business Central. Visual Studio Code le pedirá que seleccione la versión a la que desea dirigirse.

  6. Seleccione a qué instancia se conectará para desarrollar y probar su extensión. Seleccione Espacio aislado de nube de Microsoft si se conecta al espacio aislado de nube en línea, o seleccione Su propio servidor si trabaja con un contenedor de Docker o una versión local. Seleccione Espacio aislado de nube de Microsoft si está configurando esta instancia para completar este módulo, ya que usará un espacio aislado de nube en línea para completar los ejercicios.

    Captura de pantalla del lugar en el que puede seleccionar la ubicación del servidor

Tendrá que facilitar sus credenciales de usuario para conectarse al espacio aislado de nube.

Visual Studio Code no sabe qué objetos (tablas, páginas, etc.) están ya disponibles en Business Central. Por lo tanto, tras introducir sus credenciales, Visual Studio Code intenta descargar símbolos de referencia. Estos símbolos son archivos .app que se descargan en una carpeta .alpackages dentro de su carpeta Extensión AL. Los símbolos contienen referencias sobre cómo se estructuran los objetos. Por ejemplo, qué campos se definen en una tabla de clientes, cómo se define el diseño de una ficha de proveedor, etc.

Antes de comenzar el desarrollo, descargue estos archivos de símbolos. Si Visual Studio Code no ha descargado los símbolos automáticamente, puede indicarle a Visual Studio Code que los descargue de su espacio aislado de nube.

Para descargar los símbolos, siga estos pasos:

  1. Seleccione Ver en la barra de menús y, a continuación, Paleta de comandos. También puede usar el método abreviado de teclado Ctrl+Alt.+P.

  2. En el menú que aparece, introduzca AL: Descargar símbolos y, a continuación, seleccione el comando AL: Descargar símbolos.

  3. La descarga de los símbolos puede tardar unos minutos en completarse. Tras la descarga de los símbolos, verá la nueva carpeta .alpackages en el Explorador de archivos. La carpeta tiene al menos estos archivos .app:

    • Aplicación

    • Aplicación básica

    • Aplicación del sistema

    • Sistema

    • Business Foundation

    Captura de pantalla de los paquetes AL descargados: símbolos

    En la ventana de salida de Visual Studio Code, también verá un mensaje que indica que Se han descargado todos los símbolos de referencia.

  4. Si se produce un problema en Visual Studio Code, podrá ver el error en la ventana de salida. Para abrir la ventana de salida, seleccione Ver > Salida, o bien puede usar el método abreviado de teclado Ctrl+Mayús+U.

  5. Para implementar su aplicación, presione la tecla F5 y espere hasta que la aplicación Business Central se inicie en su navegador web predeterminado. Si no hay problemas, aparecerá el mensaje Aplicación publicada: Hola mundo.

  6. Si vuelve a la aplicación Visual Studio Code, verá una barra de herramientas adicional que indica que se encuentra en modo de depuración. Si pulsa la tecla F5 en Visual Studio Code, se implementará e iniciará el depurador. Puede seleccionar el icono rojo Detener para detener su sesión de depuración.

    Captura de pantalla de la barra de herramientas del depurador de Visual Studio Code.

Cuando cree una nueva extensión con AL: Go!, se generará siempre de forma predeterminada un archivo HelloWorld.al. Este archivo contiene el código que mostrará el cuadro de mensaje del ejemplo anterior. La extensión de archivo .al indica que el archivo contiene código AL. Le recomendamos que elimine este archivo cada vez que inicie una nueva extensión.

El archivo Microsoft_Application.app

El archivo Microsoft_Application.app se incluye con Business Central y se encuentra en la carpeta \Applications\Application\Source. El archivo Microsoft_Application.app encapsula lógicamente todas las extensiones que componen una solución (por ejemplo, la versión 16.0.0.0 de los archivos del paquete de la aplicación básica y del sistema) y proporciona una manera práctica de definir y hacer referencia a la identidad de esta solución.

En versiones anteriores, las referencias a la aplicación básica y del sistema se indicaban explícitamente bajo las dependencias en el archivo app.json de la extensión. Sin embargo, ahora debe usar la propiedad de la versión de la aplicación en el archivo app.json.

El nombre de archivo de la referencia es Microsoft_Application.app; en el archivo app.json del archivo del paquete de la aplicación, el nombre es Aplicación. Para las aplicaciones base con código personalizado que tienen su propia appId, el archivo Microsoft_Application.app se puede modificar para hacer referencia a la appId de las aplicaciones base con código personalizado. Esto permite que cualquier extensión que dependa de la Aplicación resuelva a la appId personalizada.

Cuando inicia un nuevo proyecto AL en Visual Studio Code usando la plantilla AL:Go, las declaraciones de código WITH implícitas ahora se desactivarán de forma predeterminada para fomentar el uso de declaraciones WITH explícitas en el futuro. Esto se hace agregando la opción NoImplicitWith a la propiedad de características en el archivo app.json generado.

Almacenamiento de archivos de aplicaciones

De forma predeterminada, cuando crea proyectos AL, el archivo de aplicación de salida se almacena en la carpeta del proyecto. Sin embargo, si trabaja en varias aplicaciones que no están en el mismo espacio de trabajo y dependen unas de otras, podría resultarle útil enviarlas a una carpeta de aplicaciones compartida.

En la configuración de al.compilerOptions, ahora puede usar la propiedad outFolder para especificar la carpeta de salida que se usará al generar un archivo de aplicación como parte de la construcción de un proyecto AL.

Esto facilita la gestión y reutilización de aplicaciones generadas en una única ubicación. El proyecto AL en Visual Studio Code seguirá teniendo un nodo para el archivo de salida, pero el archivo se almacena físicamente fuera de la carpeta del proyecto.

A continuación, mostramos un ejemplo donde se observa cómo guardar archivos de aplicaciones creados en "myappfolder", en la unidad C del usuario.

Captura de pantalla con un ejemplo donde se observa cómo guardar archivos de aplicaciones creados en

Ubicación predeterminada para carpetas

La extensión del lenguaje AL para Microsoft Dynamics 365 Business Central tiene un comando para generar un nuevo proyecto AL. Desde el inicio, la ubicación de la carpeta para proyectos se ha establecido en la carpeta Documentos del usuario en Windows. Debido a las solicitudes que hemos recibido, hemos agregado una opción para que los partners definan una ubicación predeterminada distinta para los proyectos AL en la configuración, lo que facilitará el flujo de trabajo de creación de proyectos.

Hay un ajuste al.algoSuggestedFolder para especificar la ubicación de la carpeta predeterminada para nuevos proyectos AL. Se puede configurar por usuario o por espacio de trabajo, lo que ofrece cierta flexibilidad en la ubicación para nuevos proyectos.

Captura de pantalla de la configuración de carpeta sugerida, que especifica la ubicación predeterminada de la carpeta