ManPageW FinancialReport es
¡Disfrútalo y ayuda a completarlo! Pero por favor, siempre respetando los derechos de autor.
Por favor, escriba sus contribuciones bajo la Sección Contribuciones
Contents
Ventana: Informe Financiero
Descripción : Mantener Informes financieros
Ayuda : Los Informes financieros son una combinación de un conjunto de columnas y filas de un Informe.
Pestaña: Informe Financiero
Descripción :
Ayuda :
Nombre Tabla: PA_Report
Campos
Nombre | Descripción | Ayuda | Datos Técnicos |
---|---|---|---|
Compañía | Cliente para esta instalación | Compañía ó entidad legal | AD_Client_ID
NUMBER(10) TableDir |
Organización | Entidad organizacional dentro de la compañía | Una organización es una unidad de la compañía ó entidad legal - Ej. Tiendas y departamentos. | AD_Org_ID
NUMBER(10) TableDir |
Esquema Contable | Reglas para contabilizar | Un esquema contable define las reglas contables usadas tales como método de costeo; moneda y calendario | C_AcctSchema_ID
NUMBER(10) TableDir |
Calendario | Nombre del Calendario Contable | El calendario únicamente identifica un calendario contable. Múltiples calendarios pueden ser usados. Ej. Ud. puede necesitar un calendario estándar que corre del 1 de enero al 31 de diciembre y un calendario fiscal que corre del 1 de julio al 30 de junio. | C_Calendar_ID
NUMBER(10) TableDir |
Nombre | Identificador alfanumérico de la entidad. | El nombre de una entidad (registro) se usa como una opción de búsqueda predeterminada adicional a la clave de búsqueda. El nombre es de hasta 60 caracteres de longitud. | Name
NVARCHAR2(60) String |
Descripción | Descripción corta opcional del registro | Una descripción esta limitada a 255 caracteres | Description
NVARCHAR2(255) String |
Activo | El registro está activo en el sistema | Hay dos métodos para que los registros no estén disponibles en el sistema: Uno es eliminar el registro; el otro es desactivarlo. Un registro desactivado no está disponible para selección; pero está disponible para Informes | IsActive
CHAR(1) YesNo |
Establecer Línea de Informe | Colección de líneas para Informe | El conjunto de líneas del Informe identifica las columnas usadas en un Informe. | PA_ReportLineSet_ID
NUMBER(10) TableDir |
Grupo de Columnas del Informe | Colección de columnas para Informe | El conjunto de columnas del Informe identifica las columnas usadas en un Informe. | PA_ReportColumnSet_ID
NUMBER(10) TableDir |
Report Cube | The Report Cube used by the printengine if any process defined | Used to pre-summaryze the fact accounts by any available dimension. Since Adempiere 3.5.5 or greater. | PA_ReportCube_ID
NUMBER(10) TableDir |
Jasper Process | The Jasper Process used by the printengine if any process defined | Used to print a rich financial report report. | JasperProcess_ID
NUMBER(10)
|
Lista de Fuentes | Informe de la lista de lineas de entrada | Lista también las fuentes de la línea del informe | ListSources
CHAR(1) YesNo |
Lista de Transacciones | Lista de informes de transacciones | Enumera la transacción de las líneas fuente del informe | ListTrx
CHAR(1) YesNo |
Crear Informe | Crea Informe Financiero | El periodo por defaul es el periodo actual. Usted puede incorporar opcionalmente otras restricciones. | Processing
CHAR(1) Button |
Formato de Impresión | Formato de Impresión de datos | El formato de impresión determina como se despliegan los datos para la impresión | AD_PrintFormat_ID
NUMBER(10) TableDir |
Create Report (Jasper) | Create Financial Report (Jasper) | The default period is the current period. You can optionally enter other restrictions. You can select an alternative Reporting Hierarchy. | JasperProcessing
CHAR(1) Button |
Contribuciones
Descripción Funcional
Para ser diligenciado, favor completar........... (En progreso - AF 21/09/2006)
Esta opción permite básicamente generar informes de control contable y financiero, tales como Balance y Estado de Resultados. La creación de estos informes se realiza mediante la definición y combinación de dos entidades:
Es posible definir reportes personalizados, mediante la definición de las dos entidades mencionadas. Usted puede definir diversos conjuntos de Columnas y de Lineas del Informe y luego combinarlas simulando una matriz, para obtener el informe financiero deseado por los tipos de aplicación disponibles. e.g. Actual, Gravamen, Presupuesto o Estadistica.
Los informes se pueden generar por cualquiera de las dimensiones definidas para la organización. e.g. Cuenta Contable, Producto, Campaña, Tercero, Proyecto, Localización/Dirección, Región de Ventas o Tipo de Gasto.
Definir un Nuevo Informe Financiero
Una vez abierta la ventana Reporte Financiero, presione el botón Nuevo Registro. Deberá a continuación seleccionar los siguientes datos:
- Esquema Contable
- Calendario
- Línea del Informa
- Columna del Informe
También deberá ingresar un Nombre para el informe - que será el título de su reporte - y una Descripción (opcional) si lo desea. Mediante la opción Lista de Fuentes puede escoger si desea ver la información detallada o acumulada. En caso de haber seleccionado esta última opción, podrá adicionalmente escoger de ver la Lista de Transacciones, mediante la cual se mostrarán en el informe todas las transacciones que se utilizaron para generar el reporte. Tenga en cuenta que esta opción podría causar que su informe tenga una gran cantidad de páginas; se recomienda utilizarlo para detectar posibles anomalías. Finalmente presione el botón Guardar, con lo cual su nuevo Informe quedará guardado para utilizarlo en el futuro.
Generar un Informe Financiero
Una vez seleccionado el Informe que desea generar - usted puede tener varios informes diferentes guardados - simplemente presione el botón Crear Reporte.
Descripción Técnica
Basado en las siguientes tablas
- PA_Report
- PA_ReportColumnSet
- PA_ReportColumn
- PA_ReportLineSet
- PA_ReportLine
- PA_ReportSource
- PA_ReportLine
- PA_ReportColumnSet
- C_AcctSchema
- C_Calendar
El generador de reportes se basa en la tabla T_REPORT e invoca el proceso org.compiere.report.FinReport
T_REPORT tiene 21 columnas (0 a 20)
org.compiere.report.FinReport
prepare
Fija los parámetros
Fija la cláusula where basada en los parámetros y la jerarquía asociada.
Crea una lista de períodos contables de las tablas C_Period y C_Year con los campos C_Period_ID, Name, StartDate (primero del mes), EndDate (último del mes), YearStartDate (primero del año)
Query:
SELECT p.c_period_id, p.NAME, p.startdate, p.enddate, MIN (p1.startdate) FROM c_period p INNER JOIN c_year y ON (p.c_year_id = y.c_year_id), c_period p1 WHERE y.c_calendar_id = ? AND p.periodtype = 'S' AND p1.c_year_id = y.c_year_id AND p1.periodtype = 'S' GROUP BY p.c_period_id, p.NAME, p.startdate, p.enddate ORDER BY p.startdate
Si el campo período se deja en blanco se toma el período correspondiente a TODAY
doIt
Inserta en T_Report los registros para la instancia del proceso AD_PInstance_ID, según el ReportLineSet definido
Query:
INSERT INTO t_report (ad_pinstance_id, pa_reportline_id, record_id, fact_acct_id, seqno, levelno, NAME, description) SELECT ?, pa_reportline_id, 0, 0, seqno, 0, NAME, description FROM pa_reportline WHERE isactive = 'Y' AND pa_reportlineset_id = ?
Si se seleccionó "Update Balance" se ejecuta el proceso FinBalance.updateBalance, el cual actualiza los Fact_Acct_Balance existentes a partir de Fact_Acct, y luego inserta en Fact_Acct_Balance los no existentes en Fact_Acct.
Para cada línea del reporte tipo SegmentValue(S)
Para cada columna que no sea calculada obtiene el select según el AmountType de la línea, o de la columna si la línea no tiene
La primera letra de Amount Type determina el query así:
- B
- Balance - acctBalance(Account_ID,AmtAcctDr,AmtAcctCr)
- C
- Credit - AmtAcctCr
- D
- Debit - AmtAcctDr
- Q
- Qty - Qty
Determina el período a trabajar, si es relativo resta/suma el valor relativo al período actual del reporte.
La segunda letra de Amount Type determina el período así:
- P
- Period - BETWEEN StartDate AND EndDate
- Y
- Year - BETWEEN YearStartDate AND EndDate
- T
- Total - <= EndDate
Ejemplo de query final:
SELECT SUM (acctbalance (account_id, amtacctdr, amtacctcr)) FROM fact_acct_balance WHERE dateacct BETWEEN DATE '2004-01-01' AND DATE '2004-05-31'
Además a este query le agrega condiciones según la jerarquía o al PostingType.
La función acctBalance hace lo siguiente: retorna DB-CR, o retorna CR-DB si la cuenta es de naturaleza crédito.
Si el signo de la cuenta es N (Natural), entonces es crédito cuando el tipo NO es A o E.
Con el valor encontrado actualiza la columns COL_X de la tabla T_Report.
Si el reporte lista las fuentes entonces se procede a insertar los detalles en T_Report.
Estas son líneas en T_Report con Level = 1 (o -1 si se deben reportar antes)
Las transacciones son Level = 2 (o -2 si se deben reportar antes)
Luego ejecuta los cálculos sobre las columnas calculadas.