_(u'Crédit'),
]
+ def format_row_sage(self, dico, numero_piece, side):
+ """docstring for format_row_sage"""
+ if side == "D":
+ debit = dico['debit']
+ credit = 0
+ if side == "C":
+ debit = 0
+ credit = dico['credit']
+ return [
+ dico['journal_code'],
+ numero_piece,
+ dico['date'],
+ dico['account_code'],
+ dico['compte_tiers'],
+ dico['general_analytic'],
+ dico['analytic_account'],
+ dico['client_name'],
+ debit,
+ credit,
+ ]
+
def _get_rows_sage(self, cr, uid, ids,
fiscalyear_id,
period_range_ids,
numero_piece = 0
prev_period = 0
prev_journal = 0
- req = """
+ cr.execute("""
select
aml.period_id,
aml.journal_id as journal_id,
period_id,
journal_id,
account_id
- """ % {
- 'period_ids': tuple(period_range_ids),
- 'journal_ids': tuple(journal_ids),
- 'account_ids': tuple(account_ids),
- }
- cr.execute(req)
+ """,
+ {
+ 'period_ids': tuple(period_range_ids),
+ 'journal_ids': tuple(journal_ids),
+ 'account_ids': tuple(account_ids),
+ }
+ )
res = cr.fetchall()
rows = []
for line in res:
+ dico = {}
journal = journal_obj.browse(cr, uid, line[1], context=context)
- journal_code = journal.code[0:2]
+ dico['journal_code'] = journal.code[0:2]
period = period_obj.browse(cr, uid, line[0], context=context)
if prev_journal != journal or prev_period != period:
numero_piece += 1
year = int(period.code[3:7])
month = int(period.code[0:2])
day = calendar.monthrange(year, month)[1]
- date = datetime.datetime(year, month, day).strftime("%d/%m/%Y")
+ dico['date'] = datetime.datetime(year, month, day).strftime("%d/%m/%Y")
account = account_obj.browse(cr, uid, line[2], context=context)
- account_code = account.code
- client_name = journal.name.split(" - ", 1)[1].upper()
+ dico['account_code'] = account.code
+ dico['client_name'] = journal.name.split(" - ", 1)[1].upper()
if account.type in ("receivable", "payable"):
- compte_tiers = client_name
+ dico['compte_tiers'] = dico['client_name']
else:
- compte_tiers = ""
- general_analytic = "G"
- analytic_account = ""
- debit = line[3]
- credit = line[4]
- if debit == credit:
+ dico['compte_tiers'] = ""
+ dico['general_analytic'] = "G"
+ dico['analytic_account'] = ""
+ dico['debit'] = line[3]
+ dico['credit'] = line[4]
+ if dico['debit'] == dico['credit']:
pass
else:
- if debit:
- rows.append([
- journal_code,
- numero_piece,
- date,
- account_code,
- compte_tiers,
- general_analytic,
- analytic_account,
- client_name,
- debit,
- 0,
- ])
- if credit:
- rows.append([
- journal_code,
- numero_piece,
- date,
- account_code,
- compte_tiers,
- general_analytic,
- analytic_account,
- client_name,
- 0,
- credit,
- ])
+ if dico['debit']:
+ row = self.format_row_sage(dico, numero_piece, "D")
+ rows.append(row)
+ if dico['credit']:
+ row = self.format_row_sage(dico, numero_piece, "C")
+ rows.append(row)
if account.type == "other":
- general_analytic = "A"
- analytic_account = journal.code[3:]
- if debit:
- rows.append([
- journal_code,
- numero_piece,
- date,
- account_code,
- compte_tiers,
- general_analytic,
- analytic_account,
- client_name,
- debit,
- 0,
- ])
- if credit:
- rows.append([
- journal_code,
- numero_piece,
- date,
- account_code,
- compte_tiers,
- general_analytic,
- analytic_account,
- client_name,
- 0,
- credit,
- ])
-
-
+ dico['general_analytic'] = "A"
+ dico['analytic_account'] = journal.code[3:]
+ if dico['debit']:
+ row = self.format_row_sage(dico, numero_piece, "D")
+ rows.append(row)
+ if dico['credit']:
+ row = self.format_row_sage(dico, numero_piece, "C")
+ rows.append(row)
prev_journal = journal
prev_period = period