Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
1 Beantwoorden
4132 Weergaven

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
Annuleer
Beste antwoord

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
Annuleer
Gerelateerde posts Antwoorden Weergaven Activiteit
1
nov. 19
6053
2
mei 25
1199
1
apr. 25
3576
0
mrt. 24
1329
2
jan. 24
2768