Skip to Content
Menu
This question has been flagged
1 Reply
1870 Views

Hello,

I have a custom report and in this I would like to see data for the move lines whose stock.picking Status is Done.

Below is the code, can anyone help me add the picking state in the code.

Thanks


# -*- coding: utf-8 -*-
from odoo import api, models

class ReportSaleOrderLot(models.AbstractModel):
_name = 'report.abc_sale_order_expiry_lot'

@api.model
def get_report_values(self, docids, data=None):
sale_order_report = self.env['ir.actions.report']._get_report_from_name('abc_sale_order_expiry_lot')
order_id = self.env['sale.order'].browse(docids)
product_categ = []
for line in order_id.order_line:
for move in line.move_ids:
for move_line in move.move_line_ids:
product_categ.append(move_line.product_id.categ_id or '')
# product_categ = [line.product_id.categ_id for line in order_id.order_line]
return {
'doc_ids': docids,
'doc_model': sale_order_report.model,
'docs': order_id,
'product_categ': set(product_categ),​

Avatar
Discard
Best Answer

You can do it as follows:

for move in line.move_ids:
if move.picking_id.state == 'done':
for move_line in move.move_line_ids:
product_categ.append(move_line.product_id.categ_id or '')​

I hope it works for you

Avatar
Discard
Related Posts Replies Views Activity
0
Mar 15
3123
1
Nov 24
16350
0
Oct 24
155
0
Aug 24
164
0
Jan 24
728