[FIX] account, purchase: keep the default account of invoice line instead of replacing it to False (happens when the product/product categ is not correctly configured)

This commit is contained in:
qdp-odoo
2015-10-05 15:38:47 +02:00
parent 53b741351a
commit c5fd4c05b8
2 changed files with 9 additions and 5 deletions
+2 -1
View File
@@ -1110,7 +1110,8 @@ class AccountInvoiceLine(models.Model):
self.name = product.partner_ref
account = self.get_invoice_line_account(type, product, fpos, company)
self.account_id = account.id
if account:
self.account_id = account.id
self._set_taxes()
if type in ('in_invoice', 'in_refund'):
+7 -4
View File
@@ -42,22 +42,25 @@ class AccountInvoice(models.Model):
qty = line.qty_received - line.qty_invoiced
if float_compare(qty, 0.0, precision_rounding=line.product_uom.rounding) <= 0:
qty = 0.0
account = self.env['account.invoice.line'].get_invoice_line_account('in_invoice', line.product_id, self.purchase_id.fiscal_position_id, self.env.user.company_id)
taxes = line.taxes_id or line.product_id.supplier_taxes_id
invoice_line_tax_ids = self.purchase_id.fiscal_position_id.map_tax(taxes)
result.append({
data = {
'purchase_line_id': line.id,
'name': line.name,
'origin': self.purchase_id.origin,
'uom_id': line.product_uom.id,
'product_id': line.product_id.id,
'account_id': account.id,
'account_id': self.env['account.invoice.line'].with_context({'journal_id': self.journal_id.id, 'type': 'in_invoice'})._default_account(),
'price_unit': line.price_unit,
'quantity': qty,
'discount': 0.0,
'account_analytic_id': line.account_analytic_id.id,
'invoice_line_tax_ids': invoice_line_tax_ids.ids
})
}
account = self.env['account.invoice.line'].get_invoice_line_account('in_invoice', line.product_id, self.purchase_id.fiscal_position_id, self.env.user.company_id)
if account:
data['account_id'] = account.id
result.append(data)
self.invoice_line_ids = result
return {}