Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
2833 Zobrazení

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
Zrušit
Nejlepší odpověď

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
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
0
bře 15
4278
1
lis 24
18815
0
říj 24
1744
0
srp 24
1570
0
led 24
2055