[IMP] account_voucher: chagned the field number from fields.related into char, in order to allow to force the number of the voucher (like the bank statement) + corrected generation of entries from bank statement lines

bzr revid: qdp-launchpad@tinyerp.com-20100923173928-m4vgdm04huaudla5
This commit is contained in:
qdp-launchpad@tinyerp.com
2010-09-23 19:39:28 +02:00
parent 2b8f415543
commit 0b19d81e98
+10 -10
View File
@@ -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)