Business Central permite abrir páginas mediante código AL de una forma muy sencilla y eficaz. Antes, abrir la página de ficha de alguna tabla podía ser un proceso tedioso, pero ahora el estándar ha simplificado enormemente esta tarea para que sea mucho más fácil y eficiente. Esto es especialmente útil cuando se necesita mostrar información relevante de un registro específico en un momento determinado dentro de la aplicación.
¡Vamos manos a la obra! 😌
🔍 Abriendo una página de forma normal
procedure OpenRun()
begin
SalesHeader.SetRange("Document Type", SalesHeader."Document Type"::Order);
SalesHeader.FindFirst();
Clear(PageManagement);
PageManagement.PageRun(SalesHeader);
end;
En esta función, se filtra la tabla Sales Header
para seleccionar solo los documentos de tipo “Order”. Posteriormente, con FindFirst()
, se obtiene el primer registro que coincida con el filtro. Luego, se limpia la variable PageManagement
para asegurarse de que esté vacía antes de su uso. Finalmente, la página se abre utilizando el método PageRun
, lo que permite mostrar la información del pedido seleccionado.
🏰 Abriendo una página en modo modal
procedure OpenRunModal()
begin
SalesHeader.SetRange("Document Type", SalesHeader."Document Type"::Order);
SalesHeader.FindFirst();
Clear(PageManagement);
PageManagement.PageRunModal(SalesHeader);
end;
Esta función sigue el mismo procedimiento que la anterior, pero utiliza PageRunModal
en lugar de PageRun
. La diferencia clave es que el modo modal bloquea la interacción con otras páginas hasta que el usuario cierre la página modal. Esto es muy útil cuando se requiere una acción específica antes de continuar con otras tareas.
📋 Obteniendo el ID de la página
procedure GetPageID()
begin
SalesHeader.SetRange("Document Type", SalesHeader."Document Type"::Order);
SalesHeader.FindFirst();
Clear(PageManagement);
Message(format(PageManagement.GetPageID(SalesHeader)));
end;
En esta función se obtiene el ID de la página asociada al registro filtrado en la tabla Sales Header
. La función GetPageID
devuelve el identificador de la página correspondiente, que se muestra en un mensaje mediante la función Message(format(...))
. Esto puede ser útil para depuración o cuando se necesita referenciar la página en otros procesos.
🌟 Beneficios y aplicaciones prácticas
El uso de estas funciones proporciona varios beneficios, tales como:
- Automatización de la apertura de registros relevantes en la aplicación.
- Mejora de la experiencia de usuario al guiarlo directamente a la información requerida sin complicaciones innecesarias.
- Reducción del esfuerzo manual al abrir páginas de tipo ficha gracias a las herramientas del estándar.
- Uso eficiente de los recursos del sistema mediante la apertura modal cuando se requiere interacción controlada.
- Facilidad para integrar estas funcionalidades en flujos de trabajo más complejos dentro de Business Central.
🔥 Conclusión
Trabajar con la apertura de páginas en Business Central mediante AL es una herramienta muy poderosa para mejorar la navegación y la eficiencia de los procesos empresariales. Saber cuándo usar una apertura normal o modal puede marcar la diferencia en la usabilidad del sistema.
Si quieres ver el código completo, está en GitHub.
¡Hasta la próxima! 👋