Motor de Reportes Financieros 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. Parámetros Al ejecutar el proceso FinReport en Lirion o iDempiere, se presentan los siguientes parámetros de configuración: Parámetro Nombre en BD Descripción / Uso Período C_Period_ID Período contable base sobre el cual generar el reporte. Si está vacío, calcula el período basado en la fecha del sistema. Jerarquía de Organización PA_Hierarchy_ID Estructura de árbol organizativo para consolidar múltiples sucursales u organizaciones. Organización Org_ID Filtro opcional para limitar el reporte a una organización específica (y opcionalmente a sus hijas dentro de la jerarquía). Socio de Negocio C_BPartner_ID Filtro opcional para segmentar los saldos por un tercero específico. Producto M_Product_ID Filtro opcional para segmentar por un producto. Cubo de Reportes PA_ReportCube_ID Cubo de datos opcional para acelerar la extracción de saldos pre-agrupados en lugar de la tabla de hechos Fact_Acct. Detalle de Origen Primero DetailsSourceFirst Determina si las líneas detalladas de origen contable se muestran antes de las líneas de totales correspondientes.