Files
odoo-usability/mrp_usability/models/mrp_production.py
Alexis de Lattre 6d847dcbe9 mrp_usability: improve mrp reporting
Add product category in reporting
Pivot view by default instead of graph view
Default measure total qty instead of count
2024-04-08 10:34:37 +02:00

32 lines
1.2 KiB
Python

# Copyright 2015-2020 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class MrpProduction(models.Model):
_inherit = 'mrp.production'
# Allow to change the destination location until 'Mark as done'.
# Native behavior: it is only possible to change it in draft state.
location_dest_id = fields.Many2one(states={
'draft': [('readonly', False)], # native
'confirmed': [('readonly', False)], # added
'progress': [('readonly', False)], # added
'to_close': [('readonly', False)], # added
}, tracking=True)
# Add field product_categ_id for reporting only
product_categ_id = fields.Many2one(related='product_id.categ_id', store=True)
# Method used by the report, inherited in this module
@api.model
def get_stock_move_sold_out_report(self, move):
lines = move.active_move_line_ids
qty_in_lots = sum([x.product_uom_qty for x in lines])
diff = round(move.product_qty - qty_in_lots, 3)
if diff == 0.0:
return ""
return diff