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:

  1. 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.
  2. 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).
  3. 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.
  4. Cálculos Dinámicos: Procesa fórmulas matemáticas definidas para columnas, porcentajes de líneas y cálculos acumulativos.
  5. 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.

Revision #1
Created 2026-05-19 21:17:39 UTC by Angel Lara
Updated 2026-05-19 21:17:39 UTC by Angel Lara