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'