Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
2 Risposte
27272 Visualizzazioni

Hi,

probably a novice question but here it is.

I need to create a relation on each invoice line to its corresponding sale order line creating a new field on the invoice line form. (Just the same way that delivery out lines are related to sale orders lines). Is it possible to do this easily?.

Thanks in advance.

Regards.

Avatar
Abbandona
Risposta migliore

hello,

You already have this:

Look on the sale.order.line model.

image description

  • invoice_lines: list of invoice lines linked to this sale.order.line
  • invoiced : if this sale.order.line has been invoiced

You need the reversed one from account.invoice.line ? Add this to your account.invoice.line model (not tested but should works):

'sale_order_lines': fields.many2many('sale.order.line', 'sale_order_line_invoice_rel', 'invoice_id', 'order_line_id', 'Sale Order  Lines', readonly=True)
Avatar
Abbandona
Autore Risposta migliore

Hi Nicolas,

thank you very much for your kind response but this is not exactly what i needed.

I meant one to one relation for each object (invoice_line_id --> sale_order_line_id).

Regards.

EDITED:

This is what i did (works for me but it's not very neat):

On account_invoice.py (account)

Add column in account_invoice_line:

'sale_order_line_id': fields.many2one('sale.order.line', 'Sales Order Line', help='Sale Order Line'),

On sale.py (sale)

Add column on _prepare_order_line_invoice_line function:

‘sale_order_line_id’: line.id,

That's it.

Regards.

Avatar
Abbandona

That's what Nicolas posted. sale_order_line_invoice_rel is what relate them. Of course it's not a 1:1 relation. It's a N:N relation.

Yes the rel between sale.order.line and account.invoice.line is not 1:1 by default, but you have the same behaviour as you need. If it works for you ok ,but I think it should be a many2many field as it is.

I change a typo error on my response.. if you look on the first record ou sale_order_lines (sale_order_lines[0]) you will find your record.

Autore

OK, thank you very much Nicolas.

No prob. Can you make your question as answered and check the good answer ?

Post correlati Risposte Visualizzazioni Attività
3
apr 15
9130
2
dic 18
6682
1
mag 16
4311
0
mar 15
3738
0
mar 15
4316