2016-07-21 5 views
0

Я пытаюсь распечатать счет-фактуру с адресом доставки и адресом фактуры в Odoo. Для доставки, я могу получить ссылку клиента из заказа клиента, используя «o.sale_id.client_order_ref». Это дает мне ошибку, когда я пытался «o.sale_id.partner_shipping_id».Печать счета Odoo с адресом доставки

Я думаю, что это потому, что счет-фактура требует sale_id с отношением many2one к sale.order. Есть ли другой способ вместо того, чтобы использовать sale_id для получения адреса доставки?

ответ

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 в этом методе. Тогда вы можете получить это в счете-фактуре.

+0

И наконец! Это уже какое-то время! Большое спасибо! –