ManPageW FinancialReport es

From ADempiere ERP Wiki
Jump to navigationJump to search

Volver al Indice

¡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



Ventana: Informe Financiero[edit]

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[edit]

Descripción :

Ayuda :

Nombre Tabla: PA_Report

ManPageW FinancialReport FinancialReport es.png

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)


Table

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[edit]

Descripción Funcional[edit]

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[edit]

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[edit]

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[edit]

Basado en las siguientes tablas

  • PA_Report
    • PA_ReportColumnSet
      • PA_ReportColumn
    • PA_ReportLineSet
      • PA_ReportLine
        • PA_ReportSource
  • 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[edit]

prepare[edit]

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[edit]

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.

Volver al Indice Principal