Create pending service invoice lines when credit invoice

This commit is contained in:
Sebastián Marró 2018-10-26 18:28:45 -03:00
parent 93bf0a7986
commit bc35ca7084
1 changed files with 23 additions and 0 deletions

View File

@ -375,6 +375,29 @@ class CreditInvoice:
pool = Pool()
AccountInvoice = pool.get('account.invoice')
AccountInvoiceLine = pool.get('account.invoice.line')
Sale = pool.get('sale.sale')
SaleLine = pool.get('sale.line')
invoices = AccountInvoice.browse(Transaction().context['active_ids'])
if self.start.with_refund:
for invoice in invoices:
if invoice.type == 'out':
for line in invoice.lines:
if line.type == 'line':
new_lines = AccountInvoiceLine.copy([line],
default={
'invoice': None,
'invoice_type': invoice.type,
'party': invoice.party,
'origin':
str(line.origin)
if line.origin else None,
})
if isinstance(line.origin, SaleLine):
sale_line = SaleLine(line.origin.id)
Sale.write([sale_line.sale], {
'invoice_lines': [('add', new_lines)],
})
action, data = super(CreditInvoice, self).do_credit(action)