En los últimos meses, hemos trabajado intensamente en un proyecto que nos llena de orgullo por el producto desarrollado. Utilizando Drupal 7, creamos un sistema robusto para importar reportes financieros, visualizarlos y descargarlos en Excel con múltiples formatos y macros. A continuación, compartimos un resumen de las funcionalidades principales.
Planeación y Escalabilidad
Realizamos una extensa planificación para diseñar una estructura de contenido que permitiera el crecimiento sostenido del proyecto. Esto aseguró que el sistema sea adaptable a nuevas necesidades a lo largo del tiempo.
Importación de Datos
Implementamos un formulario personalizado para importar datos financieros a partir de archivos XML que contienen múltiples registros. Las principales características de esta funcionalidad son:
Creación de nodos: Por cada registro en el XML, el sistema genera un nodo basado en la estructura previamente definida mediante un esquema XSD.
Validación en tres etapas: Antes de que los reportes sean importados como nodos, pasan por un riguroso proceso de validación:
Primera etapa: Verificación de la conformidad con el esquema XSD del reporte.
Segunda etapa: Validación de códigos. Por ejemplo, los códigos de países en el reporte se comparan con términos en taxonomías predefinidas, como la taxonomía de países.
Tercera etapa: Validación lógica, en la que se suman y restan montos según una jerarquía de términos padre-hijo definida en una taxonomía.
Registro de eventos: Los mensajes de error y éxito generados durante el proceso se almacenan en watchdog, creando una bitácora de validaciones para consultas futuras.
Versionado de reportes: Los reportes importados se versionan automáticamente, lo que permite mantener un historial y revertir cambios si es necesario. Para implementar esta funcionalidad, utilizamos field collections, lo que facilitó detectar registros nuevos o eliminados al comparar versiones.
Visualización de Reportes
Cada reporte financiero tiene un formato de presentación único, diseñado mediante la personalización de templates (tpl’s) y el procesamiento previo de datos. Esto nos permitió interactuar con la información mediante fórmulas y reorganizarla según las necesidades específicas de cada reporte.
Descarga de Reportes
Generación de reportes en Excel: Desarrollamos un formulario dinámico que, basado en las opciones seleccionadas, llama a distintas views definidas en código. Decidimos utilizar views debido a su fácil administración y escalabilidad a futuro.
Uso de PHPExcel: Para descargar los reportes en formato Excel, empleamos la librería PHPExcel, que facilita la interacción con los datos y su inyección en hojas de cálculo. También configuramos macros para procesar información en ciertas hojas y generar formatos específicos. Aunque encontramos algunos problemas iniciales con las macros, los resolvimos exitosamente.
Funcionalidades Adicionales
Además de las funcionalidades descritas, el proyecto incluye:
Delegación de roles: Implementamos jerarquías entre usuarios para gestionar permisos.
Eliminación masiva de datos: Agregamos herramientas para limpiar grandes volúmenes de datos cuando sea necesario.
Consola de administración: Desarrollamos una interfaz centralizada para facilitar la gestión del sistema.
Este desarrollo ejemplifica cómo Drupal 7 puede adaptarse para proyectos complejos, combinando flexibilidad y potencia. Aunque hubo desafíos técnicos, logramos superarlos, consolidando una solución funcional y escalable para la gestión de reportes financieros.
¡Saludos!
Te recomendamos este video
Related Blogs
Costos de desarrollar un portal web
December 12, 2024
Tags: IT Staff ES 2024
Contar con un portal web funcional y atractivo es esencial para cualquier empresa que busque destacar y conectar con su audiencia.