Se rendre au contenu
Menu
Cette question a été signalée
1 Répondre
4154 Vues

The scenario is we have 2 or more lines with the same product, same cost, same quantity so the total price also same.

now what we have, i create another invoice with the  previous quantity and previous amount. which means the previous invoice values is it's previous amount and quantity. Now my problem is if i create the invoice with the same product and cost and etc... as same. i can't get each line seperately because i can't differentiate the line with this scenario.

Note: With the different product my expectation working fine. but, same product it's not. 

My Code is:

@api.one
@api.depends
('invoice_id.former_invoice_id')
def _get_previous_qty(self):
if self.invoice_id.former_invoice_id:
lines = self.invoice_id.former_invoice_id.invoice_line_ids.filtered(lambda r: r.product_id.id == self.product_id.id and r.price_unit == self.price_unit)
        self.prev_qty = sum(lines.mapped('total_qty')) 

Any suggestions for me?

Avatar
Ignorer
Meilleure réponse

Hi,

Put if condition when you get two lines then you get last created line by its id in desc order.

or

Use sorted function 

 lines = self.invoice_id.former_invoice_id.invoice_line_ids.sorted()

and then if get len ids > 1 then select last id.

or

 You can put index or sequence in lines and use it to differentiate record.

https://www.odoo.com/apps/modules/10.0/order_line_serial_number/

Avatar
Ignorer
Publications associées Réponses Vues Activité
1
nov. 19
6061
2
mai 25
1214
1
avr. 25
3588
0
mars 24
1334
2
janv. 24
2779