Esta es la novena entrega de la serie sobre utilidades para Business Central. En esta ocasión, explico cómo utilizar el procedimiento ActionError
, apoyado en el tipo de datos ErrorInfo
, para manejar errores de forma clara, guiada y contextualizada, mejorando tanto la experiencia del usuario como la eficiencia en la resolución de problemas.
¡Vamos manos a la obra! 🤩
El bloque de código: Procedimiento ActionError
#region Control de Errores
procedure ActionError(MessageErr: Text; PageNo: Integer; FieldNo: Integer; RecordId: RecordId; CaptionButton: Text)
var
ErrorInfo: ErrorInfo;
begin
Clear(ErrorInfo);
ErrorInfo.Message(MessageErr);
ErrorInfo.PageNo := PageNo;
ErrorInfo.RecordId := RecordId;
if FieldNo <> 0 then
ErrorInfo.FieldNo := FieldNo;
if CaptionButton <> '' then
ErrorInfo.AddNavigationAction(CaptionButton);
if GuiAllowed() then
Error(ErrorInfo);
end;
#endregion
1. Declaración y Configuración de Variables
ErrorInfo
encapsula toda la información necesaria sobre el error. Se inicializa conClear(ErrorInfo)
para evitar datos residuales.
2. Definición del Mensaje
ErrorInfo.Message(MessageErr)
configura el mensaje que se muestra al usuario. Este mensaje puede ser claro y específico, explicando el error de forma comprensible.
3. Contextualización del Error
ErrorInfo.PageNo
: Asocia el error con una página específica.ErrorInfo.RecordId
: Relaciona el error con un registro concreto.
4. Resaltado del Campo
- Si el error afecta a un campo específico,
ErrorInfo.FieldNo
lo indica, facilitando al usuario identificar el problema.
5. Adición de una Acción de Navegación
- Con
AddNavigationAction(CaptionButton)
, se añade un botón en el mensaje de error que puede dirigir al usuario a la acción o sección correspondiente.
6. Verificación de la Interfaz Gráfica
GuiAllowed()
garantiza que el error solo se muestre si hay una interfaz gráfica activa. Esto evita errores en contextos como integraciones API.
7. Lanzamiento del Error
- Finalmente,
Error(ErrorInfo)
genera el error, mostrando al usuario toda la información configurada.
Relación con el tipo de datos ErrorInfo
El procedimiento ActionError
utiliza las propiedades y métodos de ErrorInfo
para proporcionar mensajes detallados y acciones específicas. Algunas de las capacidades destacadas de ErrorInfo
son:
- Mensajes claros: Define un mensaje principal y uno adicional (opcional) para diagnóstico.
- Acciones adicionales: Incluye botones para navegación o resolución de problemas.
- Identificación precisa: Señala páginas, registros y campos afectados por el error.
Beneficios y aplicaciones prácticas
- Experiencia mejorada: Proporciona mensajes claros y navegaciones directas para resolver errores.
- Ahorro de tiempo: Facilita la resolución rápida de problemas.
- Mantenimiento simplificado: Centraliza la lógica de errores, haciendo más sencillo su ajuste o mejora.
Ejemplo práctico
Si un usuario intenta guardar un cliente sin completar el campo “Teléfono”, el procedimiento puede:
- Mostrar el mensaje: “El campo ‘Teléfono’ es obligatorio.”
- Resaltar la página de “Clientes” y el campo específico.
- Añadir un botón que dirija al campo “Teléfono” para su corrección.
Este enfoque elimina la ambigüedad y ayuda a los usuarios a resolver el error rápidamente.
Conclusión
En esta novena entrega de la serie Utils, explico cómo el procedimiento ActionError
y el tipo de datos ErrorInfo
son herramientas indispensables para mejorar la gestión de errores en Business Central. Esta combinación permite mostrar mensajes detallados, guiar al usuario y resolver problemas de forma ágil.
Para seguir todos los posts de esta serie, puedes encontrarlos bajo la etiqueta #UtilsBc.
Si quieres ver el código completo, está en GitHub.
Espero que esta entrada te sea de gran utilidad. ¡Nos vemos en la próxima!