341
343
if 'discount_move_ids' in context and context['discount_move_ids']:
342
344
move_line = context['discount_move_ids']
343
345
for move_line_id in move_line:
344
move_line_data = move_line_obj_memory.browse(cr, uid,move_line_id)
346
move_line_data = move_line_obj_memory.browse(cr, uid, move_line_id)
346
348
'debit': move_line_data.debit,
347
349
'credit':move_line_data.credit,
361
363
if amount_discount>0:
362
365
if 'account_id' in context and context['account_id']:
363
account_id = context['account_id']
364
if tax_total_amount>0:
365
amount_discount = (amount_discount - tax_total_amount)
367
amount_discount = amount_discount
369
'debit': direction * amount_discount<0 and - direction * amount_discount,
370
'credit': direction * amount_discount>0 and direction * amount_discount,
371
'account_id': account_id,
372
'partner_id': invoice.partner_id.id,
375
'currency_id':currency_id,
376
'amount_currency':amount_currency and direction * amount_currency or 0.0,
379
lines.append((0, 0, l4))
366
account_id = context['account_id']
367
# if tax_total_amount>0:
368
# amount_discount = (amount_discount - tax_total_amount)
370
# amount_discount = amount_discount
371
for line in invoice.invoice_line:
372
line_tax_amount = 0.0
375
for tax in tax_obj.compute(cr, uid, line.invoice_line_tax_id, line.price_subtotal, line.quantity, invoice.address_invoice_id.id, line.product_id, invoice.partner_id):
376
line_tax_amount = tax['amount']
378
line_total = line.price_subtotal + line_tax_amount
379
invoice_res_amount = invoice.amount_total
380
line_ratio = line_total / invoice_res_amount
382
discount = amount_discount * line_ratio
384
for tax in tax_obj.compute(cr, uid, line.invoice_line_tax_id, amount_discount, line.quantity, invoice.address_invoice_id.id, line.product_id, invoice.partner_id):
385
tax_amount = tax['amount']
388
'debit': direction * (discount - tax_amount)<0 and - direction * (discount - tax_amount),
389
'credit': direction * (discount - tax_amount)>0 and direction * (discount - tax_amount),
390
'account_id': account_id,
391
'partner_id': invoice.partner_id.id,
394
'currency_id':currency_id,
395
'amount_currency':amount_currency and direction * amount_currency or 0.0,
398
lines.append((0, 0, l4))
381
400
move = {'ref': ref, 'line_id': lines, 'journal_id': pay_journal_id, 'period_id': period_id, 'date': date}
382
401
move_id = move_obj.create(cr, uid, move, context=context)
403
422
account_invoice()
424
class account_bank_statement_reconcile(osv.osv):
425
_inherit='account.bank.statement.reconcile'
426
def name_get(self, cursor, user, ids, context=None):
428
res = super(account_bank_statement_reconcile, self).name_get(cursor, user, ids, context)
429
for o in self.browse(cursor, user, ids, context=context):
430
data = res[0][1] + o.name
431
res.append((o.id,data))
433
account_bank_statement_reconcile()
405
435
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: