diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index ee9430a7334..3365a3d551e 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -80,6 +80,7 @@ module named account_voucherss 'wizard/account_aged_trial_balance_view.xml', 'wizard/account_compare_account_balance_report_view.xml', 'wizard/account_third_party_ledger.xml', + 'wizard/account_reconcile_view.xml', 'wizard/account_automatic_reconcile_view.xml', 'project/wizard/project_account_analytic_line_view.xml', 'account_end_fy.xml', @@ -93,6 +94,9 @@ module named account_voucherss 'project/wizard/account_analytic_check_view.xml', 'project/wizard/account_analytic_balance_report_view.xml', 'project/wizard/account_analytic_cost_ledger_view.xml', + 'project/wizard/account_analytic_inverted_balance_report.xml', + 'project/wizard/account_analytic_journal_report_view.xml', + 'project/wizard/account_analytic_cost_ledger_for_journal_report_view.xml', 'product_view.xml', 'account_assert_test.xml', 'process/statement_process.xml', @@ -117,4 +121,4 @@ module named account_voucherss 'active': False, 'certificate': '0080331923549', } -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 89268d68148..b9aa089942e 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -925,7 +925,7 @@ class account_move_line(osv.osv): 'account_id': vals.get('analytic_account_id', False), 'unit_amount': vals.get('quantity', 1.0), 'amount': vals.get('debit', 0.0) or vals.get('credit', 0.0), - 'general_account_id': vals['account_id'], + 'general_account_id': vals.get('account_id', False), 'journal_id': journal.analytic_journal_id.id, 'ref': vals.get('ref', False), })] diff --git a/addons/account/account_wizard.xml b/addons/account/account_wizard.xml index b80269ab6f1..8b093fb2310 100644 --- a/addons/account/account_wizard.xml +++ b/addons/account/account_wizard.xml @@ -47,7 +47,7 @@ - + diff --git a/addons/account/project/project_report.xml b/addons/account/project/project_report.xml index 71353ba282f..ae6aedeaab1 100644 --- a/addons/account/project/project_report.xml +++ b/addons/account/project/project_report.xml @@ -3,7 +3,7 @@ - + @@ -13,7 +13,7 @@ - + @@ -23,7 +23,7 @@ - + diff --git a/addons/account/project/report/quantity_cost_ledger.py b/addons/account/project/report/quantity_cost_ledger.py index c841c2131ab..12bea390eba 100644 --- a/addons/account/project/report/quantity_cost_ledger.py +++ b/addons/account/project/report/quantity_cost_ledger.py @@ -18,9 +18,9 @@ # along with this program. If not, see . # ############################################################################## +import time import pooler -import time from report import report_sxw class account_analytic_quantity_cost_ledger(report_sxw.rml_parse): @@ -35,7 +35,7 @@ class account_analytic_quantity_cost_ledger(report_sxw.rml_parse): }) def _lines_g(self, account_id, date1, date2, journals): - if not journals or not journals[0][2]: + if not journals: self.cr.execute("SELECT sum(aal.unit_amount) AS quantity, \ aa.code AS code, aa.name AS name, aa.id AS id \ FROM account_account AS aa, account_analytic_line AS aal \ @@ -45,7 +45,7 @@ class account_analytic_quantity_cost_ledger(report_sxw.rml_parse): GROUP BY aa.code, aa.name, aa.id ORDER BY aa.code", (account_id, date1, date2)) else: - journal_ids = journals[0][2] + journal_ids = journals self.cr.execute("SELECT sum(aal.unit_amount) AS quantity, \ aa.code AS code, aa.name AS name, aa.id AS id \ FROM account_account AS aa, account_analytic_line AS aal \ @@ -59,7 +59,7 @@ class account_analytic_quantity_cost_ledger(report_sxw.rml_parse): return res def _lines_a(self, general_account_id, account_id, date1, date2, journals): - if not journals or not journals[0][2]: + if not journals: self.cr.execute("SELECT aal.name AS name, aal.code AS code, \ aal.unit_amount AS quantity, aal.date AS date, \ aaj.code AS cj \ @@ -71,7 +71,7 @@ class account_analytic_quantity_cost_ledger(report_sxw.rml_parse): ORDER BY aal.date, aaj.code, aal.code", (general_account_id, account_id, date1, date2)) else: - journal_ids = journals[0][2] + journal_ids = journals self.cr.execute("SELECT aal.name AS name, aal.code AS code, \ aal.unit_amount AS quantity, aal.date AS date, \ aaj.code AS cj \ @@ -86,13 +86,13 @@ class account_analytic_quantity_cost_ledger(report_sxw.rml_parse): return res def _account_sum_quantity(self, account_id, date1, date2, journals): - if not journals or not journals[0][2]: + if not journals: self.cr.execute("SELECT sum(unit_amount) \ FROM account_analytic_line \ WHERE account_id=%s AND date>=%s AND date<=%s", (account_id, date1, date2)) else: - journal_ids = journals[0][2] + journal_ids = journals self.cr.execute("SELECT sum(unit_amount) \ FROM account_analytic_line \ WHERE account_id = %s AND date >= %s AND date <= %s \ @@ -104,17 +104,17 @@ class account_analytic_quantity_cost_ledger(report_sxw.rml_parse): ids = map(lambda x: x.id, accounts) if not len(ids): return 0.0 - if not journals or not journals[0][2]: + if not journals: self.cr.execute("SELECT sum(unit_amount) \ FROM account_analytic_line \ WHERE account_id =ANY(%s) AND date>=%s AND date<=%s", - (date1, date2,ids,)) + (ids, date1, date2,)) else: - journal_ids = journals[0][2] + journal_ids = journals self.cr.execute("SELECT sum(unit_amount) \ FROM account_analytic_line \ WHERE account_id =ANY(%s) AND date >= %s AND date <= %s \ - AND journal_id =ANY(%s)",(ids,date1, date2,journal_ids)) + AND journal_id =ANY(%s)",(ids, date1, date2, journal_ids)) return self.cr.fetchone()[0] or 0.0 report_sxw.report_sxw('report.account.analytic.account.quantity_cost_ledger', @@ -122,6 +122,4 @@ report_sxw.report_sxw('report.account.analytic.account.quantity_cost_ledger', 'addons/account/project/report/quantity_cost_ledger.rml', parser=account_analytic_quantity_cost_ledger, header=False) - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/account/project/wizard/__init__.py b/addons/account/project/wizard/__init__.py index 242350daf14..3e087c9daaf 100644 --- a/addons/account/project/wizard/__init__.py +++ b/addons/account/project/wizard/__init__.py @@ -19,14 +19,13 @@ # ############################################################################## -import wizard_account_analytic_journal_report +import account_analytic_journal_report import account_analytic_balance_report -import wizard_account_analytic_inverted_balance_report +import account_analytic_inverted_balance_report import account_analytic_cost_ledger_report -import wizard_account_analytic_cost_ledger_for_journal_report +import account_analytic_cost_ledger_for_journal_report import account_analytic_check import project_account_analytic_line import wizard_analytic_account_chart -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/account/project/wizard/account_analytic_cost_ledger_for_journal_report.py b/addons/account/project/wizard/account_analytic_cost_ledger_for_journal_report.py new file mode 100644 index 00000000000..73dd38533c4 --- /dev/null +++ b/addons/account/project/wizard/account_analytic_cost_ledger_for_journal_report.py @@ -0,0 +1,105 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +import time + +from osv import osv, fields + +class account_analytic_cost_ledger_journal_report(osv.osv_memory): + _name = 'account.analytic.cost.ledger.journal.report' + _description = 'Account Analytic Cost Ledger For Journal Report' + + _columns = { + 'date1': fields.date('Start of period', required=True), + 'date2': fields.date('End of period', required=True), + 'journal': fields.many2many('account.analytic.journal', 'ledger_journal_rel','ledger_id', 'Journal_id','Journals'), + } + + _defaults = { + 'date1':time.strftime('%Y-01-01'), + 'date2':time.strftime('%Y-%m-%d') + } + + def check_report(self, cr, uid, ids, context=None): + datas = {} + if context is None: + context = {} + data = self.read(cr, uid, ids)[0] + datas = { + 'ids': context.get('active_ids',[]), + 'model': 'account.analytic.account', + 'form': data + } + return { + 'type': 'ir.actions.report.xml', + 'report_name': 'account.analytic.account.quantity_cost_ledger', + 'datas': datas, + } + +account_analytic_cost_ledger_journal_report() +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + +#import time +#import wizard +# +#_form = ''' +#
+# +# +# +# +# +#''' +# +#_fields = { +# 'date1': {'string':'Start of period', 'type':'date', 'required':True, 'default': lambda *a: time.strftime('%Y-01-01')}, +# 'date2': {'string':'End of period', 'type':'date', 'required':True, 'default': lambda *a: time.strftime('%Y-%m-%d')}, +# 'journal': {'string':'Journals','type':'many2many', 'relation':'account.analytic.journal'}, +#} +# +# +#class wizard_report(wizard.interface): +# states = { +# 'init': { +# 'actions': [], +# 'result': { +# 'type': 'form', +# 'arch': _form, +# 'fields': _fields, +# 'state': [ +# ('end','Cancel'), +# ('report','Print') +# ] +# } +# }, +# 'report': { +# 'actions': [], +# 'result': { +# 'type': 'print', +# 'report': 'account.analytic.account.quantity_cost_ledger', +# 'state': 'end' +# } +# }, +# } +# +#wizard_report('account.analytic.account.quantity_cost_ledger.report') +# +## vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + diff --git a/addons/account/project/wizard/account_analytic_cost_ledger_for_journal_report_view.xml b/addons/account/project/wizard/account_analytic_cost_ledger_for_journal_report_view.xml new file mode 100644 index 00000000000..1ad974e8650 --- /dev/null +++ b/addons/account/project/wizard/account_analytic_cost_ledger_for_journal_report_view.xml @@ -0,0 +1,46 @@ + + + + + + Account Analytic Cost Ledger Journal + account.analytic.cost.ledger.journal.report + form + +
+ + + + + + + +