Consejos de programación: restricciones y excepciones
Resumen rápido
El artículo explica cómo las restricciones y las excepciones ayudan a controlar situaciones no válidas o inesperadas en un programa. Distingue entre validar los datos y gestionar los errores que interrumpen el flujo normal.
Contenidos
OpenERP ofrece un mecanismo estándar para añadir restricciones a los registros. Este mecanismo se utiliza, por ejemplo, en account.move.line para garantizar que no se utilice ninguna cuenta de tipo view en un apunte contable. A primera vista, esta funcionalidad parece útil, pero la experiencia demuestra que el mecanismo actual de restricciones presenta graves problemas de usabilidad.
El motivo es bastante sencillo. Si consideramos el ejemplo de account.move.line, puede ocurrir que el usuario rellene un extracto bancario muy extenso y, cuando termine, intente confirmarlo. Es en ese momento cuando se crean los asientos contables y, si solo uno de ellos utiliza una cuenta de tipo view, el usuario recibirá siempre el mismo mensaje: «No se puede crear un apunte contable en una cuenta de tipo vista». Perfecto. Pero ¿cuál de las 100 líneas del extracto es la incorrecta?
Algo parecido sucede cuando los desarrolladores no tienen en cuenta este problema al generar excepciones. Por ejemplo, si una de las 100 líneas del extracto bancario ya está conciliada, el usuario recibirá el informativo mensaje: Ya conciliado.
Estos aspectos son muy importantes en entornos de producción y hemos tenido que realizar varios cambios para mejorar las excepciones, especialmente en los módulos de contabilidad. Un mensaje sencillo como «El apunte contable %s, con un débito de %.2f y un crédito de %.2f, ya ha sido conciliado» resuelve el problema y puede evitar muchos quebraderos de cabeza a los usuarios de OpenERP.
Hay que tener en cuenta que, si el registro acaba de crearse, es posible que el usuario no pueda localizar el registro problemático, porque la reversión de la transacción puede eliminarlo. Por este motivo, siempre es recomendable proporcionar tanta información como sea posible.
Por otro lado, como los mensajes estándar de las restricciones no permiten incluir toda la información necesaria, lo mejor es utilizar el mecanismo de restricciones pero generar una excepción informativa desde la función de restricción, en lugar de dejar que OpenERP muestre al usuario el mensaje estándar.
Preguntas frecuentes
¿Qué diferencia hay entre una restricción y una excepción en programación?
El artículo presenta las restricciones y las excepciones como mecanismos distintos para controlar situaciones no válidas o inesperadas dentro de un programa.
¿Cuándo es útil aplicar una restricción?
Es útil cuando hay que impedir que se guarden datos que no cumplen una condición definida, de modo que la validación forme parte del funcionamiento normal de la aplicación.
¿Para qué sirven las excepciones?
Sirven para gestionar situaciones que interrumpen el flujo normal del programa y permiten que la aplicación las trate de forma controlada.
Artículos relacionados
Open Source y Tendencias
La guía definitiva para elegir software de gestión empresarial - CAPÍTULO 7
El responsable de tecnología debe participar desde el principio en la selección de un ERP porque puede valorar la solidez, el rendimiento y la tecnología real de cada opción. Su experiencia también ayuda a estimar las adaptaciones, la integración con las herramientas existentes y el esfuerzo de implantación y mantenimiento.
ERP y Negocio
La guia definitiva para elegir tu software de gestión empresarial - CAPÍTULO 8
Elegir un ERP no consiste solo en comparar el precio del programa: también hay que valorar la implantación, las migraciones, la formación, el mantenimiento, las actualizaciones y otros costes asociados. El director financiero debe participar porque el ERP afecta tanto a la inversión como al control, la planificación y la capacidad de análisis de la empresa. Una implantación por fases o un modelo SaaS pueden reducir el impacto económico, aunque cada opción implica un equilibrio distinto entre flexibilidad y coste.
Open Source y Tendencias
La Guía Definitiva para Elegir un Software de Gestión Empresarial - CAPÍTULO 4
Incluir software libre y de código abierto en la búsqueda de un ERP amplía las opciones más allá de los fabricantes y productos basados en licencias propietarias. Mediante una metáfora culinaria, el artículo explica cómo el acceso al código fuente aporta transparencia, posibilidad de copia y adaptación, y advierte que estas alternativas no siempre aparecen en las primeras búsquedas.