ScaleUp 2019. Últimas novedades de Desarrollo para Business Central
Un año más organizamos el Training Tour SCALEUP. Y un año más lo publicamos en formato online, para consultarlo de nuevo si viniste a las formaciones presenciales o, seguirlo para conocer las novedades que nos presentó Microsoft sobre Business Central 15.
Es una ocasión para conocer y aplicar de cerca los cambios que nos ofrece Business Central, para mejorar nuestro trabajo. Novedades que Micrososft publicó en octubre 2019, la versión BC15.
Empezaremos realizando el desarrollo en BC14, la versión que salió en primavera 2019. Versión en la que C/SIDE se compaginaba con Extensiones. Para este desarrollo trabajaremos las sintaxis, el crear tablas, …
Una vez realizado el desarrollo y publicado, veremos qué cambios hacer en el código para publicarlo en Business Central 15.
Trabajaremos los cambios a hacer para poder publicar en las siguientes versiones.
La gran novedad que se publicó en octubre 2019 es la BaseApp. Es el nombre de la Extensión que contiene todo el código estándar de C/SIDE, todos los objetos del estándar los han movido a la extensión BaseApp.
Lección 1. Repaso del Requisito
Arrancamos la primera lección explicándote todo lo que que aprenderás en este curso. Empezaremos haciendo un repaso al Requisito que nos pidió el cliente.
El objetivo es crear un fichero de tipo Json, viendo también que podemos hacer con él una vez creado.
Del requisito real de nuestro cliente era mucho más largo y lo hemos ajustado para adaptarlo a un curso online.
Ir al vídeo de la lección 1. Introducción al ScaleUp 2019
Lección 2. Instalar y configurar Visual Studio Code
En esta lección conocerás el nuevo entorno de desarrollo. Instalándolo y configurando para familiarizarte con el ciclo de desarrollo de una extensión.
Si tienes experiencia desarrollando en C/SIDE, pero todavía no has tocado las extensiones, esta primera sección te va a servir para conocer el nuevo entorno de desarrollo y para familiarizarte con el ciclo de desarrollo de una extensión.
Ir al vídeo de la lección 2. Instalar y configurar Visual Studio Code
Lección 3. Crear el proyecto AL y descargar símbolos
En esta lección aprenderás a crear un proyecto. En este caso los primeros pasos para programar una Extensión con lenguaje AL.
Una vez creado el proyecto, repasaremos todos los archivos asociados al proyecto:
- El app.json, el manifiesto del proyecto
- El launch.json, para indicar los datos de conexión al servicio de Business Central
- El código, que guardamos en los ficheros .al
Ir al vídeo de la lección 3. Crear el proyecto AL y descargar símbolos
Lección 4. Publicar el código
Para poder ejecutar nuestro código, tenemos que publicarlo contra el servicio de Business Central.
En esta lección aprenderás a publicar ejecutando el código. Comprobando las diferentes acciones que se pueden hacer cambiando los parámetros.
Ir al vídeo de la lección 4. Publicar el código
Lección 5. Instalar y configurar GIT
GIT es una herramienta de control de código fuente, que nos permite ir guardando versiones de nuestros ficheros a medida que vamos avanzando en el desarrollo.
Con GIT aprenderás a ver la historia de qué modificaciones se han hecho, quién las ha hecho, cuándo y por qué motivo.
Ir al vídeo de la Lección 5. Instalar y configurar GIT
Lección 6. Inicializar un repositorio local
Una vez creado el nuevo proyecto AL, iniciaremos un repositorio local en la misma raíz del proyecto AL que hemos creado.
Lo trabajaremos con Visual Studio Code, el cual nos informa de los ficheros.
Ir al vídeo de la Lección 6. Inicializar un repositorio local
Lección 7. Rangos de numeración
En esta lección aprenderás a editar el manifiesto del proyecto, el app.json. Conocerás como funcionan los rangos que se asignan a las licencias.
Para hacer personalizaciones de cliente (Per Tenant Extensions – PTE), tenemos que usar numeración que se encuentren en el rango del 50.000 al 99.999. Te contamos más en la lección.
Ir al vídeo de la Lección 7. Rangos de numeración
Lección 8. Histórico y estrategias de Commits
En esta lección aprenderás como ver el historial de todos los commits que hemos trabajado hasta el momento.
También repasaremos cuando hay que hacer un commit. La idea es hacer un commit cada vez que hay un cambio relevante. Pero, ¿qué entendemos por cambio relevante?
Ir al vídeo de la Lección 8. Histórico y estrategias de Commits
Lección 9. Creación de Tablas
En esta lección crearemos la estructura de código empezando por crear una tabla usando el snippet *ttable*.
Para aprovechar al máximo esta lección necesitarás los ejercicios descargables, en concreto el ejercicio 3.
Aprovechamos esta lección para explicar algunas de las novedades que presenta BC14
Ir al vídeo de la Lección 9. Creación de Tablas
Lección 10. Nombrar ficheros de forma automática
Visual Studio Code es un editor de código abierto, lo que permite que cualquier persona pueda crear una extensión para añadir funcionalidad extra y capacidades extras.
En esta lección nos vamos a centrar en una de las extensiones para el lenguage AL que encontramos en el MarketPlace de vscode: *Waldo’s CRS AL Language Extension*.
Aprenderás a nombrar los ficheros siguiendo un patrón, automáticamente.
Ir al vídeo de la Lección 10. Nombrar ficheros de forma automática
Lección 11. Creación de la página
En esta sección vamos a crear una página para poder visualizar e introducir los datos que se guardan en la tabla que habíamos creado previamente.
Para saber en qué punto de la interfaz gráfica queremos que apareza nuestro código, vamos a abrir el cliente web y a usar el nuevo Page Inspector que trae el cliente web de Business Central. El inspector de paginas se parece al Zoom que teníamos en el cliente classic, y al Acerca de esta página que teníamos en el cliente windows, pero mejorado.
En esta lección también introducimos datos desde la nueva página y vemos qué tipo de aviso le aparece al usuario cuando intenta repetir un valor en un campo que está en una clave única.
Ir al vídeo de la Lección 11. Creación de la página
Lección 12. Clonar un repositorio remoto y gitignore
En lecciones anteriores estuvimos haciendo commits únicamente sobre un repositorio local. Sin embargo, para poder colaborar con otros técnicos que trabajen en el mismo proyecto, necesitamos que todos los cambios se vayan sincronizando también con un repositorio remoto al que todos tengan acceso.
En esta lección veremos:
- Cómo clonar un repositorio alojado en DevOps.
- Cómo configurar el .gitignore para excluir de la sincronización ciertos ficheros.
Ir al vídeo de la Lección 12. Clonar un repositorio remoto y gitignorea
Lección 13. Clonar un proyecto AL y descargar símbolos
Para poder desarrollar en un proyecto AL es imprescindible disponer del los símbolos de la BaseApp y de tener configurados los datos de conexión a la instancia de BC (en el launch.json).
Sin embargo los símbolos y el launch no los tenemos al clonar un repositorio GIT, porque justamente forman parte de los ficheros que hemos decidido ignorar.
Así, siempre que clonemos un repositorio que contenga un proyecto AL, tendremos que realizar estos dos pasos antes de poder empezar a desarrollar:
- Configurar el launch.json
- Descargar símbolos
Ir al vídeo de la Lección 13. Clonar un proyecto AL y descargar símbolos
Lección 14. Activar los analizadores de código
Un Analizador de código es una librería que se construye sobre el compilador y que ofrece un análisis más detallado de la sintaxis y la semántica del código, en tiempo real.
En esta lección vemos:
- Qué analizadores de código existen para el lenguage AL
- Cómo activarlos y configurarlos
- Cómo resolver los errores y avisos que nos muestran
Aprovecharemos este tema para forzar conflictos en GIT y así ver como gestiona los conflictos introducidos cuando múltiples técnicos están trabajando en un mismo proyecto y modificando un mismo fichero.
Ir al vídeo de la Lección 14. Activar los analizadores de código
Lección 15. Gestión de conflictos con GIT
Cuando trabajamos con GIT, cada técnico tiene una copia local del código. Mientras trabaje en local, la única persona que hace modificaciones soy yo, por lo que no voy a tener ningún problema.
Cuando termino tengo que subir mi commit al remoto, y ahí es cuando se pueden producir los conflictos.
En esta lección vamos a responder a estas preguntas y ver como gestiona GIT estos casos. En general GIT gestiona muy bien los conflictos. Si dos commits están modificando un mismo fichero, GIT intentará hacer un merge automático de los cambios. Si no consigue hacer un merge automático, no nos dejará sincronizar con el remoto hasta que alguien, de forma manual, resuelva los conflictos de merge.
Ir al vídeo de la Lección 15. Gestión de conflictos con GIT
Lección 16. Personalizar las reglas de los analizadores
En ocasiones hay alguna regla de los analizadores de código a la que nos interesa cambiar su comportamiento.
Hay algunas reglas que se muestran como simples avisos, y quizá en nuestra organización queremos sean más que avisos, queremos convertirlos en errores para que el sistema no deje compilar a no ser que los técnicos corrijan el aviso. Podemos personalizar el juego de reglas, para que sea más restrictivo.
Esto es lo que vamos a hacer en esta lecciones, definiendo un archivo de configuración al que llamaremos clip.ruleset.json.
Ir al vídeo de la Lección 16. Personalizar las reglas de los analizadores