Odoo发票打印与送货地址

时间:2016-07-21 22:46:11

标签: templates openerp odoo-9 odoo-view

我试图在Odoo打印包含送货地址和发票地址的发票。对于交货单,我可以使用' o.sale_id.client_order_ref'从销售订单中获取客户参考。当我尝试' o.sale_id.partner_shipping_id'时,它给了我一个错误。

我认为这是因为发票需要sale_id与sale.order有很多关系。有没有其他方法,而不是使用sale_id来获取送货地址?

1 个答案:

答案 0 :(得分:1)

发票与销售订单无关。您需要覆盖模型“account.invoice”并添加一个字段来保存“partner_shipping_id”,然后覆盖以下方法,该方法为发票创建提供值:

class sale_order_line_make_invoice(osv.Model):
    _inherit = 'sale.order.line.make.invoice'

    def _prepare_invoice(self, cr, uid, order, lines, context=None):
        vals={}
        vals = super(sale_order_line_make_invoice, self)._prepare_invoice(cr, uid, order, lines, context=context)
        vals.update({'partner_shipping_id':order.partner_shipping_id.id})
        return vals

在此方法中添加partner_shipping_id。 然后你可以在发票上得到这个。