Browse Source

[MERGE] Raw Backporting From V7

6.0
Humberto Arocha 10 years ago
parent
commit
4f81ffa98c
  1. 46
      account_financial_report/__openerp__.py
  2. 55
      account_financial_report/i18n/es.po
  3. 687
      account_financial_report/i18n/es_MX.po
  4. 687
      account_financial_report/i18n/es_VE.po
  5. 6
      account_financial_report/model/__init__.py
  6. 174
      account_financial_report/model/account_financial_report.py
  7. 23
      account_financial_report/model/res_company.py
  8. 2
      account_financial_report/report/__init__.py
  9. 13
      account_financial_report/report/balance_full.rml
  10. 43
      account_financial_report/report/balance_full_13_cols.rml
  11. 10
      account_financial_report/report/balance_full_2_cols.rml
  12. 14
      account_financial_report/report/balance_full_4_cols.rml
  13. 16
      account_financial_report/report/balance_full_4_cols_analytic_ledger.rml
  14. 397
      account_financial_report/report/balance_full_4_cols_journal_ledger.rml
  15. 273
      account_financial_report/report/balance_full_4_cols_partner_balance.rml
  16. 10
      account_financial_report/report/balance_full_5_cols.rml
  17. 20
      account_financial_report/report/balance_full_qtr_cols.rml
  18. 948
      account_financial_report/report/parser.py
  19. 11
      account_financial_report/security/security.xml
  20. 111
      account_financial_report/view/account_financial_report_view.xml
  21. 24
      account_financial_report/view/report.xml
  22. 100
      account_financial_report/view/wizard.xml
  23. 2
      account_financial_report/wizard/__init__.py
  24. 234
      account_financial_report/wizard/wizard.py

46
account_financial_report/__openerp__.py

