diff --git a/addons/account_voucher/voucher.py b/addons/account_voucher/voucher.py index 1b36fbe153d..f0a4db96910 100644 --- a/addons/account_voucher/voucher.py +++ b/addons/account_voucher/voucher.py @@ -159,7 +159,7 @@ class account_voucher(osv.osv): 'amount': fields.float('Total', digits=(16, 2), required=True, readonly=True, states={'draft':[('readonly',False)]}), 'tax_amount':fields.float('Tax Amount', digits=(14,2), readonly=True, states={'draft':[('readonly',False)]}), 'reference': fields.char('Ref #', size=64, readonly=True, states={'draft':[('readonly',False)]}, help="Transaction reference number."), - 'number': fields.related('move_id', 'name', type="char", readonly=True, string='Number'), + 'number': fields.char('Number', size=32, readonly=True,), 'move_id':fields.many2one('account.move', 'Account Entry'), 'move_ids': fields.related('move_id','line_id', type='one2many', relation='account.move.line', string='Journal Items', readonly=True), 'partner_id':fields.many2one('res.partner', 'Partner', change_default=1, readonly=True, states={'draft':[('readonly',False)]}), @@ -180,10 +180,10 @@ class account_voucher(osv.osv): 'reference': _get_reference, 'narration':_get_narration, 'type':_get_type, - 'state': lambda *a: 'draft', - 'pay_now':lambda *a: 'pay_later', - 'name': lambda *a: '', - 'date' : lambda *a: time.strftime('%Y-%m-%d'), + 'state': 'draft', + 'pay_now': 'pay_later', + 'name': '', + 'date' : time.strftime('%Y-%m-%d'), 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.voucher',context=c), 'tax_id': _get_tax, } @@ -564,9 +564,8 @@ class account_voucher(osv.osv): for inv in self.browse(cr, uid, ids): if inv.move_id: continue - - if 'force_name' in context and context['force_name']: - name = context['force_name'] + if inv.number: + name = inv.number elif inv.journal_id.sequence_id: name = self.pool.get('ir.sequence').get_id(cr, uid, inv.journal_id.sequence_id.id) else: @@ -689,7 +688,8 @@ class account_voucher(osv.osv): self.write(cr, uid, [inv.id], { 'move_id': move_id, - 'state':'posted' + 'state': 'posted', + 'number': name, }) move_pool.post(cr, uid, [move_id], context={}) for rec_ids in rec_list_ids: @@ -837,7 +837,7 @@ class account_bank_statement(osv.osv): def create_move_from_st_line(self, cr, uid, st_line_id, company_currency_id, next_number, context=None): st_line = self.pool.get('account.bank.statement.line').browse(cr, uid, st_line_id, context=context) if st_line.voucher_id: - #self.pool.get('account.voucher').proforma_voucher(cr, uid, [st_line.voucher_id.id], context={'force_name': next_number}) + self.pool.get('account.voucher').write(cr, uid, [st_line.voucher_id.id], {'number': next_number}, context=context) wf_service = netsvc.LocalService("workflow") wf_service.trg_validate(uid, 'account.voucher', st_line.voucher_id.id, 'proforma_voucher', cr) return self.pool.get('account.move.line').write(cr, uid, [x.id for x in st_line.voucher_id.move_ids], {'statement_id': st_line.statement_id.id}, context=context)