GitHub Copilot en AL: Ejemplo Práctico de Generación y Corrección de Código
GitHub Copilot ha demostrado ser una herramienta poderosa para la generación de código en diversos lenguajes, y en AL, el lenguaje de desarrollo de Business Central, puede ser un gran aliado. En este artículo, exploramos un caso práctico en el que Copilot nos ayuda a escribir y corregir código de una extensión para comparar ofertas de compra.
Supongamos que queremos crear una tabla en AL para almacenar ofertas de compra. Podemos empezar con un prompt detallado en un comentario para que Copilot genere el código.
// Crea una tabla en AL llamada 'OfertasCompra' con los siguientes campos:
// - ID (código, clave primaria)
// - Proveedor (código[20], relacionada con la tabla Proveedores)
// - Fecha de oferta (Fecha)
// - Importe total (Decimal)
// - Moneda (código[10], relacionada con la tabla Monedas)
Copilot responde generando el siguiente código:
table 50100 "OfertasCompra"
{
DataClassification = ToBeClassified;
fields
{
field(1; "ID"; Code[20])
{
DataClassification = CustomerContent;
}
field(2; "Proveedor"; Code[20])
{
DataClassification = CustomerContent;
TableRelation = Vendor;
}
field(3; "Fecha de oferta"; Date)
{
DataClassification = CustomerContent;
}
field(4; "Importe total"; Decimal)
{
DataClassification = CustomerContent;
}
field(5; "Moneda"; Code[10])
{
DataClassification = CustomerContent;
TableRelation = Currency;
}
}
keys
{
key(PK; "ID")
{
Clustered = true;
}
}
}
GitHub Copilot utiliza modelos de lenguaje avanzado (como GPT) para analizar el contexto del comentario y generar código en función de patrones comunes en repositorios públicos. En este caso, Copilot entiende la estructura de una tabla en AL y genera relaciones con otras tablas como Vendor y Currency de Business Central.
Para más información sobre cómo GitHub Copilot utiliza IA en la generación de código, consulta la documentación oficial.
En ocasiones, Copilot puede generar código con errores menores o que no sigue las mejores prácticas. Por ejemplo, si olvidamos la configuración de permisos o el uso de claves adecuadas, podemos indicarlo con comentarios:
// Revisa el código generado y agrega:
// - Un campo para estado de la oferta (Opcion: 'Pendiente', 'Aprobada', 'Rechazada')
// - Permisos adecuados para la tabla
Copilot ajusta el código para incluir el campo adicional y los permisos:
field(6; "Estado"; Option)
{
OptionMembers = Pendiente, Aprobada, Rechazada;
}
permissions
{
Permission = tabledata "OfertasCompra" = RIMD;
}
Copilot utiliza el contexto proporcionado por el comentario para ajustar el código de manera coherente, manteniendo las relaciones y convenciones de AL. Esta capacidad de iteración lo convierte en una herramienta valiosa para el desarrollo en Business Central.
Copilot genera estructuras AL válidas y funcionales.
Interpreta correctamente prompts bien redactados.
Puede corregir errores y mejorar el código tras iteraciones.
Agrega relaciones y configuraciones adicionales según la lógica del negocio.
A veces requiere ajustes manuales en convenciones de Business Central.
No siempre optimiza el rendimiento del código sin una guía clara.
GitHub Copilot es una herramienta útil para acelerar el desarrollo en AL, especialmente en la creación de tablas y estructuras repetitivas. Con prompts bien estructurados y revisiones iterativas, puede mejorar la calidad del código y reducir el tiempo de desarrollo. Sin embargo, sigue siendo necesario revisar y validar el código generado para asegurar su correcta implementación en Business Central.
Para aprender más sobre AL y su integración con GitHub Copilot, visita la documentación de AL en Microsoft.
En el próximo artículo, exploraremos cómo Copilot puede ayudar en la creación de Pages y Reports para visualizar ofertas en Business Central.
Suscríbete al canal (anima y da ese empujón a todo esto).
Pulsa «like» si te ha gustado.
Si no quieres perderte nada, ya sabes, pulsa la campana.
En los comentarios déjame cualquier idea, duda, corrección o aportación. Todo será bien bienvenido.
Nota: El contenido de este artículo ha sido generado con la ayuda de IA, para más información haz clic aquí
Original Post https://techspheredynamics.com/2025/03/10/github-copilot-en-al-ejemplo-practico-de-generacion-y-correccion-de-codigo/