Odoo 8覆盖_amount_line [英] Odoo 8 override _amount_line

查看:127
本文介绍了Odoo 8覆盖_amount_line的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图覆盖sale.order.line模型中的_amount_line函数,以添加自定义逻辑.

I'm trying to override the _amount_line function in sale.order.line model in order to add custum logic.

这是我的代码:

class SaleOrderLine(models.Model):
    _inherit = 'sale.order.line'

    def _amount_line(self):
        tax_obj = self.env['account.tax']
        cur_obj = self.env['res.currency']
        res = {}
        for line in self:
            print line.tax_id
            price = self._calc_line_base_price(line)
            qty = self._calc_line_quantity(line)
            print" price:{} & quantity: {}".format(price,qty)
            taxes = tax_obj.compute_all(line.tax_id, price, qty,
                                        line.product_id,
                                        line.order_id.partner_id)
            cur = line.order_id.pricelist_id.currency_id
            res[line.id] = cur_obj.round(cur, taxes['total'])
        return res

    remise_palier = fields.Float('Remise palier (%)')
    remise_total = fields.Float('Remise totale (%)')
    price_subtotal = fields.Float(compute='_amount_line', string='Subtotal')

当我运行Odoo时,出现该错误:

When i run Odoo, i get that error:

推荐答案

您在调用calculate_all方法时犯了错误.

You have made mistake in compute_all method calling.

这种方法应该是这样的,

This method should be like this,

@api.multi
def _amount_line(self):
    tax_obj = self.env['account.tax']
    cur_obj = self.env['res.currency']
    for line in self:
        print line.tax_id
        price = self._calc_line_base_price(line)
        qty = self._calc_line_quantity(line)
        print" price:{} & quantity: {}".format(price,qty)
        taxes = line.tax_id.compute_all(price, qty, line.product_id, line.order_id.partner_id)        
        cur = line.order_id.pricelist_id.currency_id
        line.price_subtotal = cur.round(taxes['total'])

这篇关于Odoo 8覆盖_amount_line的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