我尝试在帐户发票表单中显示两列:
总计发票行,不含税
总计发票行,含税。
我知道可以将税收对象设置为包含在产品价格中或排除在产品价格之外,但是我没有看到以发票形式显示的方式。
我已经将account.invoice.line扩展如下:
from openerp import api, models, fields
import openerp.addons.decimal_precision as dp
class cap_account_invoice_line(models.Model):
_inherit = 'account.invoice.line'
price_with_tax = fields.Float(string='Prix TTC', digits= dp.get_precision('Product Price'), store=True, readonly=True,)
"""
@api.multi
def button_reset_taxes(self):
#I guess I should override this method but i don't know how
#to calculate and load the total line with included tax
#into the field 'price_with_tax'
"""
提前感谢您的帮助
维克多
答案 0 :(得分:0)
找到解决方案:
来自openerp import api,models,fields
将openerp.addons.decimal_precision导入为dp
类AccountInvoiceLine(models.Model):
_inherit = 'account.invoice.line'
price_subtotal_tax = fields.Float(compute='_compute_price_tax', string=' Total including tax', digits= dp.get_precision('Product Price'), store=True)
@api.one
@api.depends('price_unit', 'discount', 'invoice_line_tax_id', 'quantity',
'product_id', 'invoice_id.partner_id', 'invoice_id.currency_id')
def _compute_price_tax(self):
price = self.price_unit * (1 - (self.discount or 0.0) / 100.0)
taxes = self.invoice_line_tax_id.compute_all(price, self.quantity, product=self.product_id,
partner=self.invoice_id.partner_id)
self.price_subtotal_tax = taxes['total_included']
if self.invoice_id:
self.price_subtotal_tax = self.invoice_id.currency_id.round(self.price_subtotal_tax)