From 9b83ffd26271bdc295170694d30a8762b443e3ed Mon Sep 17 00:00:00 2001 From: Noviat <> Date: Fri, 6 May 2011 10:43:27 +0200 Subject: [PATCH] [FIX] l10n_be: patched the intracom declaration with several bugfixes coming from Noviat. bzr revid: qdp-launchpad@openerp.com-20110506084327-c13pqvamxv27npvo --- addons/l10n_be/wizard/l10n_be_vat_intra.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/addons/l10n_be/wizard/l10n_be_vat_intra.py b/addons/l10n_be/wizard/l10n_be_vat_intra.py index da1a21d87ac..2596076c048 100644 --- a/addons/l10n_be/wizard/l10n_be_vat_intra.py +++ b/addons/l10n_be/wizard/l10n_be_vat_intra.py @@ -83,7 +83,7 @@ class partner_vat_intra(osv.osv_memory): else: data_cmpny = obj_user.browse(cursor, user, user).company_id data = self.read(cursor, user, ids)[0] - company_vat = data_cmpny.partner_id.vat + company_vat = data_cmpny.partner_id.vat.replace(' ','').upper() if not company_vat: raise osv.except_osv(_('Data Insufficient'),_('No VAT Number Associated with Main Company!')) @@ -123,13 +123,14 @@ class partner_vat_intra(osv.osv_memory): if not data['period_ids']: raise osv.except_osv(_('Data Insufficient!'),_('Please select at least one Period.')) + codes = ('44', '46L', '46T') cursor.execute('''SELECT p.name As partner_name, l.partner_id AS partner_id, p.vat AS vat, t.code AS intra_code, SUM(l.tax_amount) AS amount FROM account_move_line l LEFT JOIN account_tax_code t ON (l.tax_code_id = t.id) LEFT JOIN res_partner p ON (l.partner_id = p.id) - WHERE t.code IN ('44a','44b','88') + WHERE t.code IN %s AND l.period_id IN %s - GROUP BY p.name, l.partner_id, p.vat, t.code''', (tuple(data['period_ids']), )) + GROUP BY p.name, l.partner_id, p.vat, t.code''', (codes, tuple(data['period_ids']))) for row in cursor.dictfetchall(): if not row['vat']: p_list += str(row['partner_name']) + ', ' @@ -138,8 +139,9 @@ class partner_vat_intra(osv.osv_memory): amt = row['amount'] or 0 amt = int(round(amt * 100)) amount_sum += amt - intra_code = row['intra_code'] == '88' and 'L' or (row['intra_code'] == '44b' and 'T' or (row['intra_code'] == '44a' and 'S' or '')) - data_clientinfo +='\n\t\t\n\t\t\t\n\t\t\t\t'+row['vat'][2:] +'\n\t\t\t\t'+row['vat'][:2] +'\n\t\t\t\n\t\t\t'+str(amt) +'\n\t\t\t'+str(intra_code) +'\n\t\t' + intra_code = row['intra_code'] == '44' and 'S' or (row['intra_code'] == '46L' and 'L' or (row['intra_code'] == '46T' and 'T' or '')) +# intra_code = row['intra_code'] == '88' and 'L' or (row['intra_code'] == '44b' and 'T' or (row['intra_code'] == '44a' and 'S' or '')) + data_clientinfo +='\n\t\t\n\t\t\t\n\t\t\t\t'+row['vat'][2:].replace(' ','').upper() +'\n\t\t\t\t'+row['vat'][:2] +'\n\t\t\t\n\t\t\t'+str(amt) +'\n\t\t\t'+str(intra_code) +'\n\t\t' amount_sum = int(amount_sum) data_decl = '\n\t' data_file += data_decl + data_comp + str(data_period) + data_clientinfo + '\n\t\n'