Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
3014 Lượt xem

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),​

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 3 15
4503
1
thg 11 24
19242
0
thg 10 24
1992
0
thg 8 24
1773
0
thg 1 24
2251