diff --git a/addons/account_payment/wizard/account_payment_populate_statement.py b/addons/account_payment/wizard/account_payment_populate_statement.py index 6a049ff78a9..528d35751ef 100644 --- a/addons/account_payment/wizard/account_payment_populate_statement.py +++ b/addons/account_payment/wizard/account_payment_populate_statement.py @@ -56,9 +56,6 @@ class account_payment_populate_statement(osv.osv_memory): statement_obj = self.pool.get('account.bank.statement') statement_line_obj = self.pool.get('account.bank.statement.line') currency_obj = self.pool.get('res.currency') - voucher_obj = self.pool.get('account.voucher') - voucher_line_obj = self.pool.get('account.voucher.line') - move_line_obj = self.pool.get('account.move.line') if context is None: context = {} @@ -71,49 +68,24 @@ class account_payment_populate_statement(osv.osv_memory): for line in line_obj.browse(cr, uid, line_ids, context=context): ctx = context.copy() - ctx['date'] = line.ml_maturity_date # was value_date earlier,but this field exists no more now + ctx['date'] = line.ml_maturity_date # was value_date earlier,but this field exists no more now amount = currency_obj.compute(cr, uid, line.currency.id, statement.currency.id, line.amount_currency, context=ctx) - if not line.move_line_id.id: - continue - context = dict(context, move_line_ids=[line.move_line_id.id]) - result = voucher_obj.onchange_partner_id(cr, uid, [], partner_id=line.partner_id.id, journal_id=statement.journal_id.id, amount=abs(amount), currency_id= statement.currency.id, ttype='payment', date=line.ml_maturity_date, context=context) + st_line_vals = self._prepare_statement_line_vals(cr, uid, line, amount, statement, context=context) + st_line_id = statement_line_obj.create(cr, uid, st_line_vals, context=context) - if line.move_line_id: - voucher_res = { - 'type': 'payment', - 'name': line.name, - 'partner_id': line.partner_id.id, - 'journal_id': statement.journal_id.id, - 'account_id': result['value'].get('account_id', statement.journal_id.default_credit_account_id.id), - 'company_id': statement.company_id.id, - 'currency_id': statement.currency.id, - 'date': line.date or time.strftime('%Y-%m-%d'), - 'amount': abs(amount), - 'period_id': statement.period_id.id, - } - voucher_id = voucher_obj.create(cr, uid, voucher_res, context=context) - - voucher_line_dict = {} - for line_dict in result['value']['line_cr_ids'] + result['value']['line_dr_ids']: - move_line = move_line_obj.browse(cr, uid, line_dict['move_line_id'], context) - if line.move_line_id.move_id.id == move_line.move_id.id: - voucher_line_dict = line_dict - - if voucher_line_dict: - voucher_line_dict.update({'voucher_id': voucher_id}) - voucher_line_obj.create(cr, uid, voucher_line_dict, context=context) - st_line_id = statement_line_obj.create(cr, uid, { - 'name': line.order_id.reference or '?', - 'amount': - amount, - 'partner_id': line.partner_id.id, - 'statement_id': statement.id, - 'ref': line.communication, - }, context=context) - - line_obj.write(cr, uid, [line.id], {'bank_statement_line_id': st_line_id}) + line_obj.write(cr, uid, [line.id], {'bank_statement_line_id': st_line_id}) return {'type': 'ir.actions.act_window_close'} + def _prepare_statement_line_vals(self, cr, uid, payment_line, amount, + statement, context=None): + return { + 'name': payment_line.order_id.reference or '?', + 'amount':-amount, + 'partner_id': payment_line.partner_id.id, + 'statement_id': statement.id, + 'ref': payment_line.communication, + } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: