[FIX]: fix 2 changes

* reconcile by lines 
* by default lines does not load receivable amount

bzr revid: mga@tinyerp.com-20100823064316-ou2p5maql8v9ykyq
This commit is contained in:
Mantavya Gajjar
2010-08-23 12:13:16 +05:30
parent cd06408356
commit bf6f28068a
+22 -15
View File
@@ -375,6 +375,7 @@ class account_voucher(osv.osv):
ids = move_line_pool.search(cr, uid, [('account_id.type','=', account_type), ('reconcile_id','=', False), ('partner_id','=',partner_id), (search_type,'>',0)], context=context)
total = 0.0
for line in move_line_pool.browse(cr, uid, ids):
amount = 0.0
rs = move_line_pool.default_get(cr, uid, move_line_pool._columns.keys(), context=context)
rs.update({
'name':line.move_id.name,
@@ -382,18 +383,19 @@ class account_voucher(osv.osv):
'move_id':line.move_id.id,
'move_line_id':line.id,
'voucher_id':voucher_id,
'amount':amount,
})
amount = 0.0
if ttype == 'payment':
rs.update({
'account_id':line.move_id.partner_id.property_account_payable.id,
'amount':line.credit
#'amount':line.credit
})
amount = line.credit
elif ttype == 'receipt':
rs.update({
'account_id':line.move_id.partner_id.property_account_receivable.id,
'amount':line.debit
#'amount':line.debit
})
amount = line.debit
@@ -522,6 +524,7 @@ class account_voucher(osv.osv):
}
def action_move_line_create(self, cr, uid, ids, *args):
journal_pool = self.pool.get('account.journal')
sequence_pool = self.pool.get('ir.sequence')
move_pool = self.pool.get('account.move')
@@ -571,7 +574,7 @@ class account_voucher(osv.osv):
#create the first line manually
move_line = {
'name':inv.name,
'name':inv.name and inv.name or '/',
'debit':False,
'credit':False,
'account_id':inv.account_id.id,
@@ -602,17 +605,16 @@ class account_voucher(osv.osv):
line_ids = []
line_ids += [move_line_pool.create(cr, uid, move_line)]
rec_ids = []
for line in inv.payment_ids:
rec_ids = []
amount=0.0
if inv.type in ('payment'):
ref = line.ref
move_line = {
'name':line.name,
'name':line.name and line.name or '/',
'debit':False,
'credit':False,
'account_id':line.account_id.id or False,
@@ -650,16 +652,24 @@ class account_voucher(osv.osv):
move_line_id = move_line_pool.create(cr, uid, move_line)
line_ids += [move_line_id]
if inv.type in ('payment', 'receipt') and line.move_id:
rec_ids += [move_line_id]
for move_line in line.move_id.line_id:
if line.account_id.id == move_line.account_id.id:
rec_ids += [move_line.id]
# for move_line in line.move_id.line_id:
# if line.account_id.id == move_line.account_id.id:
if line.move_line_id:
rec_ids += [line.move_line_id.id]
if rec_ids:
cr.commit()
move_line_pool.reconcile_partial(cr, uid, rec_ids)
if inv.type in ('sale', 'purchase') and inv.tax_amount > 0:
name = '/'
if not inv.tax_id:
name = inv.tax_id.name
move_line = {
'name':inv.tax_id.name,
'name':name,
'account_id':False,
'move_id':move_id ,
'journal_id':inv.journal_id.id,
@@ -686,9 +696,6 @@ class account_voucher(osv.osv):
move_line_id = move_line_pool.create(cr, uid, move_line)
line_ids += [move_line_id]
if rec_ids:
move_line_pool.reconcile_partial(cr, uid, rec_ids)
rec = {
'move_id': move_id