+ )
+ res = cr.fetchall()
+ rows = []
+ for line in res:
+ dico = {}
+ journal = journal_obj.browse(cr, uid, line[1], context=context)
+ dico['journal_code'] = journal.code[0:2]
+ if dico['journal_code'] in ('BQ', 'CB'):
+ dico['journal_code'] = 'OD'
+ 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]
+ dico['date'] = datetime.datetime(year, month, day).strftime(
+ "%d/%m/%Y")
+ account = account_obj.browse(cr, uid, line[2], context=context)
+ dico['account_code'] = account.code
+ preformatted_client_name = journal.name.split(" - ", 1)[1].upper().replace(' ', '')
+ for char in string.punctuation:
+ preformatted_client_name = preformatted_client_name.replace(
+ char, '')
+ dico['client_name'] = preformatted_client_name
+ if account.type in ("receivable", "payable"):
+ dico['compte_tiers'] = dico['client_name']
+ else:
+ dico['compte_tiers'] = ""
+ dico['general_analytic'] = "G"
+ dico['analytic_account'] = ""
+ dico['debit'] = line[3]
+ dico['credit'] = line[4]
+ 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)
+ account_type = account_type_obj.browse(
+ cr, uid, account.user_type.id, context=context)
+ if account_type.code in ("expense", "income"):
+ dico['general_analytic'] = "A"
+ dico['analytic_account'] = journal.code[2:]
+ 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
+ return rows