2016-07-21 16 views
0

Ich versuche, eine Rechnung mit Lieferadresse und Rechnungsadresse in Odoo zu drucken. Für einen Lieferschein kann ich eine Kundenreferenz aus dem Kundenauftrag mit 'o.sale_id.client_order_ref' abrufen. Es gibt mir einen Fehler, wenn ich 'o.sale_id.partner_shipping_id' versuchte.Odoo Rechnung drucken mit Lieferadresse

Ich denke, das ist, weil Rechnung sale_id mit many2one Beziehung zu sale.order benötigt. Gibt es einen anderen Weg, anstatt sale_id zu verwenden, um die Lieferadresse zu erhalten?

Antwort

1

Rechnung haben keine Beziehung mit Verkaufsauftrag. müssen Sie das Modell „account.invoice“ und fügen Sie ein Feld außer Kraft zu setzen, die „partner_shipping_id“ und dann überschreiben Sie die folgende Methode zu halten, die Werte für die Rechnungserstellung liefert:

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 

fügen Sie den partner_shipping_id in diesem Verfahren. Dann können Sie dies in Rechnung bekommen.

+0

Endlich! Ich suche das schon seit einiger Zeit !!! Danke vielmals! –