1

我尝试在帐户发票表单中显示两列:

  • 发票行总计,不含税

  • 总发票行,含税。

我知道可以将税收对象设置为包含或排除在产品价格中,但我看不到在发票表单中显示两者的方式。

我已经扩展 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'
    """

预先感谢您的帮助

胜利者

4

1 回答 1

0

找到的解决方案:

从 openerp 导入 api、模型、字段

导入 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) 
于 2015-04-03T07:40:10.063 回答