Descripción General El proceso FinReport es el motor principal para la generación de reportes financieros personalizados en iDempiere/Lirion (como el Balance General, Estado de Resultados, etc.). Este proceso lee definiciones dinámicas de filas y columnas, consolida los montos contables desde el diario real y genera la salida lista para impresión o exportación. Funcionamiento del Motor: A diferencia de los informes contables rígidos, FinReport permite definir estructuras complejas en las ventanas de Configuración de Reportes (PA_Report), aplicando cálculos matemáticos entre columnas, porcentajes de participación y expansiones jerárquicas dinámicas. Flujo de Ejecución Técnico El proceso sigue los siguientes pasos durante su ejecución en el servidor: Inicialización: Carga la definición del reporte ( PA_Report ) utilizando el ID del registro seleccionado y calcula los periodos contables basados en el calendario y offsets definidos. Limpieza y Preparación: Inserta filas vacías temporales en la tabla de base de datos T_Report correspondientes a la estructura de líneas configurada ( PA_ReportLine ). Consolidación Contable: Consulta los registros de transacciones contables acumulando saldos de débito y crédito. Si se especifica un Cubo de Reportes ( PA_ReportCube ), consulta Fact_Acct_Summary ; de lo contrario, lee directamente de Fact_Acct . Cálculos Dinámicos: Procesa fórmulas matemáticas definidas para columnas, porcentajes de líneas y cálculos acumulativos. Formateo y Renderizado: Crea o actualiza dinámicamente un formato de impresión ( MPrintFormat ) personalizado con los anchos y estilos adecuados para las columnas calculadas, y limpia de la tabla T_Report las líneas marcadas como no imprimibles.