我试图在Odoo打印包含送货地址和发票地址的发票。对于交货单,我可以使用' o.sale_id.client_order_ref'从销售订单中获取客户参考。当我尝试' o.sale_id.partner_shipping_id'时,它给了我一个错误。
我认为这是因为发票需要sale_id与sale.order有很多关系。有没有其他方法,而不是使用sale_id来获取送货地址?
答案 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。 然后你可以在发票上得到这个。