@ -1,9 +1,8 @@
# -*- encoding: utf-8 -*-
###########################################################################
# Module Writen to OpenERP, Open Source Management Solution
# Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>).
# All Rights Reserved
###############Credits######################################################
# Credits######################################################
# Coded by: Humberto Arocha humberto@openerp.com.ve
# Angelica Barrios angelicaisabelb@gmail.com
# Jordi Esteve <jesteve@zikzakmedia.com>
@ -25,28 +24,39 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##############################################################################
{
"name" : "Common financial reports",
"version" : "2.0",
"author" : "Vauxoo",
"website" : "http://www.vauxoo.com",
"depends" : ["base","account"],
"category" : "Localisation/Accounting",
"name": "Common financial reports",
"version": "2.0",
"author": "Vauxoo",
"website": "http://www.vauxoo.com",
"depends": ["base",
"account"
],
"category": "Accounting",
"description": """
This modules is a multiporpuse report generator.
Multiporpuse Accounting report generator.
=========================================
From the wizard you will be asked to provide information needed to create your report.
From the wizard you will be asked to provide information needed to create your
report.
Not only you can set the option within the wizard you can create your own Customized Account Financial Reports, in here, you will be able to create Templates for generating Two types of Reports: Balance Sheets and Income Statements, incluiding Analytic Ledgers. Besides, you can select within a set of choices to get better detailed report, be it that you ask it by one or several periods, by months (12 Months + YTD), or by quarters (4QRT's + YTD). Even you can get your reports in currencies other than the one set on your company.
Not only you can set the option within the wizard you can create your own
Customized Account Financial Reports, in here, you will be able to create
Templates for generating Two types of Reports: Balance Sheets and Income
Statements, incluiding Analytic Ledgers. Besides, you can select within a set
of choices to get better detailed report, be it that you ask it by one or
several periods, by months (12 Months + YTD), or by quarters (4QRT's + YTD).
Even you can get your reports in currencies other than the one set on your
company.
In the [ Account's Sign on Reports ] Section in the Company will be able to set the sign conventions for the Accounts, so that you will be able to see in positives Values in your reports for those accounts with Accreditable nature where appropriate""",
"init_xml" : [],
"demo_xml" : [],
"update_xml" : [
In the [ Account's Sign on Reports ] Section in the Company will be able to
set the sign conventions for the Accounts, so that you will be able to see in
positives Values in your reports for those accounts with Accreditable nature
where appropriate""",
"data": [
"security/security.xml",
"security/ir.model.access.csv"
"view/report.xml",
"security/ir.model.access.csv",
"view/report.xml",
"view/wizard.xml",
"view/account_view.xml",
"view/company_view.xml",
"view/account_financial_report_view.xml",
],

55
account_financial_report/i18n/es.po

@ -4,15 +4,15 @@
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 6.1\n"
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-08-11 17:38+0000\n"
"PO-Revision-Date: 2012-08-11 13:11-0400\n"
"Last-Translator: Humberto Arocha <hbto@vauxoo.com>\n"
"POT-Creation-Date: 2013-06-17 21:47+0000\n"
"PO-Revision-Date: 2013-06-17 21:47+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: account_financial_report
@ -64,7 +64,7 @@ msgid "Company"
msgstr "Compañía"
#. module: account_financial_report
#: code:addons/account_financial_report/wizard/wizard.py:146
#: code:addons/account_financial_report/wizard/wizard.py:150
#, python-format
msgid "Write a Description for your Summary Total"
msgstr "Escriba una Descripción para el total del Sumario"
@ -126,7 +126,7 @@ msgid "By Date"
msgstr "Por Fecha"
#. module: account_financial_report
#: code:addons/account_financial_report/wizard/wizard.py:238
#: code:addons/account_financial_report/wizard/wizard.py:242
#, python-format
msgid "La interseccion entre el periodo y fecha es vacio"
msgstr "La interseccion entre el periodo y fecha es vacio"
@ -138,9 +138,9 @@ msgid "Company Info"
msgstr "Información de la Compañía"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:345
#: code:addons/account_financial_report/wizard/wizard.py:185
#: code:addons/account_financial_report/report/parser.py:344
#: code:addons/account_financial_report/wizard/wizard.py:189
#: code:addons/account_financial_report/wizard/wizard.py:193
#, python-format
msgid "UserError"
msgstr "UserError"
@ -201,10 +201,9 @@ msgid "A debitable account is one which grows in the debit and diminishes in the
msgstr "Una cuenta debitable es una que crece por el débito y disminuye por el crédito."
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "4 QTR's | YTD"
msgstr "4 TRM's | YTD"
#: report:afr.5cols:0
msgid "(Expressed in"
msgstr "(Expresado en"
#. module: account_financial_report
#: report:afr.4cols:0
@ -212,11 +211,6 @@ msgstr "4 TRM's | YTD"
msgid "INITIAL"
msgstr "INICIAL"
#. module: account_financial_report
#: constraint:res.company:0
msgid "Error! You can not create recursive companies."
msgstr "¡Error! No se pueden crear compañías recursivas."
#. module: account_financial_report
#: field:wizard.report,afr_id:0
msgid "Custom Report"
@ -309,7 +303,7 @@ msgid "Creditable Accounts"
msgstr "Cuentas Acreditables"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:345
#: code:addons/account_financial_report/report/parser.py:344
#, python-format
msgid "The Selected Fiscal Year Does not have Regular Periods"
msgstr "El Ejercicio Fiscal Seleccionado no tiene Períodos Regulares"
@ -403,6 +397,12 @@ msgstr "REFERENCIA"
msgid "By Period"
msgstr "Por Período"
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "4 QTR's | YTD"
msgstr "4 TRM's | YTD"
#. module: account_financial_report
#: model:ir.actions.act_window,name:account_financial_report.action_wizard_report
#: model:ir.ui.menu,name:account_financial_report.menu_wizard_report
@ -599,11 +599,6 @@ msgstr "Cuentas Acreditables"
msgid "afr"
msgstr "afr"
#. module: account_financial_report
#: sql_constraint:res.company:0
msgid "The company name must be unique !"
msgstr "¡El nombre de la compañía debe ser único!"
#. module: account_financial_report
#: field:afr,name:0
msgid "Name"
@ -631,8 +626,8 @@ msgid "All periods in the fiscal year if empty"
msgstr "Todos los períodos en el ejercicio fiscal si se deja vacío"
#. module: account_financial_report
#: code:addons/account_financial_report/wizard/wizard.py:175
#: code:addons/account_financial_report/wizard/wizard.py:238
#: code:addons/account_financial_report/wizard/wizard.py:179
#: code:addons/account_financial_report/wizard/wizard.py:242
#, python-format
msgid "Error !"
msgstr "Error !"
@ -690,3 +685,11 @@ msgstr "12 Meses | YTD"
msgid "Total"
msgstr "Total"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:82
#, python-format
msgid "\n"
"VAT OF COMPANY NOT AVAILABLE"
msgstr "\n"
"VAT DE LA COMPAÑIA NO DISPONIBLE"

687
account_financial_report/i18n/es_MX.po

@ -0,0 +1,687 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * account_financial_report
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-06-17 21:47+0000\n"
"PO-Revision-Date: 2013-06-17 21:47+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: account_financial_report
#: view:res.company:0
msgid "Reverse sign on Reports for these accounts and children accounts that are within Debitable Accounts"
msgstr "Invierte el signo en los reportes para estas cuentas y las cuentas hijas que están dentro de las Cuentas Debitables"
#. module: account_financial_report
#: selection:afr,filter:0
#: selection:wizard.report,filter:0
msgid "No Filter"
msgstr "Sin Filtro"
#. module: account_financial_report
#: selection:afr,display_account:0
#: selection:wizard.report,display_account:0
msgid "With Balance / Movements"
msgstr "Con Saldo / Movimientos"
#. module: account_financial_report
#: model:ir.actions.report.xml,name:account_financial_report.4_col_report
msgid "Balance 4 Columnas"
msgstr "Balance 4 Columnas"
#. module: account_financial_report
#: view:res.company:0
msgid "An accreditable account is one which grows in the credit and diminishes in the debit"
msgstr "Una cuenta acreditable es una que crece por el crédito y disminuye por el débito."
#. module: account_financial_report
#: report:afr.1cols:0
#: report:afr.4cols:0
#: report:afr.analytic.ledger:0
msgid "BALANCE"
msgstr "BALANCE"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:85
#: selection:afr,inf_type:0
#: selection:wizard.report,inf_type:0
#, python-format
msgid "Balance Sheet"
msgstr "Balance General"
#. module: account_financial_report
#: field:afr,company_id:0
#: field:wizard.report,company_id:0
msgid "Company"
msgstr "Compañía"
#. module: account_financial_report
#: code:addons/account_financial_report/wizard/wizard.py:150
#, python-format
msgid "Write a Description for your Summary Total"
msgstr "Escriba una Descripción para el total del Sumario"
#. module: account_financial_report
#: model:ir.actions.report.xml,name:account_financial_report.5_col_report
msgid "Balance 5 Columnas"
msgstr "Balance 5 Columnas"
#. module: account_financial_report
#: model:ir.actions.report.xml,name:account_financial_report.qtr_col_report
msgid "Balance QTRs Columnas"
msgstr "Balance QTRs Columnas"
#. module: account_financial_report
#: report:afr.5cols:0
msgid "INIT. BAL."
msgstr "BAL. INIC."
#. module: account_financial_report
#: selection:afr,filter:0
#: selection:wizard.report,filter:0
msgid "By Date and Period"
msgstr "Por fecha y período"
#. module: account_financial_report
#: code:addons/account_financial_report/model/account_financial_report.py:77
#, python-format
msgid "Copy of %s"
msgstr "Copia de %s"
#. module: account_financial_report
#: field:afr,account_ids:0
#: field:wizard.report,account_list:0
msgid "Root accounts"
msgstr "Cuentas raíces"
#. module: account_financial_report
#: report:afr.5cols:0
#: report:afr.analytic.ledger:0
msgid "PERIOD"
msgstr "PERIODO"
#. module: account_financial_report
#: selection:afr,display_account:0
#: selection:wizard.report,display_account:0
msgid "With Balance"
msgstr "Con Balance"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "12"
msgstr "12"
#. module: account_financial_report
#: selection:afr,filter:0
#: selection:wizard.report,filter:0
msgid "By Date"
msgstr "Por Fecha"
#. module: account_financial_report
#: code:addons/account_financial_report/wizard/wizard.py:242
#, python-format
msgid "La interseccion entre el periodo y fecha es vacio"
msgstr "La interseccion entre el periodo y fecha es vacio"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Company Info"
msgstr "Información de la Compañía"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:344
#: code:addons/account_financial_report/wizard/wizard.py:189
#: code:addons/account_financial_report/wizard/wizard.py:193
#, python-format
msgid "UserError"
msgstr "UserError"
#. module: account_financial_report
#: report:afr.analytic.ledger:0
msgid "JOURNAL ENTRY"
msgstr "ASIENTO DIARIO"
#. module: account_financial_report
#: report:afr.2cols:0
#: report:afr.4cols:0
#: report:afr.5cols:0
#: report:afr.analytic.ledger:0
msgid "CREDIT"
msgstr "CREDITO"
#. module: account_financial_report
#: view:wizard.report:0
msgid "_Cancel"
msgstr "_Cancelar"
#. module: account_financial_report
#: view:res.company:0
msgid "Account's Sign on Reports"
msgstr "Signo de las Cuentas en Reportes"
#. module: account_financial_report
#: model:ir.actions.report.xml,name:account_financial_report.2_col_report
msgid "Balance 2 Columnas"
msgstr "Balance 2 Columnas"
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "Debit | Credit"
msgstr "Débito | Crédito"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Please check the [ Account's Sign on Reports ] Section in the Company"
msgstr "Por Favor, Verifique la Sección [ Signo de las Cuentas en Reportes ] en la Compañía"
#. module: account_financial_report
#: report:afr.13cols:0
#: report:afr.1cols:0
#: report:afr.2cols:0
#: report:afr.4cols:0
#: report:afr.analytic.ledger:0
#: report:afr.qtrcols:0
msgid "CODE"
msgstr "CÓDIGO"
#. module: account_financial_report
#: view:res.company:0
msgid "A debitable account is one which grows in the debit and diminishes in the credit"
msgstr "Una cuenta debitable es una que crece por el débito y disminuye por el crédito."
#. module: account_financial_report
#: report:afr.5cols:0
msgid "(Expressed in"
msgstr "(Expresado en"
#. module: account_financial_report
#: report:afr.4cols:0
#: report:afr.analytic.ledger:0
msgid "INITIAL"
msgstr "INICIAL"
#. module: account_financial_report
#: field:wizard.report,afr_id:0
msgid "Custom Report"
msgstr "Reporte Personalizado"
#. module: account_financial_report
#: field:afr,date_from:0
#: field:wizard.report,date_from:0
msgid "Start date"
msgstr "Fecha Inicial"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Accounts to Include"
msgstr "Cuentas a incluir"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:100
#: code:addons/account_financial_report/report/parser.py:109
#, python-format
msgid " to "
msgstr " hasta "
#. module: account_financial_report
#: report:afr.13cols:0
msgid "02"
msgstr "02"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "03"
msgstr "03"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "01"
msgstr "01"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "06"
msgstr "06"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "07"
msgstr "07"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "04"
msgstr "04"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "05"
msgstr "05"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "08"
msgstr "08"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "09"
msgstr "09"
#. module: account_financial_report
#: view:afr:0
#: model:ir.ui.menu,name:account_financial_report.account_financial_report_menu
msgid "Account Financial Report (Templates)"
msgstr "Reportes Financieros (Plantillas)"
#. module: account_financial_report
#: field:afr,fiscalyear_id:0
#: field:wizard.report,fiscalyear:0
msgid "Fiscal year"
msgstr "Ejercicio Fiscal"
#. module: account_financial_report
#: model:ir.actions.act_window,help:account_financial_report.account_financial_report_action
msgid "Create your own Customized Account Financial Reports, in here, you will be able to create Templates for generating Two types of Reports: Balance Sheets and Income Statements, incluiding Analytic Ledgers. Besides, you can select within a set of choices to get better detailed report, be it that you ask it by one or several periods, by months (12 Months + YTD), or by quarters (4QRT's + YTD). Even you can get your reports in currencies other than the one set on your company."
msgstr "Cree sus propios Reportes Financieros Personalizados, aquí, Vd. podrá se capaz de Diseñar las Plantillas para la generación de Dos Tipos de Reportes: Balances Generales y Estados de Resultados, incluyendo Mayores Analíticos. Además, podrá seleccionar entre un conjunto de opciones para obtener un mejor reporte detallado, sea que lo pida para un período determinado, por meses (12 MESES + YTD) o por trimestres (4to's + YTD). Incluso puede obtener reportes en otras monedas distintas a la establecida en su compañia."
#. module: account_financial_report
#: field:res.company,credit_account_ids:0
msgid "Creditable Accounts"
msgstr "Cuentas Acreditables"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:344
#, python-format
msgid "The Selected Fiscal Year Does not have Regular Periods"
msgstr "El Ejercicio Fiscal Seleccionado no tiene Períodos Regulares"
#. module: account_financial_report
#: report:afr.13cols:0
#: report:afr.5cols:0
#: report:afr.qtrcols:0
msgid "YTD"
msgstr "YTD"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Periods to Include"
msgstr "Períodos a incluir"
#. module: account_financial_report
#: selection:afr,display_account:0
#: selection:wizard.report,display_account:0
msgid "With movements"
msgstr "Con Movimientos"
#. module: account_financial_report
#: field:afr,currency_id:0
#: field:wizard.report,currency_id:0
msgid "Currency"
msgstr "Moneda"
#. module: account_financial_report
#: field:afr,display_account:0
#: field:wizard.report,display_account:0
msgid "Display accounts"
msgstr "Mostrar cuentas"
#. module: account_financial_report
#: field:afr,display_account_level:0
#: field:wizard.report,display_account_level:0
msgid "Up to level"
msgstr "Hasta nivel"
#. module: account_financial_report
#: report:afr.analytic.ledger:0
msgid "PARTNER"
msgstr "PARTNER"
#. module: account_financial_report
#: help:afr,currency_id:0
#: help:wizard.report,currency_id:0
msgid "Currency at which this report will be expressed. If not selected will be used the one set in the company"
msgstr "Moneda con la cual este reporte será expresado. Si no se selecciona se usará la que está establecida en la compañía"
#. module: account_financial_report
#: report:afr.13cols:0
#: report:afr.1cols:0
#: report:afr.2cols:0
#: report:afr.4cols:0
#: report:afr.5cols:0
#: report:afr.analytic.ledger:0
#: report:afr.qtrcols:0
msgid "ACCOUNT"
msgstr "CUENTA"
#. module: account_financial_report
#: report:afr.analytic.ledger:0
msgid "Pag.:"
msgstr "Pág.:"
#. module: account_financial_report
#: report:afr.2cols:0
#: report:afr.4cols:0
#: report:afr.5cols:0
#: report:afr.analytic.ledger:0
msgid "DEBIT"
msgstr "DÉBITO"
#. module: account_financial_report
#: field:afr,columns:0
#: field:wizard.report,columns:0
msgid "Columns"
msgstr "Columnas"
#. module: account_financial_report
#: report:afr.analytic.ledger:0
msgid "REFERENCE"
msgstr "REFERENCIA"
#. module: account_financial_report
#: selection:afr,filter:0
#: selection:wizard.report,filter:0
msgid "By Period"
msgstr "Por Período"
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "4 QTR's | YTD"
msgstr "4 TRM's | YTD"
#. module: account_financial_report
#: model:ir.actions.act_window,name:account_financial_report.action_wizard_report
#: model:ir.ui.menu,name:account_financial_report.menu_wizard_report
msgid "Account Financial Report (Multireports)"
msgstr "Reportes Financieros (Multireportes)"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Accounts Info"
msgstr "Información de Cuentas"
#. module: account_financial_report
#: help:afr,display_account_level:0
#: help:wizard.report,display_account_level:0
msgid "Display accounts up to this level (0 to show all)"
msgstr "Se mostrarán las cuentas hasta este nivel (Seleccionar 0 las mostrará todas)"
#. module: account_financial_report
#: model:ir.model,name:account_financial_report.model_res_company
msgid "Companies"
msgstr "Compañías"
#. module: account_financial_report
#: help:afr,fiscalyear_id:0
#: help:wizard.report,fiscalyear:0
msgid "Fiscal Year for this report"
msgstr "Ejercicio Fiscal para este reporte"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:87
#: selection:afr,inf_type:0
#: selection:wizard.report,inf_type:0
#, python-format
msgid "Income Statement"
msgstr "Estado de Resultados"
#. module: account_financial_report
#: report:afr.13cols:0
#: report:afr.1cols:0
#: report:afr.2cols:0
#: report:afr.4cols:0
#: report:afr.5cols:0
#: report:afr.qtrcols:0
msgid "/ Pág.:"
msgstr "/ Pág.:"
#. module: account_financial_report
#: model:ir.actions.act_window,name:account_financial_report.account_financial_report_action
#: model:res.groups,name:account_financial_report.group_afreport
#: view:wizard.report:0
msgid "Account Financial Report"
msgstr "Reportes Financieros"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "11"
msgstr "11"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "10"
msgstr "10"
#. module: account_financial_report
#: report:afr.5cols:0
msgid "Code"
msgstr "Código"
#. module: account_financial_report
#: model:ir.actions.report.xml,name:account_financial_report.1_col_report
msgid "Balance 1 Columna"
msgstr "Balance 1 Columna"
#. module: account_financial_report
#: view:wizard.report:0
msgid "Print"
msgstr "Imprimir"
#. module: account_financial_report
#: field:afr,filter:0
#: field:wizard.report,filter:0
msgid "Date/Period Filter"
msgstr "Filtro Fecha/Período"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "FiscalYear Info"
msgstr "Información del Ejercicio Fiscal"
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "Initial | Debit | Credit | YTD"
msgstr "Inicial | Débito | Crédito | YTD"
#. module: account_financial_report
#: field:afr,period_ids:0
#: field:wizard.report,periods:0
msgid "Periods"
msgstr "Períodos"
#. module: account_financial_report
#: report:afr.qtrcols:0
msgid "Q1"
msgstr "Q1"
#. module: account_financial_report
#: report:afr.qtrcols:0
msgid "Q3"
msgstr "Q3"
#. module: account_financial_report
#: report:afr.qtrcols:0
msgid "Q2"
msgstr "Q2"
#. module: account_financial_report
#: report:afr.qtrcols:0
msgid "Q4"
msgstr "Q4"
#. module: account_financial_report
#: help:afr,analytic_ledger:0
#: help:wizard.report,analytic_ledger:0
msgid "Allows to Generate an Analytic Ledger for accounts with moves. Available when Balance Sheet and 'Initial | Debit | Credit | YTD' are selected"
msgstr "Permite generar un Mayor Analítico para las cuentas con movimientos. Disponible cuando se selecciona 'Balance General' e 'Inicial | Débito | Crédito | YTD'"
#. module: account_financial_report
#: help:wizard.report,afr_id:0
msgid "If you have already set a Custom Report, Select it Here."
msgstr "Si ya ha configurado un Reporte Personalizado, Selecciónelo Aquí."
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "Initial | Debit | Credit | Period | YTD"
msgstr "Inicial | Débito | Crédito | Período | YTD"
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "End. Balance"
msgstr "Bal. Final"
#. module: account_financial_report
#: report:afr.analytic.ledger:0
msgid "DATE"
msgstr "FECHA"
#. module: account_financial_report
#: view:res.company:0
msgid "Keep sign on Reports for these accounts and children accounts that are within Accreditable Accounts"
msgstr "Mantiene el signo en los reportes para estas cuentas y las cuentas hijas que están dentro de las Cuentas Acreditables"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:100
#: code:addons/account_financial_report/report/parser.py:109
#, python-format
msgid "From "
msgstr "Desde "
#. module: account_financial_report
#: field:afr,inf_type:0
#: field:wizard.report,inf_type:0
msgid "Type"
msgstr "Tipo"
#. module: account_financial_report
#: field:afr,date_to:0
#: field:wizard.report,date_to:0
msgid "End date"
msgstr "Fecha final"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Account's Sign Conventions"
msgstr "Convención de Signos de las Cuentas"
#. module: account_financial_report
#: model:ir.actions.report.xml,name:account_financial_report.13_col_report
msgid "Balance 13 Columnas"
msgstr "Balance 13 Columnas"
#. module: account_financial_report
#: view:res.company:0
msgid "Accreditable Accounts"
msgstr "Cuentas Acreditables"
#. module: account_financial_report
#: model:ir.model,name:account_financial_report.model_afr
msgid "afr"
msgstr "afr"
#. module: account_financial_report
#: field:afr,name:0
msgid "Name"
msgstr "Nombre"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:83
#: field:afr,analytic_ledger:0
#: model:ir.actions.report.xml,name:account_financial_report.analytic_ledger_report
#: field:wizard.report,analytic_ledger:0
#, python-format
msgid "Analytic Ledger"
msgstr "Mayor Analítico"
#. module: account_financial_report
#: view:res.company:0
#: field:res.company,debit_account_ids:0
msgid "Debitable Accounts"
msgstr "Cuentas Debitables"
#. module: account_financial_report
#: help:afr,period_ids:0
#: help:wizard.report,periods:0
msgid "All periods in the fiscal year if empty"
msgstr "Todos los períodos en el ejercicio fiscal si se deja vacío"
#. module: account_financial_report
#: code:addons/account_financial_report/wizard/wizard.py:179
#: code:addons/account_financial_report/wizard/wizard.py:242
#, python-format
msgid "Error !"
msgstr "Error !"
#. module: account_financial_report
#: model:ir.model,name:account_financial_report.model_wizard_report
msgid "wizard.report"
msgstr "wizard.report"
#. module: account_financial_report
#: field:afr,lab_str:0
#: field:wizard.report,lab_str:0
msgid "Description"
msgstr "Descripción"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Report Info"
msgstr "Información del Reporte"
#. module: account_financial_report
#: selection:afr,display_account:0
#: selection:wizard.report,display_account:0
msgid "All Accounts"
msgstr "Todas las Cuentas"
#. module: account_financial_report
#: field:afr,tot_check:0
#: field:wizard.report,tot_check:0
msgid "Summarize?"
msgstr "Totalizar?"
#. module: account_financial_report
#: help:afr,tot_check:0
#: help:wizard.report,tot_check:0
msgid "Checking will add a new line at the end of the Report which will Summarize Columns in Report"
msgstr "Seleccionarlo agregará una nueva línea al final del Reporte el cual Totalizará las Columnas en el Reporte"
#. module: account_financial_report
#: help:afr,lab_str:0
#: help:wizard.report,lab_str:0
msgid "Description for the Summary"
msgstr "Descripción para el Total"
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "12 Months | YTD"
msgstr "12 Meses | YTD"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Total"
msgstr "Total"

687
account_financial_report/i18n/es_VE.po

@ -0,0 +1,687 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * account_financial_report
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-06-17 21:47+0000\n"
"PO-Revision-Date: 2013-06-17 21:47+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: account_financial_report
#: view:res.company:0
msgid "Reverse sign on Reports for these accounts and children accounts that are within Debitable Accounts"
msgstr "Invierte el signo en los reportes para estas cuentas y las cuentas hijas que están dentro de las Cuentas Debitables"
#. module: account_financial_report
#: selection:afr,filter:0
#: selection:wizard.report,filter:0
msgid "No Filter"
msgstr "Sin Filtro"
#. module: account_financial_report
#: selection:afr,display_account:0
#: selection:wizard.report,display_account:0
msgid "With Balance / Movements"
msgstr "Con Saldo / Movimientos"
#. module: account_financial_report
#: model:ir.actions.report.xml,name:account_financial_report.4_col_report
msgid "Balance 4 Columnas"
msgstr "Balance 4 Columnas"
#. module: account_financial_report
#: view:res.company:0
msgid "An accreditable account is one which grows in the credit and diminishes in the debit"
msgstr "Una cuenta acreditable es una que crece por el crédito y disminuye por el débito."
#. module: account_financial_report
#: report:afr.1cols:0
#: report:afr.4cols:0
#: report:afr.analytic.ledger:0
msgid "BALANCE"
msgstr "BALANCE"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:85
#: selection:afr,inf_type:0
#: selection:wizard.report,inf_type:0
#, python-format
msgid "Balance Sheet"
msgstr "Balance General"
#. module: account_financial_report
#: field:afr,company_id:0
#: field:wizard.report,company_id:0
msgid "Company"
msgstr "Compañía"
#. module: account_financial_report
#: code:addons/account_financial_report/wizard/wizard.py:150
#, python-format
msgid "Write a Description for your Summary Total"
msgstr "Escriba una Descripción para el total del Sumario"
#. module: account_financial_report
#: model:ir.actions.report.xml,name:account_financial_report.5_col_report
msgid "Balance 5 Columnas"
msgstr "Balance 5 Columnas"
#. module: account_financial_report
#: model:ir.actions.report.xml,name:account_financial_report.qtr_col_report
msgid "Balance QTRs Columnas"
msgstr "Balance QTRs Columnas"
#. module: account_financial_report
#: report:afr.5cols:0
msgid "INIT. BAL."
msgstr "BAL. INIC."
#. module: account_financial_report
#: selection:afr,filter:0
#: selection:wizard.report,filter:0
msgid "By Date and Period"
msgstr "Por fecha y período"
#. module: account_financial_report
#: code:addons/account_financial_report/model/account_financial_report.py:77
#, python-format
msgid "Copy of %s"
msgstr "Copia de %s"
#. module: account_financial_report
#: field:afr,account_ids:0
#: field:wizard.report,account_list:0
msgid "Root accounts"
msgstr "Cuentas raíces"
#. module: account_financial_report
#: report:afr.5cols:0
#: report:afr.analytic.ledger:0
msgid "PERIOD"
msgstr "PERIODO"
#. module: account_financial_report
#: selection:afr,display_account:0
#: selection:wizard.report,display_account:0
msgid "With Balance"
msgstr "Con Balance"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "12"
msgstr "12"
#. module: account_financial_report
#: selection:afr,filter:0
#: selection:wizard.report,filter:0
msgid "By Date"
msgstr "Por Fecha"
#. module: account_financial_report
#: code:addons/account_financial_report/wizard/wizard.py:242
#, python-format
msgid "La interseccion entre el periodo y fecha es vacio"
msgstr "La interseccion entre el periodo y fecha es vacio"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Company Info"
msgstr "Información de la Compañía"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:344
#: code:addons/account_financial_report/wizard/wizard.py:189
#: code:addons/account_financial_report/wizard/wizard.py:193
#, python-format
msgid "UserError"
msgstr "UserError"
#. module: account_financial_report
#: report:afr.analytic.ledger:0
msgid "JOURNAL ENTRY"
msgstr "ASIENTO DIARIO"
#. module: account_financial_report
#: report:afr.2cols:0
#: report:afr.4cols:0
#: report:afr.5cols:0
#: report:afr.analytic.ledger:0
msgid "CREDIT"
msgstr "CREDITO"
#. module: account_financial_report
#: view:wizard.report:0
msgid "_Cancel"
msgstr "_Cancelar"
#. module: account_financial_report
#: view:res.company:0
msgid "Account's Sign on Reports"
msgstr "Signo de las Cuentas en Reportes"
#. module: account_financial_report
#: model:ir.actions.report.xml,name:account_financial_report.2_col_report
msgid "Balance 2 Columnas"
msgstr "Balance 2 Columnas"
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "Debit | Credit"
msgstr "Débito | Crédito"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Please check the [ Account's Sign on Reports ] Section in the Company"
msgstr "Por Favor, Verifique la Sección [ Signo de las Cuentas en Reportes ] en la Compañía"
#. module: account_financial_report
#: report:afr.13cols:0
#: report:afr.1cols:0
#: report:afr.2cols:0
#: report:afr.4cols:0
#: report:afr.analytic.ledger:0
#: report:afr.qtrcols:0
msgid "CODE"
msgstr "CÓDIGO"
#. module: account_financial_report
#: view:res.company:0
msgid "A debitable account is one which grows in the debit and diminishes in the credit"
msgstr "Una cuenta debitable es una que crece por el débito y disminuye por el crédito."
#. module: account_financial_report
#: report:afr.5cols:0
msgid "(Expressed in"
msgstr "(Expresado en"
#. module: account_financial_report
#: report:afr.4cols:0
#: report:afr.analytic.ledger:0
msgid "INITIAL"
msgstr "INICIAL"
#. module: account_financial_report
#: field:wizard.report,afr_id:0
msgid "Custom Report"
msgstr "Reporte Personalizado"
#. module: account_financial_report
#: field:afr,date_from:0
#: field:wizard.report,date_from:0
msgid "Start date"
msgstr "Fecha Inicial"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Accounts to Include"
msgstr "Cuentas a incluir"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:100
#: code:addons/account_financial_report/report/parser.py:109
#, python-format
msgid " to "
msgstr " hasta "
#. module: account_financial_report
#: report:afr.13cols:0
msgid "02"
msgstr "02"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "03"
msgstr "03"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "01"
msgstr "01"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "06"
msgstr "06"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "07"
msgstr "07"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "04"
msgstr "04"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "05"
msgstr "05"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "08"
msgstr "08"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "09"
msgstr "09"
#. module: account_financial_report
#: view:afr:0
#: model:ir.ui.menu,name:account_financial_report.account_financial_report_menu
msgid "Account Financial Report (Templates)"
msgstr "Reportes Financieros (Plantillas)"
#. module: account_financial_report
#: field:afr,fiscalyear_id:0
#: field:wizard.report,fiscalyear:0
msgid "Fiscal year"
msgstr "Ejercicio Fiscal"
#. module: account_financial_report
#: model:ir.actions.act_window,help:account_financial_report.account_financial_report_action
msgid "Create your own Customized Account Financial Reports, in here, you will be able to create Templates for generating Two types of Reports: Balance Sheets and Income Statements, incluiding Analytic Ledgers. Besides, you can select within a set of choices to get better detailed report, be it that you ask it by one or several periods, by months (12 Months + YTD), or by quarters (4QRT's + YTD). Even you can get your reports in currencies other than the one set on your company."
msgstr "Cree sus propios Reportes Financieros Personalizados, aquí, Vd. podrá se capaz de Diseñar las Plantillas para la generación de Dos Tipos de Reportes: Balances Generales y Estados de Resultados, incluyendo Mayores Analíticos. Además, podrá seleccionar entre un conjunto de opciones para obtener un mejor reporte detallado, sea que lo pida para un período determinado, por meses (12 MESES + YTD) o por trimestres (4to's + YTD). Incluso puede obtener reportes en otras monedas distintas a la establecida en su compañia."
#. module: account_financial_report
#: field:res.company,credit_account_ids:0
msgid "Creditable Accounts"
msgstr "Cuentas Acreditables"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:344
#, python-format
msgid "The Selected Fiscal Year Does not have Regular Periods"
msgstr "El Ejercicio Fiscal Seleccionado no tiene Períodos Regulares"
#. module: account_financial_report
#: report:afr.13cols:0
#: report:afr.5cols:0
#: report:afr.qtrcols:0
msgid "YTD"
msgstr "YTD"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Periods to Include"
msgstr "Períodos a incluir"
#. module: account_financial_report
#: selection:afr,display_account:0
#: selection:wizard.report,display_account:0
msgid "With movements"
msgstr "Con Movimientos"
#. module: account_financial_report
#: field:afr,currency_id:0
#: field:wizard.report,currency_id:0
msgid "Currency"
msgstr "Moneda"
#. module: account_financial_report
#: field:afr,display_account:0
#: field:wizard.report,display_account:0
msgid "Display accounts"
msgstr "Mostrar cuentas"
#. module: account_financial_report
#: field:afr,display_account_level:0
#: field:wizard.report,display_account_level:0
msgid "Up to level"
msgstr "Hasta nivel"
#. module: account_financial_report
#: report:afr.analytic.ledger:0
msgid "PARTNER"
msgstr "PARTNER"
#. module: account_financial_report
#: help:afr,currency_id:0
#: help:wizard.report,currency_id:0
msgid "Currency at which this report will be expressed. If not selected will be used the one set in the company"
msgstr "Moneda con la cual este reporte será expresado. Si no se selecciona se usará la que está establecida en la compañía"
#. module: account_financial_report
#: report:afr.13cols:0
#: report:afr.1cols:0
#: report:afr.2cols:0
#: report:afr.4cols:0
#: report:afr.5cols:0
#: report:afr.analytic.ledger:0
#: report:afr.qtrcols:0
msgid "ACCOUNT"
msgstr "CUENTA"
#. module: account_financial_report
#: report:afr.analytic.ledger:0
msgid "Pag.:"
msgstr "Pág.:"
#. module: account_financial_report
#: report:afr.2cols:0
#: report:afr.4cols:0
#: report:afr.5cols:0
#: report:afr.analytic.ledger:0
msgid "DEBIT"
msgstr "DÉBITO"
#. module: account_financial_report
#: field:afr,columns:0
#: field:wizard.report,columns:0
msgid "Columns"
msgstr "Columnas"
#. module: account_financial_report
#: report:afr.analytic.ledger:0
msgid "REFERENCE"
msgstr "REFERENCIA"
#. module: account_financial_report
#: selection:afr,filter:0
#: selection:wizard.report,filter:0
msgid "By Period"
msgstr "Por Período"
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "4 QTR's | YTD"
msgstr "4 TRM's | YTD"
#. module: account_financial_report
#: model:ir.actions.act_window,name:account_financial_report.action_wizard_report
#: model:ir.ui.menu,name:account_financial_report.menu_wizard_report
msgid "Account Financial Report (Multireports)"
msgstr "Reportes Financieros (Multireportes)"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Accounts Info"
msgstr "Información de Cuentas"
#. module: account_financial_report
#: help:afr,display_account_level:0
#: help:wizard.report,display_account_level:0
msgid "Display accounts up to this level (0 to show all)"
msgstr "Se mostrarán las cuentas hasta este nivel (Seleccionar 0 las mostrará todas)"
#. module: account_financial_report
#: model:ir.model,name:account_financial_report.model_res_company
msgid "Companies"
msgstr "Compañías"
#. module: account_financial_report
#: help:afr,fiscalyear_id:0
#: help:wizard.report,fiscalyear:0
msgid "Fiscal Year for this report"
msgstr "Ejercicio Fiscal para este reporte"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:87
#: selection:afr,inf_type:0
#: selection:wizard.report,inf_type:0
#, python-format
msgid "Income Statement"
msgstr "Estado de Resultados"
#. module: account_financial_report
#: report:afr.13cols:0
#: report:afr.1cols:0
#: report:afr.2cols:0
#: report:afr.4cols:0
#: report:afr.5cols:0
#: report:afr.qtrcols:0
msgid "/ Pág.:"
msgstr "/ Pág.:"
#. module: account_financial_report
#: model:ir.actions.act_window,name:account_financial_report.account_financial_report_action
#: model:res.groups,name:account_financial_report.group_afreport
#: view:wizard.report:0
msgid "Account Financial Report"
msgstr "Reportes Financieros"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "11"
msgstr "11"
#. module: account_financial_report
#: report:afr.13cols:0
msgid "10"
msgstr "10"
#. module: account_financial_report
#: report:afr.5cols:0
msgid "Code"
msgstr "Código"
#. module: account_financial_report
#: model:ir.actions.report.xml,name:account_financial_report.1_col_report
msgid "Balance 1 Columna"
msgstr "Balance 1 Columna"
#. module: account_financial_report
#: view:wizard.report:0
msgid "Print"
msgstr "Imprimir"
#. module: account_financial_report
#: field:afr,filter:0
#: field:wizard.report,filter:0
msgid "Date/Period Filter"
msgstr "Filtro Fecha/Período"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "FiscalYear Info"
msgstr "Información del Ejercicio Fiscal"
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "Initial | Debit | Credit | YTD"
msgstr "Inicial | Débito | Crédito | YTD"
#. module: account_financial_report
#: field:afr,period_ids:0
#: field:wizard.report,periods:0
msgid "Periods"
msgstr "Períodos"
#. module: account_financial_report
#: report:afr.qtrcols:0
msgid "Q1"
msgstr "Q1"
#. module: account_financial_report
#: report:afr.qtrcols:0
msgid "Q3"
msgstr "Q3"
#. module: account_financial_report
#: report:afr.qtrcols:0
msgid "Q2"
msgstr "Q2"
#. module: account_financial_report
#: report:afr.qtrcols:0
msgid "Q4"
msgstr "Q4"
#. module: account_financial_report
#: help:afr,analytic_ledger:0
#: help:wizard.report,analytic_ledger:0
msgid "Allows to Generate an Analytic Ledger for accounts with moves. Available when Balance Sheet and 'Initial | Debit | Credit | YTD' are selected"
msgstr "Permite generar un Mayor Analítico para las cuentas con movimientos. Disponible cuando se selecciona 'Balance General' e 'Inicial | Débito | Crédito | YTD'"
#. module: account_financial_report
#: help:wizard.report,afr_id:0
msgid "If you have already set a Custom Report, Select it Here."
msgstr "Si ya ha configurado un Reporte Personalizado, Selecciónelo Aquí."
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "Initial | Debit | Credit | Period | YTD"
msgstr "Inicial | Débito | Crédito | Período | YTD"
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "End. Balance"
msgstr "Bal. Final"
#. module: account_financial_report
#: report:afr.analytic.ledger:0
msgid "DATE"
msgstr "FECHA"
#. module: account_financial_report
#: view:res.company:0
msgid "Keep sign on Reports for these accounts and children accounts that are within Accreditable Accounts"
msgstr "Mantiene el signo en los reportes para estas cuentas y las cuentas hijas que están dentro de las Cuentas Acreditables"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:100
#: code:addons/account_financial_report/report/parser.py:109
#, python-format
msgid "From "
msgstr "Desde "
#. module: account_financial_report
#: field:afr,inf_type:0
#: field:wizard.report,inf_type:0
msgid "Type"
msgstr "Tipo"
#. module: account_financial_report
#: field:afr,date_to:0
#: field:wizard.report,date_to:0
msgid "End date"
msgstr "Fecha final"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Account's Sign Conventions"
msgstr "Convención de Signos de las Cuentas"
#. module: account_financial_report
#: model:ir.actions.report.xml,name:account_financial_report.13_col_report
msgid "Balance 13 Columnas"
msgstr "Balance 13 Columnas"
#. module: account_financial_report
#: view:res.company:0
msgid "Accreditable Accounts"
msgstr "Cuentas Acreditables"
#. module: account_financial_report
#: model:ir.model,name:account_financial_report.model_afr
msgid "afr"
msgstr "afr"
#. module: account_financial_report
#: field:afr,name:0
msgid "Name"
msgstr "Nombre"
#. module: account_financial_report
#: code:addons/account_financial_report/report/parser.py:83
#: field:afr,analytic_ledger:0
#: model:ir.actions.report.xml,name:account_financial_report.analytic_ledger_report
#: field:wizard.report,analytic_ledger:0
#, python-format
msgid "Analytic Ledger"
msgstr "Mayor Analítico"
#. module: account_financial_report
#: view:res.company:0
#: field:res.company,debit_account_ids:0
msgid "Debitable Accounts"
msgstr "Cuentas Debitables"
#. module: account_financial_report
#: help:afr,period_ids:0
#: help:wizard.report,periods:0
msgid "All periods in the fiscal year if empty"
msgstr "Todos los períodos en el ejercicio fiscal si se deja vacío"
#. module: account_financial_report
#: code:addons/account_financial_report/wizard/wizard.py:179
#: code:addons/account_financial_report/wizard/wizard.py:242
#, python-format
msgid "Error !"
msgstr "Error !"
#. module: account_financial_report
#: model:ir.model,name:account_financial_report.model_wizard_report
msgid "wizard.report"
msgstr "wizard.report"
#. module: account_financial_report
#: field:afr,lab_str:0
#: field:wizard.report,lab_str:0
msgid "Description"
msgstr "Descripción"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Report Info"
msgstr "Información del Reporte"
#. module: account_financial_report
#: selection:afr,display_account:0
#: selection:wizard.report,display_account:0
msgid "All Accounts"
msgstr "Todas las Cuentas"
#. module: account_financial_report
#: field:afr,tot_check:0
#: field:wizard.report,tot_check:0
msgid "Summarize?"
msgstr "Totalizar?"
#. module: account_financial_report
#: help:afr,tot_check:0
#: help:wizard.report,tot_check:0
msgid "Checking will add a new line at the end of the Report which will Summarize Columns in Report"
msgstr "Seleccionarlo agregará una nueva línea al final del Reporte el cual Totalizará las Columnas en el Reporte"
#. module: account_financial_report
#: help:afr,lab_str:0
#: help:wizard.report,lab_str:0
msgid "Description for the Summary"
msgstr "Descripción para el Total"
#. module: account_financial_report
#: selection:afr,columns:0
#: selection:wizard.report,columns:0
msgid "12 Months | YTD"
msgstr "12 Meses | YTD"
#. module: account_financial_report
#: view:afr:0
#: view:wizard.report:0
msgid "Total"
msgstr "Total"

6
account_financial_report/model/__init__.py

@ -4,8 +4,8 @@
# Module Writen to OpenERP, Open Source Management Solution
# Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>).
# All Rights Reserved
###############Credits######################################################
# Coded by: Humberto Arocha <hbto@vauxoo.com>
# Credits######################################################
# Coded by: Humberto Arocha <hbto@vauxoo.com>
# Planified by: Rafael Silva <rsilvam@vauxoo.com>
# Audited by: Nhomar Hernandez <nhomar@vauxoo.com>
#############################################################################
@ -21,7 +21,7 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
################################################################################
##########################################################################
import account_financial_report
import res_company

174
account_financial_report/model/account_financial_report.py

@ -3,7 +3,7 @@
# Module Writen to OpenERP, Open Source Management Solution
# Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>).
# All Rights Reserved
###############Credits######################################################
# Credits######################################################
# Coded by: Humberto Arocha humberto@openerp.com.ve
# Angelica Barrios angelicaisabelb@gmail.com
# Jordi Esteve <jesteve@zikzakmedia.com>
@ -26,111 +26,159 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##############################################################################
from osv import osv,fields
from osv import osv, fields
import pooler
import time
from tools.translate import _
class account_financial_report(osv.osv):
_name = "afr"
_columns = {
'name': fields.char('Name', size= 128, required=True),
'company_id': fields.many2one('res.company','Company',required=True),
'currency_id': fields.many2one('res.currency', 'Currency', help="Currency at which this report will be expressed. If not selected will be used the one set in the company"),
'inf_type': fields.selection([('BS','Balance Sheet'),('IS','Income Statement')],'Type',required=True),
'columns': fields.selection([('one','End. Balance'),('two','Debit | Credit'), ('four','Initial | Debit | Credit | YTD'), ('five','Initial | Debit | Credit | Period | YTD'),('qtr',"4 QTR's | YTD"), ('thirteen','12 Months | YTD')],'Columns',required=True),
'display_account': fields.selection([('all','All Accounts'),('bal', 'With Balance'),('mov','With movements'),('bal_mov','With Balance / Movements')],'Display accounts'),
'display_account_level': fields.integer('Up to level',help='Display accounts up to this level (0 to show all)'),
'account_ids': fields.many2many ('account.account','afr_account_rel','afr_id','account_id','Root accounts',required=True),
'fiscalyear_id': fields.many2one('account.fiscalyear','Fiscal year',help='Fiscal Year for this report',required=True),
'period_ids': fields.many2many('account.period','afr_period_rel','afr_id','period_id','Periods',help='All periods in the fiscal year if empty'),
'analytic_ledger': fields.boolean('Analytic Ledger', help="Allows to Generate an Analytic Ledger for accounts with moves. Available when Balance Sheet and 'Initial | Debit | Credit | YTD' are selected"),
'tot_check': fields.boolean('Summarize?', help='Checking will add a new line at the end of the Report which will Summarize Columns in Report'),
'lab_str': fields.char('Description', help='Description for the Summary', size= 128),
'name': fields.char('Name', size=128, required=True),
'company_id': fields.many2one('res.company', 'Company', required=True),
'currency_id': fields.many2one(
'res.currency', 'Currency', help="Currency at which this report will be expressed. If not selected will be used the one set in the company"),
'inf_type': fields.selection(
[('BS', 'Balance Sheet'), ('IS', 'Income Statement')], 'Type', required=True),
'columns': fields.selection([('one', 'End. Balance'), ('two', 'Debit | Credit'), ('four', 'Initial | Debit | Credit | YTD'),
('five', 'Initial | Debit | Credit | Period | YTD'), ('qtr', "4 QTR's | YTD"), ('thirteen', '12 Months | YTD')], 'Columns', required=True),
'display_account': fields.selection([('all', 'All Accounts'), ('bal', 'With Balance'),
('mov', 'With movements'), ('bal_mov', 'With Balance / Movements')], 'Display accounts'),
'display_account_level': fields.integer(
'Up to level', help='Display accounts up to this level (0 to show all)'),
'account_ids': fields.many2many(
'account.account', 'afr_account_rel', 'afr_id', 'account_id', 'Root accounts', required=True),
'fiscalyear_id': fields.many2one(
'account.fiscalyear', 'Fiscal year', help='Fiscal Year for this report', required=True),
'period_ids': fields.many2many('account.period', 'afr_period_rel', 'afr_id',
'period_id', 'Periods', help='All periods in the fiscal year if empty'),
'analytic_ledger': fields.boolean(
'Analytic Ledger', help="Allows to Generate an Analytic Ledger for accounts with moves. Available when Balance Sheet and 'Initial | Debit | Credit | YTD' are selected"),
'journal_ledger': fields.boolean(
'journal Ledger', help="Allows to Generate an journal Ledger for accounts with moves. Available when Balance Sheet and 'Initial | Debit | Credit | YTD' are selected"),
'partner_balance': fields.boolean('Partner Balance', help="Allows to "
"Generate a Partner Balance for accounts with moves. Available when "
"Balance Sheet and 'Initial | Debit | Credit | YTD' are selected"),
'tot_check': fields.boolean(
'Summarize?', help='Checking will add a new line at the end of the Report which will Summarize Columns in Report'),
'lab_str':
fields.char(
'Description',
help='Description for the Summary',
size=128),
'target_move': fields.selection([('posted', 'All Posted Entries'),
('all', 'All Entries'),
], 'Entries to Include', required=True,
help='Print All Accounting Entries or just Posted Accounting Entries'),
#~ Deprecated fields
'filter': fields.selection([('bydate','By Date'),('byperiod','By Period'),('all','By Date and Period'),('none','No Filter')],'Date/Period Filter'),
'filter': fields.selection([('bydate', 'By Date'), ('byperiod', 'By Period'),
('all', 'By Date and Period'), ('none', 'No Filter')], 'Date/Period Filter'),
'date_to': fields.date('End date'),
'date_from': fields.date('Start date'),
}
_defaults = {
'display_account_level': lambda *a: 0,
'inf_type': lambda *a:'BS',
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.invoice', context=c),
'fiscalyear_id': lambda self, cr, uid, c: self.pool.get('account.fiscalyear').find(cr, uid),
'display_account': lambda *a:'bal_mov',
'columns': lambda *a:'five',
'inf_type': lambda *a: 'BS',
'company_id': lambda self, cr, uid, c:
self.pool.get(
'res.company')._company_default_get(
cr,
uid,
'account.invoice',
context=c),
'fiscalyear_id': lambda self, cr, uid, c:
self.pool.get('account.fiscalyear').find(cr, uid),
'display_account': lambda *a: 'bal_mov',
'columns': lambda *a: 'five',
'date_from': lambda *a: time.strftime('%Y-%m-%d'),
'date_to': lambda *a: time.strftime('%Y-%m-%d'),
'filter': lambda *a:'byperiod',
'filter': lambda *a: 'byperiod',
'target_move': 'posted',
}
def copy(self, cr, uid, id, defaults, context=None):
if context is None:
context = {}
previous_name = self.browse(cr, uid, id, context=context).name
new_name = _('Copy of %s')%previous_name
lst = self.search(cr, uid, [('name','like',new_name)], context=context)
new_name = _('Copy of %s') % previous_name
lst = self.search(cr, uid, [(
'name', 'like', new_name)], context=context)
if lst:
new_name = '%s (%s)' % (new_name, len(lst)+1)
new_name = '%s (%s)' % (new_name, len(lst) + 1)
defaults['name'] = new_name
return super(account_financial_report,self).copy(cr, uid, id, defaults, context=context)
return (
super(
account_financial_report,
self).copy(
cr,
uid,
id,
defaults,
context=context)
)
def onchange_inf_type(self,cr,uid,ids,inf_type,context=None):
def onchange_inf_type(self, cr, uid, ids, inf_type, context=None):
if context is None:
context = {}
res = {'value':{}}
res = {'value': {}}
if inf_type != 'BS':
res['value'].update({'analytic_ledger':False})
res['value'].update({'analytic_ledger': False})
return res
def onchange_columns(self,cr,uid,ids,columns,fiscalyear_id,period_ids,context=None):
def onchange_columns(self, cr, uid, ids, columns,
fiscalyear_id, period_ids, context=None):
if context is None:
context = {}
res = {'value':{}}
res = {'value': {}}
if columns != 'four':
res['value'].update({'analytic_ledger':False})
res['value'].update({'analytic_ledger': False})
if columns in ('qtr', 'thirteen'):
p_obj = self.pool.get("account.period")
period_ids = p_obj.search(cr,uid,[('fiscalyear_id','=',fiscalyear_id),('special','=',False)],context=context)
res['value'].update({'period_ids':period_ids})
period_ids = p_obj.search(cr, uid, [('fiscalyear_id', '=', fiscalyear_id), (
'special', '=', False)], context=context)
res['value'].update({'period_ids': period_ids})
else:
res['value'].update({'period_ids':[]})
res['value'].update({'period_ids': []})
return res
def onchange_analytic_ledger(self,cr,uid,ids,company_id,analytic_ledger,context=None):
def onchange_analytic_ledger(
self, cr, uid, ids, company_id, analytic_ledger, context=None):
if context is None:
context = {}
context['company_id']=company_id
res = {'value':{}}
cur_id = self.pool.get('res.company').browse(cr,uid,company_id,context=context).currency_id.id
res['value'].update({'currency_id':cur_id})
context['company_id'] = company_id
res = {'value': {}}
cur_id = self.pool.get('res.company').browse(
cr, uid, company_id, context=context).currency_id.id
res['value'].update({'currency_id': cur_id})
return res
def onchange_company_id(self,cr,uid,ids,company_id,context=None):
def onchange_company_id(self, cr, uid, ids, company_id, context=None):
if context is None:
context = {}
context['company_id']=company_id
res = {'value':{}}
context['company_id'] = company_id
res = {'value': {}}
if not company_id:
return res
cur_id = self.pool.get('res.company').browse(cr,uid,company_id,context=context).currency_id.id
fy_id = self.pool.get('account.fiscalyear').find(cr, uid,context=context)
res['value'].update({'fiscalyear_id':fy_id})
res['value'].update({'currency_id':cur_id})
res['value'].update({'account_ids':[]})
res['value'].update({'period_ids':[]})
cur_id = self.pool.get('res.company').browse(
cr, uid, company_id, context=context).currency_id.id
fy_id = self.pool.get('account.fiscalyear').find(
cr, uid, context=context)
res['value'].update({'fiscalyear_id': fy_id})
res['value'].update({'currency_id': cur_id})
res['value'].update({'account_ids': []})
res['value'].update({'period_ids': []})
return res

23
account_financial_report/model/res_company.py

@ -4,8 +4,8 @@
# Module Writen to OpenERP, Open Source Management Solution
# Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>).
# All Rights Reserved
###############Credits######################################################
# Coded by: Humberto Arocha <hbto@vauxoo.com>
# Credits######################################################
# Coded by: Humberto Arocha <hbto@vauxoo.com>
# Planified by: Rafael Silva <rsilvam@vauxoo.com>
# Audited by: Nhomar Hernandez <nhomar@vauxoo.com>
#############################################################################
@ -21,22 +21,23 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
################################################################################
##########################################################################
from osv import osv
from osv import fields
from tools.translate import _
class res_company(osv.osv):
_inherit = 'res.company'
_columns = {
'credit_account_ids':fields.many2many('account.account',
'credit_account_company_rel',
'company_id', 'account_id',
'Creditable Accounts'),
'debit_account_ids':fields.many2many('account.account',
'debit_account_company_rel',
'company_id', 'account_id',
'Debitable Accounts'),
'credit_account_ids': fields.many2many('account.account',
'credit_account_company_rel',
'company_id', 'account_id',
'Creditable Accounts'),
'debit_account_ids': fields.many2many('account.account',
'debit_account_company_rel',
'company_id', 'account_id',
'Debitable Accounts'),
}
res_company()

2
account_financial_report/report/__init__.py

@ -3,7 +3,7 @@
# Module Writen to OpenERP, Open Source Management Solution
# Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>).
# All Rights Reserved
###############Credits######################################################
# Credits######################################################
# Coded by: Humberto Arocha humberto@openerp.com.ve
# Angelica Barrios angelicaisabelb@gmail.com
# Jordi Esteve <jesteve@zikzakmedia.com>

13
account_financial_report/report/balance_full.rml

@ -4,7 +4,7 @@
<pageTemplate id="first">
<frame id="first" x1="1cm" y1="1.0cm" width="19.0cm" height="23cm"/>
<pageGraphics>
<setFont name="Helvetica" size="9"/>
<setFont name="Helvetica-Oblique" size="6"/>
<image x="1.0cm" y="24.0cm" width="5.0cm">[[company.logo and company.logo or removeParentNode('image')]]</image>
<!--
@ -16,12 +16,12 @@
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER_NAME">
<font>[[ (company.name and company.name or 'NOMBRE DE COMPANIA NO DISPONIBLE')]]</font>
<font>[[ company.partner_id.vat and ('- %s-%s-%s'%(company.partner_id.vat[2:3],company.partner_id.vat[3:11],company.partner_id.vat[11:12])) or '' ]]</font>
<font>[[ get_vat_by_country(data['form']) ]]</font>
</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">[[data['form'] and (' (Expressed in %s)'%( exchange_name(data['form']))) or '']]</para></td>
<td><para style="TITLE_CENTER">(Expressed in [[data['form'] and ('%s'%( exchange_name(data['form']))) or '']])</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
@ -29,7 +29,8 @@
</tr>
</blockTable>
</place>
<drawRightString x="192mm" y="5mm">[[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/> </drawRightString>
<drawRightString x="207mm" y="5mm">Printing Date: [[ formatLang(time.strftime('%Y-%m-%d %H:%M:%S'),date_time=True) ]] [[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/></drawRightString>
</pageGraphics>
</pageTemplate>
@ -88,7 +89,7 @@
</stylesheet>
<images/>
<story>
<para>[[setLang(user.context_lang)]]</para>
<para>[[setLang(user.lang)]]</para>
<blockTable colWidths="2.5cm,13.5cm,3.0cm" style="BODY" repeatRows="1">
<tr noRowsplits="1">
@ -121,7 +122,7 @@
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['balance'] and a['balance'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['balance'] and a['balance'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
</tr>

43
account_financial_report/report/balance_full_13_cols.rml

@ -4,7 +4,7 @@
<pageTemplate id="first">
<frame id="first" x1="0.5cm" y1="1.0cm" width="41.0cm" height="23cm"/>
<pageGraphics>
<setFont name="Helvetica" size="9"/>
<setFont name="Helvetica-Oblique" size="6"/>
<image x="1.0cm" y="24.0cm" width="5.0cm">[[company.logo and company.logo or removeParentNode('image')]]</image>
<!--
@ -17,7 +17,7 @@
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER_NAME">
<font>[[ (company.name and company.name or 'NOMBRE DE COMPANIA NO DISPONIBLE')]]</font>
<font>[[ company.partner_id.vat and ('- %s-%s-%s'%(company.partner_id.vat[2:3],company.partner_id.vat[3:11],company.partner_id.vat[11:12])) or '' ]]</font>
<font>[[ get_vat_by_country(data['form']) ]]</font>
</para></td>
</tr>
<tr>
@ -26,7 +26,7 @@
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">[[data['form'] and (' (Expressed in %s)'%( exchange_name(data['form']))) or '']]</para></td>
<td><para style="TITLE_CENTER">(Expressed in [[data['form'] and ('%s'%( exchange_name(data['form']))) or '']])</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
@ -34,7 +34,7 @@
</tr>
</blockTable>
</place>
<drawRightString x="192mm" y="5mm">[[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/> </drawRightString>
<drawRightString x="420mm" y="5mm">Printing Date: [[ formatLang(time.strftime('%Y-%m-%d %H:%M:%S'),date_time=True) ]] [[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/></drawRightString>
</pageGraphics>
</pageTemplate>
@ -64,7 +64,12 @@
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
<paraStyle
name="all"
alignment="justify"
fontName="Helvetica"
fontSize="6.0"
/>
</initialize>
<paraStyle
name="TITLE_LEFT_ALIGN"
@ -82,7 +87,7 @@
</stylesheet>
<images/>
<story>
<para>[[setLang(user.context_lang)]]</para>
<para>[[setLang(user.lang)]]</para>
<blockTable colWidths="2.0cm,6.5cm,2.5cm,2.5cm,2.5cm,2.5cm,2.5cm,2.5cm,2.5cm,2.5cm,2.5cm,2.5cm,2.5cm,2.5cm,2.5cm" style="BODY" repeatRows="1">
<tr noRowsplits="1">
<td>
@ -149,79 +154,79 @@
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal1'] and a['bal1'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal1'] and a['bal1'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal2'] and a['bal2'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal2'] and a['bal2'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal3'] and a['bal3'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal3'] and a['bal3'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal4'] and a['bal4'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal4'] and a['bal4'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal5'] and a['bal5'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal5'] and a['bal5'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal6'] and a['bal6'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal6'] and a['bal6'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal7'] and a['bal7'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal7'] and a['bal7'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal8'] and a['bal8'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal8'] and a['bal8'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal9'] and a['bal9'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal9'] and a['bal9'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal10'] and a['bal10'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal10'] and a['bal10'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal11'] and a['bal11'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal11'] and a['bal11'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal12'] and a['bal12'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal12'] and a['bal12'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal13'] and a['bal13'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal13'] and a['bal13'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
</tr>

10
account_financial_report/report/balance_full_2_cols.rml

@ -4,7 +4,7 @@
<pageTemplate id="first">
<frame id="first" x1="1cm" y1="1.0cm" width="19.0cm" height="23cm"/>
<pageGraphics>
<setFont name="Helvetica" size="9"/>
<setFont name="Helvetica-Oblique" size="6"/>
<image x="1.0cm" y="24.0cm" width="5.0cm">[[company.logo and company.logo or removeParentNode('image')]]</image>
<!--
@ -16,7 +16,7 @@
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER_NAME">
<font>[[ (company.name and company.name or 'NOMBRE DE COMPANIA NO DISPONIBLE')]]</font>
<font>[[ company.partner_id.vat and ('- %s-%s-%s'%(company.partner_id.vat[2:3],company.partner_id.vat[3:11],company.partner_id.vat[11:12])) or '' ]]</font>
<font>[[ get_vat_by_country(data['form']) ]]</font>
</para></td>
</tr>
<tr>
@ -25,7 +25,7 @@
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">[[data['form'] and (' (Expressed in %s)'%( exchange_name(data['form']))) or '']]</para></td>
<td><para style="TITLE_CENTER">(Expressed in [[data['form'] and ('%s'%( exchange_name(data['form']))) or '']])</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
@ -33,7 +33,7 @@
</tr>
</blockTable>
</place>
<drawRightString x="192mm" y="5mm">[[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/> </drawRightString>
<drawRightString x="207mm" y="5mm">Printing Date: [[ formatLang(time.strftime('%Y-%m-%d %H:%M:%S'),date_time=True) ]] [[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/></drawRightString>
</pageGraphics>
</pageTemplate>
@ -81,7 +81,7 @@
</stylesheet>
<images/>
<story>
<para>[[setLang(user.context_lang)]]</para>
<para>[[setLang(user.lang)]]</para>
<blockTable colWidths="2.5cm,9.5cm,3.5cm,3.5cm" style="BODY" repeatRows="1">
<tr noRowsplits="1">
<td>

14
account_financial_report/report/balance_full_4_cols.rml

@ -4,7 +4,7 @@
<pageTemplate id="first">
<frame id="first" x1="0.5cm" y1="1.0cm" width="20.5cm" height="23cm"/>
<pageGraphics>
<setFont name="Helvetica" size="9"/>
<setFont name="Helvetica-Oblique" size="6"/>
<image x="1.0cm" y="24.0cm" width="5.0cm">[[company.logo and company.logo or removeParentNode('image')]]</image>
<!--
@ -17,7 +17,7 @@
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER_NAME">
<font>[[ (company.name and company.name or 'NOMBRE DE COMPANIA NO DISPONIBLE')]]</font>
<font>[[ company.partner_id.vat and ('- %s-%s-%s'%(company.partner_id.vat[2:3],company.partner_id.vat[3:11],company.partner_id.vat[11:12])) or '' ]]</font>
<font>[[ get_vat_by_country(data['form']) ]]</font>
</para></td>
</tr>
<tr>
@ -26,7 +26,7 @@
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">[[data['form'] and (' (Expressed in %s)'%( exchange_name(data['form']))) or '']]</para></td>
<td><para style="TITLE_CENTER">(Expressed in [[data['form'] and ('%s'%( exchange_name(data['form']))) or '']])</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
@ -34,7 +34,7 @@
</tr>
</blockTable>
</place>
<drawRightString x="192mm" y="5mm">[[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/> </drawRightString>
<drawRightString x="207mm" y="5mm">Printing Date: [[ formatLang(time.strftime('%Y-%m-%d %H:%M:%S'),date_time=True) ]] [[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/></drawRightString>
</pageGraphics>
</pageTemplate>
@ -82,7 +82,7 @@
</stylesheet>
<images/>
<story>
<para>[[setLang(user.context_lang)]]</para>
<para>[[setLang(user.lang)]]</para>
<blockTable colWidths="2.5cm,6.5cm,2.5cm,3.5cm,3.5cm,2.5cm" style="BODY" repeatRows="1">
<tr noRowsplits="1">
<td>
@ -122,7 +122,7 @@
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['balanceinit'] and a['balanceinit'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['balanceinit'] and a['balanceinit'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
@ -140,7 +140,7 @@
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['balance'] and a['balance'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['balance'] and a['balance'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
</tr>

16
account_financial_report/report/balance_full_4_cols_analytic_ledger.rml

@ -4,7 +4,7 @@
<pageTemplate id="first">
<frame id="first" x1="1.0cm" y1="1.0cm" width="26.0cm" height="16.65cm"/>
<pageGraphics>
<setFont name="Helvetica" size="9"/>
<setFont name="Helvetica-Oblique" size="6"/>
<image x="1.0cm" y="17.65cm" width="5.0cm">[[company.logo and company.logo or removeParentNode('image')]]</image>
<!--
@ -17,7 +17,7 @@
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER_NAME">
<font>[[ (company.name and company.name or 'NOMBRE DE COMPANIA NO DISPONIBLE')]]</font>
<font>[[ company.partner_id.vat and ('- %s-%s-%s'%(company.partner_id.vat[2:3],company.partner_id.vat[3:11],company.partner_id.vat[11:12])) or '' ]]</font>
<font>[[ get_vat_by_country(data['form']) ]]</font>
</para></td>
</tr>
<tr>
@ -26,7 +26,7 @@
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">[[data['form'] and (' (Expressed in %s)'%( exchange_name(data['form']))) or '']]</para></td>
<td><para style="TITLE_CENTER">(Expressed in [[data['form'] and (' %s'%( exchange_name(data['form']))) or '']])</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
@ -34,7 +34,7 @@
</tr>
</blockTable>
</place>
<drawRightString x="270mm" y="5mm"> Pag.: <pageNumber/></drawRightString>
<drawRightString x="270mm" y="5mm">Printing Date: [[ formatLang(time.strftime('%Y-%m-%d %H:%M:%S'),date_time=True) ]] [[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/></drawRightString>
</pageGraphics>
</pageTemplate>
@ -119,7 +119,7 @@
</stylesheet>
<images/>
<story>
<para>[[setLang(user.context_lang)]]</para>
<para>[[setLang(user.lang)]]</para>
<blockTable colWidths="2.5cm,13.5cm,2.5cm,2.5cm,2.5cm,2.5cm" style="BODY" repeatRows="0">
<tr noRowsplits="0">
@ -205,7 +205,7 @@
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['balanceinit'] and a['balanceinit'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['balanceinit'] and a['balanceinit'] * a.get('change_sign',1.0) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
@ -223,7 +223,7 @@
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['balance'] and a['balance'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['balance'] and a['balance'] * a.get('change_sign',1.0) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
</tr>
@ -281,7 +281,7 @@
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(m['balance'] and m['balance'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(m['balance'] and m['balance'] * a.get('change_sign',1.0) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
</tr>

397
account_financial_report/report/balance_full_4_cols_journal_ledger.rml

@ -0,0 +1,397 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(27.94cm,21.59cm)" title="Test" author="Martin Simon" allowSplitting="20" showBoundary="0">
<pageTemplate id="first">
<frame id="first" x1="1.0cm" y1="1.0cm" width="26.0cm" height="16.65cm"/>
<pageGraphics>
<setFont name="Helvetica-Oblique" size="6"/>
<image x="1.0cm" y="17.65cm" width="5.0cm">[[company.logo and company.logo or removeParentNode('image')]]</image>
<!--
<drawString x="1.0cm" y="24.5cm">[[company.logo and removeParentNode('para') or company.name]]</drawString>
-->
<place x="-3.5cm" y="16.15cm" width="19cm" height="5.0cm">
<blockTable colWidths="9.6cm,9.4cm" style="TITLE">
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER_NAME">
<font>[[ (company.name and company.name or 'NOMBRE DE COMPANIA NO DISPONIBLE')]]</font>
<font>[[ company.partner_id.vat and ('- %s-%s-%s'%(company.partner_id.vat[2:3],company.partner_id.vat[3:11],company.partner_id.vat[11:12])) or '' ]]</font>
</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">[[ get_informe_text(data['form']) ]]</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">(Expressed in [[data['form'] and (' %s'%( exchange_name(data['form']))) or '']])</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">[[data['form'] and get_month(data['form']) or '']]</para></td>
</tr>
</blockTable>
</place>
<drawRightString x="270mm" y="5mm">Printing Date: [[ formatLang(time.strftime('%Y-%m-%d %H:%M:%S'),date_time=True) ]] [[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/></drawRightString>
</pageGraphics>
</pageTemplate>
</template>
<stylesheet>
<blockTableStyle id="BODY_LINE">
<blockValign value="TOP"/>
<blockAlignment value="RIGHT"/>
<blockTopPadding length="1.0"/>
<blockBottomPadding length="1.0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,0" stop="-1,-1" thickness='0.25'/>
</blockTableStyle>
<blockTableStyle id="BODY_LINE_FILLED">
<blockBackground colorName="lightgrey" start="0,0" stop="-1,-1"/>
<blockValign value="TOP"/>
<blockAlignment value="RIGHT"/>
<blockTopPadding length="1.0"/>
<blockBottomPadding length="1.0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,0" stop="-1,-1" thickness='0.25'/>
</blockTableStyle>
<blockTableStyle id="TITLE">
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="BODY">
<blockValign value="TOP"/>
<blockAlignment value="RIGHT"/>
<blockTopPadding length="1.0"/>
<blockBottomPadding length="1.0"/>
<lineStyle kind="LINEBELOW" colorName="darkgrey" start="0,0" stop="-1,-1" thickness='0.25'/>
</blockTableStyle>
<blockTableStyle id="BODY_STRIKE">
<blockValign value="TOP"/>
<blockAlignment value="RIGHT"/>
<blockTopPadding length="1.0"/>
<blockBottomPadding length="1.0"/>
<lineStyle kind="LINEBELOW" colorName="#FFFFFF" start="0,1" stop="-1,-1" thickness='0.5'/>
</blockTableStyle>
<blockTableStyle id="TOP_TABLE">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#FFFFFF" start="0,-1" stop="0,-1" thickness='0.25'/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle
name="TITLE_LEFT_ALIGN_NEW"
fontName="Courier"
fontSize="7.0"
leading="10"
alignment="RIGHT"
spaceBefore="0.0"
spaceAfter="0.0"/>
<paraStyle name="TITLES_NEW"
fontName="Courier"
fontSize="7.0"
leading="10"
alignment="LEFT"
spaceBefore="0.0"
spaceAfter="0.0"/>
<paraStyle name="TITLES_NEW_P"
fontName="Helvetica-Bold"
fontSize="6.0"
leading="10"
alignment="LEFT"
spaceBefore="0.0"
spaceAfter="0.0"/>
<paraStyle name="TITLES_NEW_RIGHT"
fontName="Courier"
fontSize="7.0"
leading="10"
alignment="RIGHT"
spaceBefore="0.0"
spaceAfter="0.0"/>
<paraStyle
name="TITLE_LEFT_ALIGN"
fontName="Helvetica-Bold"
fontSize="7.0"
leading="10"
alignment="RIGHT"
spaceBefore="0.0"
spaceAfter="0.0"/>
<paraStyle name="TOP_TITLE" fontName="Helvetica-Bold" fontSize="7" leftIndent="0.0" alignment="LEFT"/>
<paraStyle
name="TITLES"
fontName="Helvetica-Bold"
fontSize="7.0"
leading="10"
alignment="LEFT"
spaceBefore="0.0"
spaceAfter="0.0"/>
<paraStyle name="TITLE_CENTER" fontName="Helvetica-Bold" fontSize="7" leading="10" leftIndent="0.0" alignment="CENTER"/>
<paraStyle name="TITLE_CENTER_NAME" fontName="Helvetica-Bold" fontSize="12" leading="13" leftIndent="0.0" alignment="CENTER"/>
<paraStyle
name="TITLE"
alignment="CENTER"
fontName="Helvetica"
fontSize="18.0"
leading="20"
spaceBefore="-3.0"
textColor="black"/>
</stylesheet>
<images/>
<story>
<para>[[setLang(user.lang)]]</para>
<blockTable colWidths="2.5cm,13.5cm,2.5cm,2.5cm,2.5cm,2.5cm" style="BODY" repeatRows="0">
<tr noRowsplits="0">
<td>
<para style="TITLE_LEFT_ALIGN">
<font>CODE</font>
</para>
</td>
<td>
<para style="TITLES">ACCOUNT</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">INITIAL</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">DEBIT</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">CREDIT</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">BALANCE</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="6.0cm,3.0cm,3.0cm,2.5cm,4.0cm,2.5cm,2.5cm,2.5cm" style="BODY_LINE" repeatRows="0">
<!--
[[ (a['type'] &lt;&gt; 'view') or removeParentNode('blockTable') ]]
-->
<tr noRowsplits="1">
<td>
<para style="TITLES_NEW">
<font>DATE</font>
</para>
</td>
<td>
<para style="TITLES_NEW">
<font>PERIOD</font>
</para>
</td>
<td>
<para style="TITLES_NEW">JOURNAL ENTRY</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN"></para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN"></para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN"></para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN"></para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN"></para>
</td>
</tr>
</blockTable>
<section>
<para>[[ repeatIn([x for x in lines(data['form']) if x['type'] != 'view'], 'a') ]]</para>
<blockTable colWidths="2.5cm,13.5cm,2.5cm,2.5cm,2.5cm,2.5cm" style="BODY" repeatRows="0">
<tr>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font>
<i>[[a['label']==True and a['code'] or '' ]]</i>
</para>
</td>
<td>
<para style="TITLES">
<font>[[ ((a['total'] and not a['label']) and setTag('para','para',{'alignment':"RIGHT"}) or (a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}))) or removeParentNode('font') ]]</font>
<font>[[ a['type']=='view' and a['name'].upper() or a['name'].title() ]]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['balanceinit'] and a['balanceinit'] * a.get('change_sign',1.0) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['debit'], digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['credit'], digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['balance'] and a['balance'] * a.get('change_sign',1.0) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
</tr>
</blockTable>
<section>
<para>[[ repeatIn(a['journal'], 'j') ]]</para>
<blockTable colWidths="6.0cm,3.0cm,3.0cm,2.5cm,4.0cm,2.5cm,2.5cm,2.5cm" style="BODY_LINE" repeatRows="1">
<!--
[[ (a['type'] &lt;&gt; 'view') or removeParentNode('blockTable') ]]
-->
<tr>
<td>
<para style="TITLES_NEW_P">
<font> [[ formatLang( j['date'], date=True) ]]</font>
</para>
</td>
<td>
<para style="TITLES_NEW_P">
<font>[[ j['period'] ]]</font>
</para>
</td>
<td>
<para style="TITLES_NEW_P">
<font>[[ j['name'] ]] </font>
</para>
</td>
<td>
<para style="TITLES_NEW">
<font></font>
</para>
</td>
<td>
<para style="TITLES_NEW">
<font></font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
</para>
</td>
</tr>
</blockTable>
<section>
<para>[[ repeatIn(j.get('obj').line_id, 'k') ]]</para>
<blockTable colWidths="6.0cm,3.0cm,3.0cm,1.5cm,5.0cm,2.5cm,2.5cm,2.5cm" style="BODY_LINE_FILLED" repeatRows="1">
<tr>
<td>
<para style="TITLES_NEW">
<font> [[ k.account_id.code == a['code'] and k.name or removeParentNode('blockTable') ]]</font>
</para>
</td>
<td>
<para style="TITLES_NEW">
<font>[[ k.ref and k.ref or '']]</font>
</para>
</td>
<td>
<para style="TITLES_NEW">
<font>[[ k.partner_id and k.partner_id.name or '']]</font>
</para>
</td>
<td>
<para style="TITLES_NEW">
<font>[[ k.account_id and k.account_id.code or '']]</font>
</para>
</td>
<td>
<para style="TITLES_NEW">
<font>[[ k.account_id and k.account_id.name or '']]</font>
</para>
</td>
<td>
<para style="TITLES_NEW_RIGHT">
<font>[[ k.account_id.type&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ k.debit and formatLang(k.debit, digits=2, grouping=True) or '' ]] </font>
</para>
</td>
<td>
<para style="TITLES_NEW_RIGHT">
<font>[[ k.account_id.type&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ k.credit and formatLang(k.credit, digits=2, grouping=True) or '' ]] </font>
</para>
</td>
<td>
<para style="TITLES_NEW_RIGHT">
<font>[[ k.account_id.type&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ k.reconcile_id and k.reconcile_id.name or k.reconcile_partial_id and k.reconcile_partial_id.name or '']]</font>
</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="6.0cm,3.0cm,3.0cm,1.5cm,5.0cm,2.5cm,2.5cm,2.5cm" style="BODY_LINE" repeatRows="1">
<tr>
<td>
<para style="TITLES_NEW">
<font> [[ k.account_id.code != a['code'] and k.name or removeParentNode('blockTable') ]]</font>
</para>
</td>
<td>
<para style="TITLES_NEW">
<font>[[ k.ref and k.ref or '']]</font>
</para>
</td>
<td>
<para style="TITLES_NEW">
<font>[[ k.partner_id and k.partner_id.name or '']]</font>
</para>
</td>
<td>
<para style="TITLES_NEW">
<font>[[ k.account_id and k.account_id.code or '']]</font>
</para>
</td>
<td>
<para style="TITLES_NEW">
<font>[[ k.account_id and k.account_id.name or '']]</font>
</para>
</td>
<td>
<para style="TITLES_NEW_RIGHT">
<font>[[ k.account_id.type&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ k.debit and formatLang(k.debit, digits=2, grouping=True) or '' ]] </font>
</para>
</td>
<td>
<para style="TITLES_NEW_RIGHT">
<font>[[ k.account_id.type&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ k.credit and formatLang(k.credit, digits=2, grouping=True) or '' ]] </font>
</para>
</td>
<td>
<para style="TITLES_NEW_RIGHT">
<font>[[ k.account_id.type&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ k.reconcile_id and k.reconcile_id.name or k.reconcile_partial_id and k.reconcile_partial_id.name or '']]</font>
</para>
</td>
</tr>
</blockTable>
</section>
<spacer length="1.5mm"/>
</section>
<spacer length="2.5mm"/>
</section>
</story>
</document>

273
account_financial_report/report/balance_full_4_cols_partner_balance.rml

@ -0,0 +1,273 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(27.94cm,21.59cm)" title="Test" author="Martin Simon" allowSplitting="20" showBoundary="0">
<pageTemplate id="first">
<frame id="first" x1="1.0cm" y1="1.0cm" width="26.0cm" height="16.65cm"/>
<pageGraphics>
<setFont name="Helvetica-Oblique" size="6"/>
<image x="1.0cm" y="17.65cm" width="5.0cm">[[company.logo and company.logo or removeParentNode('image')]]</image>
<!--
<drawString x="1.0cm" y="24.5cm">[[company.logo and removeParentNode('para') or company.name]]</drawString>
-->
<place x="-3.5cm" y="16.15cm" width="19cm" height="5.0cm">
<blockTable colWidths="9.6cm,9.4cm" style="TITLE">
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER_NAME">
<font>[[ (company.name and company.name or 'NOMBRE DE COMPANIA NO DISPONIBLE')]]</font>
<font>[[ get_vat_by_country(data['form']) ]]</font>
</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">[[ get_informe_text(data['form']) ]]</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">(Expressed in [[data['form'] and (' %s'%( exchange_name(data['form']))) or '']])</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">[[data['form'] and get_month(data['form']) or '']]</para></td>
</tr>
</blockTable>
</place>
<drawRightString x="270mm" y="5mm">Printing Date: [[ formatLang(time.strftime('%Y-%m-%d %H:%M:%S'),date_time=True) ]] [[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/></drawRightString>
</pageGraphics>
</pageTemplate>
</template>
<stylesheet>
<blockTableStyle id="BODY_LINE">
<blockValign value="TOP"/>
<blockAlignment value="RIGHT"/>
<blockTopPadding length="1.0"/>
<blockBottomPadding length="1.0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,0" stop="-1,-1" thickness='0.25'/>
</blockTableStyle>
<blockTableStyle id="TITLE">
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="BODY">
<blockValign value="TOP"/>
<blockAlignment value="RIGHT"/>
<blockTopPadding length="1.0"/>
<blockBottomPadding length="1.0"/>
<lineStyle kind="LINEBELOW" colorName="darkgrey" start="0,0" stop="-1,-1" thickness='0.25'/>
</blockTableStyle>
<blockTableStyle id="BODY_STRIKE">
<blockValign value="TOP"/>
<blockAlignment value="RIGHT"/>
<blockTopPadding length="1.0"/>
<blockBottomPadding length="1.0"/>
<lineStyle kind="LINEBELOW" colorName="#FFFFFF" start="0,1" stop="-1,-1" thickness='0.5'/>
</blockTableStyle>
<blockTableStyle id="TOP_TABLE">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#FFFFFF" start="0,-1" stop="0,-1" thickness='0.25'/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle
name="TITLE_LEFT_ALIGN_NEW"
fontName="Courier"
fontSize="7.0"
leading="10"
alignment="RIGHT"
spaceBefore="0.0"
spaceAfter="0.0"/>
<paraStyle name="TITLES_NEW"
fontName="Courier"
fontSize="7.0"
leading="10"
alignment="LEFT"
spaceBefore="0.0"
spaceAfter="0.0"/>
<paraStyle
name="TITLE_LEFT_ALIGN"
fontName="Helvetica-Bold"
fontSize="7.0"
leading="10"
alignment="RIGHT"
spaceBefore="0.0"
spaceAfter="0.0"/>
<paraStyle name="TOP_TITLE" fontName="Helvetica-Bold" fontSize="7" leftIndent="0.0" alignment="LEFT"/>
<paraStyle
name="TITLES"
fontName="Helvetica-Bold"
fontSize="7.0"
leading="10"
alignment="LEFT"
spaceBefore="0.0"
spaceAfter="0.0"/>
<paraStyle name="TITLE_CENTER" fontName="Helvetica-Bold" fontSize="7" leading="10" leftIndent="0.0" alignment="CENTER"/>
<paraStyle name="TITLE_CENTER_NAME" fontName="Helvetica-Bold" fontSize="12" leading="13" leftIndent="0.0" alignment="CENTER"/>
<paraStyle
name="TITLE"
alignment="CENTER"
fontName="Helvetica"
fontSize="18.0"
leading="20"
spaceBefore="-3.0"
textColor="black"/>
</stylesheet>
<images/>
<story>
<para>[[setLang(user.lang)]]</para>
<blockTable colWidths="2.5cm,13.5cm,2.5cm,2.5cm,2.5cm,2.5cm" style="BODY" repeatRows="0">
<tr noRowsplits="0">
<td>
<para style="TITLE_LEFT_ALIGN">
<font>CODE</font>
</para>
</td>
<td>
<para style="TITLES">ACCOUNT</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">INITIAL</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">DEBIT</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">CREDIT</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">BALANCE</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="2.25cm,13.75cm,2.5cm,2.5cm,2.5cm,2.5cm" style="BODY_LINE" repeatRows="1">
<!--
[[ (a['type'] &lt;&gt; 'view') or removeParentNode('blockTable') ]]
-->
<tr noRowsplits="1">
<td>
<para style="TITLES_NEW">
<font></font>
</para>
</td>
<td>
<para style="TITLES_NEW">
<font>PARTNER</font>
</para>
</td>
<td>
<para style="TITLES_NEW"></para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN"></para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN"></para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN"></para>
</td>
</tr>
</blockTable>
<section>
<para>[[ repeatIn([x for x in lines(data['form']) if x['type'] != 'view'], 'a') ]]</para>
<blockTable colWidths="2.5cm,13.5cm,2.5cm,2.5cm,2.5cm,2.5cm" style="BODY" repeatRows="0">
<tr>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font>
<i>[[a['label']==True and a['code'] or '' ]]</i>
</para>
</td>
<td>
<para style="TITLES">
<font>[[ ((a['total'] and not a['label']) and setTag('para','para',{'alignment':"RIGHT"}) or (a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}))) or removeParentNode('font') ]]</font>
<font>[[ a['type']=='view' and a['name'].upper() or a['name'].title() ]]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['balanceinit'] and a['balanceinit'] * a.get('change_sign',1.0) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['debit'], digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['credit'], digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier-Bold"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['balance'] and a['balance'] * a.get('change_sign',1.0) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
</tr>
</blockTable>
<section>
<para>[[ repeatIn(a['partner'], 'm') ]]</para>
<blockTable colWidths="2.25cm,13.75cm,2.5cm,2.5cm,2.5cm,2.5cm" style="BODY_LINE" repeatRows="1">
<!--
[[ (a['type'] &lt;&gt; 'view') or removeParentNode('blockTable') ]]
-->
<tr>
<td>
<para style="TITLES_NEW">
</para>
</td>
<td>
<para style="TITLES_NEW">
<font>[[ m['partner_name'] ]]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(m['balanceinit'] and m['balanceinit'] * m.get('change_sign',1.0) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(m['debit'], digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(m['credit'], digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(m['balance'] and m['balance'] * a.get('change_sign',1.0) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
</tr>
</blockTable>
</section>
<spacer length="2.5mm"/>
</section>
</story>
</document>

10
account_financial_report/report/balance_full_5_cols.rml

@ -4,7 +4,7 @@
<pageTemplate id="first">
<frame id="first" x1="0.5cm" y1="1.0cm" width="20.5cm" height="23cm"/>
<pageGraphics>
<setFont name="Helvetica" size="9"/>
<setFont name="Helvetica-Oblique" size="6"/>
<image x="1.0cm" y="24.0cm" width="5.0cm">[[company.logo and company.logo or removeParentNode('image')]]</image>
<!--
@ -17,7 +17,7 @@
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER_NAME">
<font>[[ (company.name and company.name or 'NOMBRE DE COMPANIA NO DISPONIBLE')]]</font>
<font>[[ company.partner_id.vat and ('- %s-%s-%s'%(company.partner_id.vat[2:3],company.partner_id.vat[3:11],company.partner_id.vat[11:12])) or '' ]]</font>
<font>[[ get_vat_by_country(data['form']) ]]</font>
</para></td>
</tr>
<tr>
@ -26,7 +26,7 @@
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">[[data['form'] and (' (Expressed in %s)'%( exchange_name(data['form']))) or '']]</para></td>
<td><para style="TITLE_CENTER">(Expressed in [[data['form'] and ('%s'%( exchange_name(data['form']))) or '']])</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
@ -34,7 +34,7 @@
</tr>
</blockTable>
</place>
<drawRightString x="192mm" y="5mm">[[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/> </drawRightString>
<drawRightString x="207mm" y="5mm">Printing Date: [[ formatLang(time.strftime('%Y-%m-%d %H:%M:%S'),date_time=True) ]] [[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/></drawRightString>
</pageGraphics>
</pageTemplate>
@ -82,7 +82,7 @@
</stylesheet>
<images/>
<story>
<para>[[setLang(user.context_lang)]]</para>
<para>[[setLang(user.lang)]]</para>
<blockTable colWidths="2.5cm,6.0cm,2.5cm,2.5cm,2.5cm,2.5cm,2.5cm" style="BODY" repeatRows="1">
<tr noRowsplits="1">
<td>

20
account_financial_report/report/balance_full_qtr_cols.rml

@ -4,7 +4,7 @@
<pageTemplate id="first">
<frame id="first" x1="0.5cm" y1="1.0cm" width="20.5cm" height="23cm"/>
<pageGraphics>
<setFont name="Helvetica" size="9"/>
<setFont name="Helvetica-Oblique" size="6"/>
<image x="1.0cm" y="24.0cm" width="5.0cm">[[company.logo and company.logo or removeParentNode('image')]]</image>
<!--
@ -17,7 +17,7 @@
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER_NAME">
<font>[[ (company.name and company.name or 'NOMBRE DE COMPANIA NO DISPONIBLE')]]</font>
<font>[[ company.partner_id.vat and ('- %s-%s-%s'%(company.partner_id.vat[2:3],company.partner_id.vat[3:11],company.partner_id.vat[11:12])) or '' ]]</font>
<font>[[ get_vat_by_country(data['form']) ]]</font>
</para></td>
</tr>
<tr>
@ -26,7 +26,7 @@
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
<td><para style="TITLE_CENTER">[[data['form'] and (' (Expressed in %s)'%( exchange_name(data['form']))) or '']]</para></td>
<td><para style="TITLE_CENTER">(Expressed in [[data['form'] and (' %s)'%( exchange_name(data['form']))) or '']])</para></td>
</tr>
<tr>
<td><para style="TOP_TITLE"></para></td>
@ -34,7 +34,7 @@
</tr>
</blockTable>
</place>
<drawRightString x="192mm" y="5mm">[[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/> </drawRightString>
<drawRightString x="207mm" y="5mm">Printing Date: [[ formatLang(time.strftime('%Y-%m-%d %H:%M:%S'),date_time=True) ]] [[ get_informe_text(data['form']) ]] / Pág.: <pageNumber/>-<pageCount/></drawRightString>
</pageGraphics>
</pageTemplate>
@ -82,7 +82,7 @@
</stylesheet>
<images/>
<story>
<para>[[setLang(user.context_lang)]]</para>
<para>[[setLang(user.lang)]]</para>
<blockTable colWidths="2.5cm,6.0cm,2.5cm,2.5cm,2.5cm,2.5cm,2.5cm" style="BODY" repeatRows="1">
<tr noRowsplits="1">
<td>
@ -125,31 +125,31 @@
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal1'] and a['bal1'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal1'] and (a['bal1'] * a.get('change_sign',1)) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal2'] and a['bal2'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal2'] and a['bal2'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal3'] and a['bal3'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal3'] and a['bal3'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal4'] and a['bal4'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal4'] and a['bal4'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
<td>
<para style="TITLE_LEFT_ALIGN">
<font>[[ a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Courier"}) or removeParentNode('font') ]]</font>
<font>[[ (a['total']==True) and formatLang(a['bal5'] and a['bal5'] * a.get('change_sign') or 0.0, digits=2, grouping=True) or '']]</font>
<font>[[ (a['total']==True) and formatLang(a['bal5'] and a['bal5'] * a.get('change_sign',1) or 0.0, digits=2, grouping=True) or '']]</font>
</para>
</td>
</tr>

948
account_financial_report/report/parser.py
File diff suppressed because it is too large
View File

11
account_financial_report/security/security.xml

@ -5,5 +5,16 @@
<field name="name">Account Financial Report</field>
</record>
<record id="ir_rule_same_company" model="ir.rule">
<field name="name">See AFR Reports of My Own Company</field>
<field model="ir.model" name="model_id" ref="model_afr"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
<field eval="False" name="global"/>
<field name="domain_force">[('company_id','=',user.company_id.id)]</field>
<field name="groups" eval="[(4,ref('account_financial_report.group_afreport'))]"/>
</record>
</data>
</openerp>

111
account_financial_report/view/account_financial_report_view.xml

@ -1,55 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="account_financial_report_view" model="ir.ui.view">
<field name="name">Account Financial Report (Template)</field>
<field name="model">afr</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Account Financial Report (Templates)">
<group colspan="4">
<field name="name" colspan="4"/>
</group>
<group colspan="4">
<group colspan="2">
<separator string="Company Info" colspan="4"/>
<field name="company_id" on_change='onchange_company_id(company_id)' colspan="4"/>
<form string="Account Financial Report (Templates)" version="7.0">
<h2><label for="name"/></h2>
<field name="name" nolabel="1"/>
<group>
<group string="Company Info" >
<field name="company_id" on_change='onchange_company_id(company_id)' />
<field name="currency_id"
domain="[('company_id','=',company_id)]"
attrs="{'readonly':[('analytic_ledger','=',True)]}"
colspan="4"/>
attrs="{'readonly':[('analytic_ledger','=',True)]}" />
</group>
<group colspan="2">
<separator string="Report Info" colspan="4"/>
<group string="Report Info" >
<field
name="inf_type"
colspan="4"
on_change='onchange_inf_type(inf_type)'
/>
<field name="columns" on_change='onchange_columns(columns,fiscalyear_id,period_ids)' colspan="4"/>
<field name="analytic_ledger" colspan="4"
on_change='onchange_inf_type(inf_type)' />
<field name="columns" on_change='onchange_columns(columns,fiscalyear_id,period_ids)' />
<field name="analytic_ledger"
attrs="{'readonly':['|',('columns','!=','four'),('inf_type','!=','BS')],}"
on_change='onchange_analytic_ledger(company_id,analytic_ledger)'
/>
on_change='onchange_analytic_ledger(company_id,analytic_ledger)' />
<field name="journal_ledger"
attrs="{'readonly':['|',('columns','!=','four'),('inf_type','!=','BS')],}" />
</group>
</group>
<group colspan='4'>
<group colspan="2">
<separator string="Accounts Info" colspan="4"/>
<field name="display_account" required="True" colspan="4"/>
<field name="display_account_level" required="True" colspan="4"/>
<group>
<group string="Accounts Info" >
<field name="display_account" required="True" />
<field name="display_account_level" required="True" />
<field name="target_move"/>
</group>
<group colspan="2">
<separator string="FiscalYear Info" colspan="4"/>
<field name="fiscalyear_id" on_change='onchange_columns(columns,fiscalyear_id,period_ids)' domain="[('company_id','=',company_id)]"/>
<newline/>
<group string="FiscalYear Info" >
<field name="fiscalyear_id" on_change='onchange_columns(columns,fiscalyear_id,period_ids)'
domain="[('company_id','=',company_id)]"/>
</group>
</group>
<group colspan='4'>
<group colspan="1">
<separator string="Accounts to Include" colspan="4"/>
<field name="account_ids" nolabel="1" colspan="4" domain="[('company_id','=',company_id)]">
<group>
<group string="Accounts to Include">
<field name="account_ids" nolabel="1" domain="[('company_id','=',company_id)]">
<tree>
<field name='code'/>
<field name='name'/>
@ -58,14 +50,11 @@
</tree>
</field>
</group>
<group colspan="1">
<separator string="Periods to Include" colspan="4"/>
<group string="Periods to Include">
<field name="period_ids"
colspan="4" nolabel="1"
nolabel="1"
domain="[('fiscalyear_id','=',fiscalyear_id),('special','=',False),('company_id','=',company_id)]"
attrs="{'readonly':[('columns','in',('qtr','thirteen'))],}"
>
attrs="{'readonly':[('columns','in',('qtr','thirteen'))],}" >
<tree>
<field name='code'/>
<field name='name'/>
@ -74,37 +63,18 @@
</field>
</group>
</group>
<group colspan='4'>
<separator string="Account's Sign Conventions" colspan="4"/>
<group string="Account's Sign Conventions">
<label string="Please check the [ Account's Sign on Reports ] Section in the Company"/>
</group>
<group colspan='4' col='4'>
<group colspan="2">
<separator string="Total" colspan="4"/>
<field name="tot_check" colspan="4"/>
<field name="lab_str" colspan="4" attrs="{'required':[('tot_check','=',True)], 'readonly':[('tot_check','=',False)],}" />
<group>
<group string="Total">
<field name="tot_check"/>
<field name="lab_str" attrs="{'required':[('tot_check','=',True)], 'readonly':[('tot_check','=',False)],}" />
</group>
<group colspan="2">
<separator string="" colspan="4"/>
<!--
<button
name="print_report"
string="Print"
type="object"
icon='gtk-print'/>
<button
type='special'
special='cancel'
string='_Cancel'
icon='gtk-cancel'
/>
-->
<group string=" " >
</group>
</group>
</form>
</field>
</record>
@ -120,20 +90,13 @@
<field name="inf_type"/>
<field name="columns"/>
<field name="display_account"/>
<field name="display_account_level" required="True" colspan="4"/>
<field name="display_account_level" required="True" />
<field name="fiscalyear_id"/>
<field name="tot_check" colspan="4"/>
<!--
<button name="print_report" string="Print" type="object"/>
-->
<field name="tot_check" />
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="account_financial_report_action">
<field name="name">Account Financial Report</field>
<field name="res_model">afr</field>
@ -142,7 +105,6 @@
<field name="view_mode">tree,form</field>
<field name="help">Create your own Customized Account Financial Reports, in here, you will be able to create Templates for generating Two types of Reports: Balance Sheets and Income Statements, incluiding Analytic Ledgers. Besides, you can select within a set of choices to get better detailed report, be it that you ask it by one or several periods, by months (12 Months + YTD), or by quarters (4QRT's + YTD). Even you can get your reports in currencies other than the one set on your company.</field>
</record>
<menuitem
id="account_financial_report_menu"
@ -152,6 +114,5 @@
groups="account_financial_report.group_afreport"
action="account_financial_report_action"/>
</data>
</openerp>

24
account_financial_report/view/report.xml

@ -45,6 +45,28 @@
string="Analytic Ledger"
header="False"
/>
<report
auto="False"
id="partner_balance_report"
menu="True"
model="wizard.report"
name="afr.partner.balance"
rml="account_financial_report/report/balance_full_4_cols_partner_balance.rml"
string="Partner Balance"
header="False"
/>
<report
auto="False"
id="journal_ledger_report"
menu="True"
model="wizard.report"
name="afr.journal.ledger"
rml="account_financial_report/report/balance_full_4_cols_journal_ledger.rml"
string="journal Ledger"
header="False"
/>
<report
auto="False"
@ -78,5 +100,7 @@
string="Balance 13 Columnas"
header="False"
/>
</data>
</openerp>

100
account_financial_report/view/wizard.xml

@ -7,47 +7,62 @@
<field name="model">wizard.report</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Account Financial Report">
<group colspan="4">
<group colspan="2">
<separator string="Company Info" colspan="4"/>
<field name="company_id" on_change='onchange_company_id(company_id)' colspan="4"/>
<form string="Account Financial Report" version="7.0">
<header>
<button
name="print_report"
string="Print"
type="object"
class="oe_highlight" />
or
<button
type='special'
special='cancel'
string='_Cancel'
class="oe_link" />
</header>
<h2><label for="afr_id"/></h2>
<field name="afr_id" on_change='onchange_afr_id(afr_id)' nolabel="1"/>
<group>
<group string="Company Info">
<label for="company_id"/>
<field name="company_id" on_change='onchange_company_id(company_id)' nolabel="1"/>
<field name="currency_id"
domain="[('company_id','=',company_id)]"
attrs="{'readonly':[('analytic_ledger','=',True)]}"
colspan="4"/>
attrs="{'readonly':[('analytic_ledger','=',True)]}"/>
</group>
<group colspan="2">
<separator string="Report Info" colspan="4"/>
<field name="afr_id" on_change='onchange_afr_id(afr_id)' colspan="4"/>
<group string="Report Info">
<field
name="inf_type"
colspan="4"
on_change='onchange_inf_type(inf_type)'
/>
<field name="columns" on_change='onchange_columns(columns,fiscalyear,periods)' colspan="4"/>
<field name="analytic_ledger" colspan="4"
<field name="columns" on_change='onchange_columns(columns,fiscalyear,periods)'/>
<field name="analytic_ledger"
attrs="{'readonly':['|',('columns','!=','four'),('inf_type','!=','BS')],}"
on_change='onchange_analytic_ledger(company_id,analytic_ledger)'
/>
<field name="journal_ledger"
attrs="{'readonly':['|',('columns','!=','four'),('inf_type','!=','BS')],}"
/>
<field name="partner_balance"
attrs="{'readonly':['|',('columns','!=','four'),('inf_type','!=','BS')],}"
/>
</group>
</group>
<group colspan='4'>
<group colspan="2">
<separator string="Accounts Info" colspan="4"/>
<field name="display_account" required="True" colspan="4"/>
<field name="display_account_level" required="True" colspan="4"/>
<group>
<group string="Accounts Info">
<field name="display_account" required="True" />
<field name="display_account_level" required="True" />
<field name="target_move"/>
</group>
<group colspan="2">
<separator string="FiscalYear Info" colspan="4"/>
<group string="FiscalYear Info">
<field name="fiscalyear" on_change='onchange_columns(columns,fiscalyear,periods)' domain="[('company_id','=',company_id)]"/>
<newline/>
</group>
</group>
<group colspan='4'>
<group colspan="1">
<separator string="Accounts to Include" colspan="4"/>
<field name="account_list" nolabel="1" colspan="4" domain="[('company_id','=',company_id)]">
<group >
<group string="Accounts to Include">
<field name="account_list" nolabel="1" domain="[('company_id','=',company_id)]">
<tree>
<field name='code'/>
<field name='name'/>
@ -56,16 +71,12 @@
</tree>
</field>
</group>
<group colspan="1">
<separator string="Periods to Include" colspan="4"/>
<group string="Periods to Include">
<field
name="periods"
colspan="4"
nolabel="1"
domain="[('fiscalyear_id','=',fiscalyear),('special','=',False),('company_id','=',company_id)]"
attrs="{'readonly':[('columns','in',('qtr','thirteen'))],}"
>
attrs="{'readonly':[('columns','in',('qtr','thirteen'))],}">
<tree>
<field name='code'/>
<field name='name'/>
@ -74,34 +85,19 @@
</field>
</group>
</group>
<group colspan='4'>
<separator string="Account's Sign Conventions" colspan="4"/>
<group string="Account's Sign Conventions">
<label string="Please check the [ Account's Sign on Reports ] Section in the Company"/>
</group>
<group colspan='4' col='4'>
<group colspan="2">
<separator string="Total" colspan="4"/>
<field name="tot_check" colspan="4"/>
<field name="lab_str" colspan="4" attrs="{'required':[('tot_check','=',True)], 'readonly':[('tot_check','=',False)],}" />
<group>
<group string="Total" >
<field name="tot_check" />
<field name="lab_str" attrs="{'required':[('tot_check','=',True)], 'readonly':[('tot_check','=',False)],}" />
</group>
<group colspan="2">
<separator string="" colspan="4"/>
<button
name="print_report"
string="Print"
type="object"
icon='gtk-print'/>
<button
type='special'
special='cancel'
string='_Cancel'
icon='gtk-cancel'
/>
<group string=" " >
</group>
</group>
</form>
</field>
</record>
@ -112,7 +108,7 @@
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="wizard_report_view"/>
<field name="target">new</field>
<field name="target">inline</field>
</record>

2
account_financial_report/wizard/__init__.py

@ -3,7 +3,7 @@
# Module Writen to OpenERP, Open Source Management Solution
# Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>).
# All Rights Reserved
###############Credits######################################################
# Credits######################################################
# Coded by: Humberto Arocha humberto@openerp.com.ve
# Angelica Barrios angelicaisabelb@gmail.com
# Jordi Esteve <jesteve@zikzakmedia.com>

234
account_financial_report/wizard/wizard.py

@ -3,7 +3,7 @@
# Module Writen to OpenERP, Open Source Management Solution
# Copyright (C) OpenERP Venezuela (<http://openerp.com.ve>).
# All Rights Reserved
###############Credits######################################################
# Credits######################################################
# Coded by: Humberto Arocha humberto@openerp.com.ve
# Angelica Barrios angelicaisabelb@gmail.com
# Jordi Esteve <jesteve@zikzakmedia.com>
@ -26,138 +26,161 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##############################################################################
from osv import osv,fields
from osv import osv, fields
import pooler
import time
from tools.translate import _
class wizard_report(osv.osv_memory):
_name = "wizard.report"
_columns = {
'afr_id': fields.many2one('afr','Custom Report', help='If you have already set a Custom Report, Select it Here.'),
'company_id': fields.many2one('res.company','Company',required=True),
'afr_id': fields.many2one('afr', 'Custom Report', help='If you have already set a Custom Report, Select it Here.'),
'company_id': fields.many2one('res.company', 'Company', required=True),
'currency_id': fields.many2one('res.currency', 'Currency', help="Currency at which this report will be expressed. If not selected will be used the one set in the company"),
'inf_type': fields.selection([('BS','Balance Sheet'),('IS','Income Statement')],'Type',required=True),
'columns': fields.selection([('one','End. Balance'),('two','Debit | Credit'), ('four','Initial | Debit | Credit | YTD'), ('five','Initial | Debit | Credit | Period | YTD'),('qtr',"4 QTR's | YTD"),('thirteen','12 Months | YTD')],'Columns',required=True),
'display_account': fields.selection([('all','All Accounts'),('bal', 'With Balance'),('mov','With movements'),('bal_mov','With Balance / Movements')],'Display accounts'),
'display_account_level': fields.integer('Up to level',help='Display accounts up to this level (0 to show all)'),
'account_list': fields.many2many ('account.account','rel_wizard_account','account_list','account_id','Root accounts',required=True),
'fiscalyear': fields.many2one('account.fiscalyear','Fiscal year',help='Fiscal Year for this report',required=True),
'periods': fields.many2many('account.period','rel_wizard_period','wizard_id','period_id','Periods',help='All periods in the fiscal year if empty'),
'inf_type': fields.selection([('BS', 'Balance Sheet'), ('IS', 'Income Statement')], 'Type', required=True),
'columns': fields.selection([('one', 'End. Balance'), ('two', 'Debit | Credit'), ('four', 'Initial | Debit | Credit | YTD'), ('five', 'Initial | Debit | Credit | Period | YTD'), ('qtr', "4 QTR's | YTD"), ('thirteen', '12 Months | YTD')], 'Columns', required=True),
'display_account': fields.selection([('all', 'All Accounts'), ('bal', 'With Balance'), ('mov', 'With movements'), ('bal_mov', 'With Balance / Movements')], 'Display accounts'),
'display_account_level': fields.integer('Up to level', help='Display accounts up to this level (0 to show all)'),
'account_list': fields.many2many('account.account', 'rel_wizard_account', 'account_list', 'account_id', 'Root accounts', required=True),
'fiscalyear': fields.many2one('account.fiscalyear', 'Fiscal year', help='Fiscal Year for this report', required=True),
'periods': fields.many2many('account.period', 'rel_wizard_period', 'wizard_id', 'period_id', 'Periods', help='All periods in the fiscal year if empty'),
'analytic_ledger': fields.boolean('Analytic Ledger', help="Allows to Generate an Analytic Ledger for accounts with moves. Available when Balance Sheet and 'Initial | Debit | Credit | YTD' are selected"),
'journal_ledger': fields.boolean('Journal Ledger', help="Allows to Generate an Journal Ledger for accounts with moves. Available when Balance Sheet and 'Initial | Debit | Credit | YTD' are selected"),
'partner_balance': fields.boolean('Partner Balance', help="Allows to "
"Generate a Partner Balance for accounts with moves. Available when "
"Balance Sheet and 'Initial | Debit | Credit | YTD' are selected"),
'tot_check': fields.boolean('Summarize?', help='Checking will add a new line at the end of the Report which will Summarize Columns in Report'),
'lab_str': fields.char('Description', help='Description for the Summary', size= 128),
'lab_str': fields.char('Description', help='Description for the Summary', size=128),
'target_move': fields.selection([('posted', 'All Posted Entries'),
('all', 'All Entries'),
], 'Entries to Include', required=True,
help='Print All Accounting Entries or just Posted Accounting Entries'),
#~ Deprecated fields
'filter': fields.selection([('bydate','By Date'),('byperiod','By Period'),('all','By Date and Period'),('none','No Filter')],'Date/Period Filter'),
'filter': fields.selection([('bydate', 'By Date'), ('byperiod', 'By Period'), ('all', 'By Date and Period'), ('none', 'No Filter')], 'Date/Period Filter'),
'date_to': fields.date('End date'),
'date_from': fields.date('Start date'),
}
_defaults = {
'date_from': lambda *a: time.strftime('%Y-%m-%d'),
'date_to': lambda *a: time.strftime('%Y-%m-%d'),
'filter': lambda *a:'byperiod',
'filter': lambda *a: 'byperiod',
'display_account_level': lambda *a: 0,
'inf_type': lambda *a:'BS',
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.invoice', context=c),
'inf_type': lambda *a: 'BS',
'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.invoice', context=c),
'fiscalyear': lambda self, cr, uid, c: self.pool.get('account.fiscalyear').find(cr, uid),
'display_account': lambda *a:'bal_mov',
'columns': lambda *a:'five',
'display_account': lambda *a: 'bal_mov',
'columns': lambda *a: 'five',
'target_move': 'posted',
}
def onchange_inf_type(self,cr,uid,ids,inf_type,context=None):
def onchange_inf_type(self, cr, uid, ids, inf_type, context=None):
if context is None:
context = {}
res = {'value':{}}
res = {'value': {}}
if inf_type != 'BS':
res['value'].update({'analytic_ledger':False})
res['value'].update({'analytic_ledger': False})
return res
def onchange_columns(self,cr,uid,ids,columns,fiscalyear,periods,context=None):
def onchange_columns(self, cr, uid, ids, columns, fiscalyear, periods, context=None):
if context is None:
context = {}
res = {'value':{}}
res = {'value': {}}
p_obj = self.pool.get("account.period")
all_periods = p_obj.search(cr,uid,[('fiscalyear_id','=',fiscalyear),('special','=',False)],context=context)
all_periods = p_obj.search(cr, uid, [('fiscalyear_id', '=', fiscalyear), (
'special', '=', False)], context=context)
s = set(periods[0][2])
t = set(all_periods)
go = periods[0][2] and s.issubset(t) or False
if columns != 'four':
res['value'].update({'analytic_ledger':False})
res['value'].update({'analytic_ledger': False})
if columns in ('qtr', 'thirteen'):
res['value'].update({'periods':all_periods})
res['value'].update({'periods': all_periods})
else:
if go:
res['value'].update({'periods':periods})
res['value'].update({'periods': periods})
else:
res['value'].update({'periods':[]})
res['value'].update({'periods': []})
return res
def onchange_analytic_ledger(self,cr,uid,ids,company_id,analytic_ledger,context=None):
def onchange_analytic_ledger(self, cr, uid, ids, company_id, analytic_ledger, context=None):
if context is None:
context = {}
context['company_id']=company_id
res = {'value':{}}
cur_id = self.pool.get('res.company').browse(cr,uid,company_id,context=context).currency_id.id
res['value'].update({'currency_id':cur_id})
context['company_id'] = company_id
res = {'value': {}}
cur_id = self.pool.get('res.company').browse(
cr, uid, company_id, context=context).currency_id.id
res['value'].update({'currency_id': cur_id})
return res
def onchange_company_id(self,cr,uid,ids,company_id,context=None):
def onchange_company_id(self, cr, uid, ids, company_id, context=None):
if context is None:
context = {}
context['company_id']=company_id
res = {'value':{}}
context['company_id'] = company_id
res = {'value': {}}
if not company_id:
return res
cur_id = self.pool.get('res.company').browse(cr,uid,company_id,context=context).currency_id.id
fy_id = self.pool.get('account.fiscalyear').find(cr, uid,context=context)
res['value'].update({'fiscalyear':fy_id})
res['value'].update({'currency_id':cur_id})
res['value'].update({'account_list':[]})
res['value'].update({'periods':[]})
res['value'].update({'afr_id':None})
cur_id = self.pool.get('res.company').browse(
cr, uid, company_id, context=context).currency_id.id
fy_id = self.pool.get('account.fiscalyear').find(
cr, uid, context=context)
res['value'].update({'fiscalyear': fy_id})
res['value'].update({'currency_id': cur_id})
res['value'].update({'account_list': []})
res['value'].update({'periods': []})
res['value'].update({'afr_id': None})
return res
def onchange_afr_id(self,cr,uid,ids,afr_id,context=None):
def onchange_afr_id(self, cr, uid, ids, afr_id, context=None):
if context is None:
context = {}
res = {'value':{}}
if not afr_id: return res
afr_brw = self.pool.get('afr').browse(cr,uid,afr_id,context=context)
res['value'].update({'currency_id':afr_brw.currency_id and afr_brw.currency_id.id or afr_brw.company_id.currency_id.id})
res['value'].update({'inf_type':afr_brw.inf_type or 'BS'})
res['value'].update({'columns':afr_brw.columns or 'five'})
res['value'].update({'display_account':afr_brw.display_account or 'bal_mov'})
res['value'].update({'display_account_level':afr_brw.display_account_level or 0})
res['value'].update({'fiscalyear':afr_brw.fiscalyear_id and afr_brw.fiscalyear_id.id})
res['value'].update({'account_list':[acc.id for acc in afr_brw.account_ids]})
res['value'].update({'periods':[p.id for p in afr_brw.period_ids]})
res['value'].update({'analytic_ledger':afr_brw.analytic_ledger or False})
res['value'].update({'tot_check':afr_brw.tot_check or False})
res['value'].update({'lab_str':afr_brw.lab_str or _('Write a Description for your Summary Total')})
res = {'value': {}}
if not afr_id:
return res
afr_brw = self.pool.get('afr').browse(cr, uid, afr_id, context=context)
res['value'].update({
'currency_id': afr_brw.currency_id and afr_brw.currency_id.id or afr_brw.company_id.currency_id.id})
res['value'].update({'inf_type': afr_brw.inf_type or 'BS'})
res['value'].update({'columns': afr_brw.columns or 'five'})
res['value'].update({
'display_account': afr_brw.display_account or 'bal_mov'})
res['value'].update({
'display_account_level': afr_brw.display_account_level or 0})
res['value'].update({
'fiscalyear': afr_brw.fiscalyear_id and afr_brw.fiscalyear_id.id})
res['value'].update({'account_list': [
acc.id for acc in afr_brw.account_ids]})
res['value'].update({'periods': [p.id for p in afr_brw.period_ids]})
res['value'].update({
'analytic_ledger': afr_brw.analytic_ledger or False})
res['value'].update({'tot_check': afr_brw.tot_check or False})
res['value'].update({'lab_str': afr_brw.lab_str or _(
'Write a Description for your Summary Total')})
return res
def _get_defaults(self, cr, uid, data, context=None):
if context is None:
context = {}
user = pooler.get_pool(cr.dbname).get('res.users').browse(cr, uid, uid, context=context)
user = pooler.get_pool(cr.dbname).get(
'res.users').browse(cr, uid, uid, context=context)
if user.company_id:
company_id = user.company_id.id
company_id = user.company_id.id
else:
company_id = pooler.get_pool(cr.dbname).get('res.company').search(cr, uid, [('parent_id', '=', False)])[0]
company_id = pooler.get_pool(cr.dbname).get(
'res.company').search(cr, uid, [('parent_id', '=', False)])[0]
data['form']['company_id'] = company_id
fiscalyear_obj = pooler.get_pool(cr.dbname).get('account.fiscalyear')
data['form']['fiscalyear'] = fiscalyear_obj.find(cr, uid)
@ -168,49 +191,51 @@ class wizard_report(osv.osv_memory):
if context is None:
context = {}
if data['form']['filter'] == 'bydate':
self._check_date(cr, uid, data, context)
self._check_date(cr, uid, data, context)
return data['form']
def _check_date(self, cr, uid, data, context=None):
if context is None:
context = {}
if data['form']['date_from'] > data['form']['date_to']:
raise osv.except_osv(_('Error !'),('La fecha final debe ser mayor a la inicial'))
raise osv.except_osv(_('Error !'), (
'La fecha final debe ser mayor a la inicial'))
sql = """SELECT f.id, f.date_start, f.date_stop
FROM account_fiscalyear f
WHERE '%s' = f.id """%(data['form']['fiscalyear'])
WHERE '%s' = f.id """ % (data['form']['fiscalyear'])
cr.execute(sql)
res = cr.dictfetchall()
if res:
if (data['form']['date_to'] > res[0]['date_stop'] or data['form']['date_from'] < res[0]['date_start']):
raise osv.except_osv(_('UserError'),'Las fechas deben estar entre %s y %s' % (res[0]['date_start'], res[0]['date_stop']))
raise osv.except_osv(_('UserError'), 'Las fechas deben estar entre %s y %s' % (
res[0]['date_start'], res[0]['date_stop']))
else:
return 'report'
else:
raise osv.except_osv(_('UserError'),'No existe periodo fiscal')
raise osv.except_osv(_('UserError'), 'No existe periodo fiscal')
def period_span(self, cr, uid, ids, fy_id, context=None):
if context is None:
context = {}
ap_obj = self.pool.get('account.period')
fy_id = fy_id and type(fy_id) in (list,tuple) and fy_id[0] or fy_id
fy_id = fy_id and type(fy_id) in (list, tuple) and fy_id[0] or fy_id
if not ids:
#~ No hay periodos
return ap_obj.search(cr, uid, [('fiscalyear_id','=',fy_id),('special','=',False)],order='date_start asc')
return ap_obj.search(cr, uid, [('fiscalyear_id', '=', fy_id), ('special', '=', False)], order='date_start asc')
ap_brws = ap_obj.browse(cr, uid, ids, context=context)
date_start = min([period.date_start for period in ap_brws])
date_stop = max([period.date_stop for period in ap_brws])
return ap_obj.search(cr, uid, [('fiscalyear_id','=',fy_id),('special','=',False),('date_start','>=',date_start),('date_stop','<=',date_stop)],order='date_start asc')
return ap_obj.search(cr, uid, [('fiscalyear_id', '=', fy_id), ('special', '=', False), ('date_start', '>=', date_start), ('date_stop', '<=', date_stop)], order='date_start asc')
def print_report(self, cr, uid, ids, data, context=None):
if context is None:
context = {}
data = {}
data['ids'] = context.get('active_ids', [])
data['model'] = context.get('active_model', 'ir.ui.menu')
@ -220,7 +245,8 @@ class wizard_report(osv.osv_memory):
del data['form']['date_from']
del data['form']['date_to']
data['form']['periods'] = self.period_span(cr, uid, data['form']['periods'], data['form']['fiscalyear'])
data['form']['periods'] = self.period_span(cr, uid, data[
'form']['periods'], data['form']['fiscalyear'])
elif data['form']['filter'] == 'bydate':
self._check_date(cr, uid, data)
@ -231,16 +257,18 @@ class wizard_report(osv.osv_memory):
del data['form']['periods']
else:
self._check_date(cr, uid, data)
lis2 = str(data['form']['periods']).replace("[","(").replace("]",")")
sqlmm = """select min(p.date_start) as inicio, max(p.date_stop) as fin
from account_period p
where p.id in %s"""%lis2
lis2 = str(data['form']['periods']).replace(
"[", "(").replace("]", ")")
sqlmm = """select min(p.date_start) as inicio, max(p.date_stop) as fin
from account_period p
where p.id in %s""" % lis2
cr.execute(sqlmm)
minmax = cr.dictfetchall()
if minmax:
if (data['form']['date_to'] < minmax[0]['inicio']) or (data['form']['date_from'] > minmax[0]['fin']):
raise osv.except_osv(_('Error !'),_('La interseccion entre el periodo y fecha es vacio'))
raise osv.except_osv(_('Error !'), _(
'La interseccion entre el periodo y fecha es vacio'))
if data['form']['columns'] == 'one':
name = 'afr.1cols'
if data['form']['columns'] == 'two':
@ -248,6 +276,10 @@ class wizard_report(osv.osv_memory):
if data['form']['columns'] == 'four':
if data['form']['analytic_ledger'] and data['form']['inf_type'] == 'BS':
name = 'afr.analytic.ledger'
elif data['form']['journal_ledger'] and data['form']['inf_type'] == 'BS':
name = 'afr.journal.ledger'
elif data['form']['partner_balance'] and data['form']['inf_type'] == 'BS':
name = 'afr.partner.balance'
else:
name = 'afr.4cols'
if data['form']['columns'] == 'five':
@ -256,7 +288,7 @@ class wizard_report(osv.osv_memory):
name = 'afr.qtrcols'
if data['form']['columns'] == 'thirteen':
name = 'afr.13cols'
return {'type': 'ir.actions.report.xml', 'report_name': name, 'datas': data}
wizard_report()
Loading…
Cancel
Save