Repository
OCA/manufacture · module folder · Try on Runboat
Module version
1.0.2
Category
Manufacturing
Folder size
2.13 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/manufacture
Last tracking update
2026-08-07 07:38:24
Authors
Odoo Community Association (OCA), ForgeFlow
Maintainers
Odoo Community Association (OCA), ForgeFlow
Committers
Pedro M. Baeza, mreficent, Lois Rilo, Yann Papouin, Weblate, OCA Transbot, OCA-git-bot, oca-travis, Chandresh Thakkar
Odoo dependencies
OCA/stock-logistics-warehouse:
odoo/odoo:
- mrp
- web
- bus
- uom
Python dependencies
None
System dependencies
None
Required by
None
Description

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
mrp_production_form_view mrp.production.form - mrp_production_request mrp.production form Inherits mrp.mrp_production_form_view
mrp_production_request_create_mo_view mrp.production.request.create.mo.form mrp.production.request.create.mo form New
view_mrp_production_request_form mrp.production.request.form mrp.production.request form New
view_mrp_production_request_search mrp.production.request.search mrp.production.request search New
view_mrp_production_request_tree mrp.production.request.tree mrp.production.request tree New
view_template_property_form product.template.form - mrp_production_request product.template form Inherits stock.view_template_property_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (8)

New fields (1)
  • mrp_production_request_id Many2one → mrp.production.request
    comodel_name='mrp.production.request' copy=False readonly=True string='Manufacturing Request'
Public methods (0)

No public methods.

New fields (28)
  • assigned_to Many2one → res.users
    comodel_name='res.users' domain=<expr> readonly=True states={'draft': [('readonly', False)]} string='Approver' track_visibility='onchange'
  • bom_id Many2one → mrp.bom
    comodel_name='mrp.bom' readonly=True required=True states={'draft': [('readonly', False)]} string='Bill of Materials'
  • category_uom_id Many2one
    related='product_uom_id.category_id'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • date_planned_finished Datetime
    copy=False default=fields.Datetime.now index=True states={'confirmed': [('readonly', False)]} args: 'Deadline End'
  • date_planned_start Datetime
    copy=False default=fields.Datetime.now index=True required=True states={'confirmed': [('readonly', False)]} args: 'Deadline Start'
  • description Text
    args: 'Description'
  • done_qty Float
    compute='_compute_manufactured_qty' digits='Product Unit of Measure' help='Sum of the quantities in all done Manufacturing Orders.' readonly=True store=True string='Quantity Done'
  • location_dest_id Many2one → stock.location
    comodel_name='stock.location' default=<expr> readonly=True required=True states={'draft': [('readonly', False)]} string='Finished Products Location'
  • location_src_id Many2one → stock.location
    comodel_name='stock.location' default=<expr> readonly=True required=True states={'draft': [('readonly', False)]} string='Raw Materials Location'
  • manufactured_qty Float
    compute='_compute_manufactured_qty' digits='Product Unit of Measure' help='Sum of the quantities in Manufacturing Orders (in any state).' readonly=True store=True string='Quantity in Manufacturing Orders'
  • move_dest_ids One2many → stock.move
    comodel_name='stock.move' inverse_name='created_mrp_production_request_id' string='Stock Movements of Produced Goods'
  • mrp_production_count Integer
    compute='_compute_mrp_production_count' string="MO's Count"
  • mrp_production_ids One2many → mrp.production
    comodel_name='mrp.production' inverse_name='mrp_production_request_id' readonly=True string='Manufacturing Orders'
  • name Char
    default='/' readonly=True required=True states={'draft': [('readonly', False)]}
  • orderpoint_id Many2one → stock.warehouse.orderpoint
    comodel_name='stock.warehouse.orderpoint' string='Orderpoint'
  • origin Char
    readonly=True states={'draft': [('readonly', False)]} string='Source Document'
  • pending_qty Float
    compute='_compute_manufactured_qty' digits='Product Unit of Measure' help='Quantity pending to add to Manufacturing Orders to fulfill the Manufacturing Request requirement.' readonly=True store=True string='Pending Quantity'
  • picking_type_id Many2one → stock.picking.type
    comodel_name='stock.picking.type' default=<expr> readonly=True required=True states={'draft': [('readonly', False)]} string='Picking Type'
  • procurement_group_id Many2one → procurement.group
    comodel_name='procurement.group' copy=False string='Procurement Group'
  • product_id Many2one → product.product
    comodel_name='product.product' domain=[('type', 'in', ['product', 'consu'])] readonly=True required=True states={'draft': [('readonly', False)]} string='Product' track_visibility='onchange'
  • product_qty Float
    default=1.0 digits='Product Unit of Measure' readonly=True required=True states={'draft': [('readonly', False)]} string='Required Quantity' track_visibility='onchange'
  • product_tmpl_id Many2one → product.template
    comodel_name='product.template' related='product_id.product_tmpl_id' string='Product Template'
  • product_uom_id Many2one → uom.uom
    comodel_name='uom.uom' domain="[('category_id', '=', category_uom_id)]" readonly=True states={'draft': [('readonly', False)]} string='Unit of Measure'
  • propagate Boolean
    help='If checked, when the previous move of the move (which was generated by a next procurement) is cancelled or split, the move generated by this move will too' args: 'Propagate cancel and split'
  • requested_by Many2one → res.users
    comodel_name='res.users' default=<expr> readonly=True required=True states={'draft': [('readonly', False)]} string='Requested by' track_visibility='onchange'
  • routing_id Many2one → mrp.routing
    comodel_name='mrp.routing' help='The list of operations (list of work centers) to produce the finished product. The routing is mainly used to compute work center costs during operations and to plan future loads on work centers based on production plannification.' on_delete='setnull' readonly=True states={'draft': [('readonly', False)]} string='Routing'
  • state Selection
    copy=False default='draft' index=True required=True selection=[('draft', 'Draft'), ('to_approve', 'To Be Approved'), ('approved', 'Approved'), ('done', 'Done'), ('cancel', 'Cancelled')] track_visibility='onchange'
Public methods (8)
  • action_view_mrp_productions(self)
  • button_approved(self)
  • button_cancel(self)
  • button_done(self)
  • button_draft(self)
  • button_to_approve(self)
  • create(self, vals)
    @api.model
    Add sequence if name is not defined and subscribe to the thread the user assigned to the request.
  • write(self, vals)

New fields (8)
  • bom_id Many2one
    readonly=True related='mrp_production_request_id.bom_id'
  • date_planned_finished Datetime
    required=True string='Deadline End'
  • date_planned_start Datetime
    required=True string='Deadline Start'
  • mo_qty Float
    digits='Product Unit of Measure' string='Quantity'
  • mrp_production_request_id Many2one → mrp.production.request
    comodel_name='mrp.production.request' readonly=True
  • pending_qty Float
    digits='Product Unit of Measure' related='mrp_production_request_id.pending_qty'
  • product_line_ids One2many → mrp.production.request.create.mo.line
    comodel_name='mrp.production.request.create.mo.line' inverse_name='mrp_production_request_create_mo_id' readonly=True string='Products needed'
  • product_uom_id Many2one
    related='mrp_production_request_id.product_uom_id'
Public methods (3)
  • compute_product_line_ids(self)
  • create_mo(self)
  • default_get(self, fields)
    @api.model

New fields (7)
  • available_qty Float
    compute='_compute_available_qty' digits='Product Unit of Measure' string='Quantity Available'
  • bottle_neck_factor Float
    compute='_compute_bottle_neck_factor'
  • location_id Many2one → stock.location
    comodel_name='stock.location' required=True
  • mrp_production_request_create_mo_id Many2one → mrp.production.request.create.mo
    comodel_name='mrp.production.request.create.mo'
  • product_id Many2one → product.product
    comodel_name='product.product' required=True string='Product'
  • product_qty Float
    digits='Product Unit of Measure' required=True string='Quantity Required'
  • product_uom_id Many2one → uom.uom
    comodel_name='uom.uom' required=True string='UoM'
Public methods (0)

No public methods.

New fields (1)
  • mrp_production_request Boolean
    help='Check this box to generate manufacturing request instead of generating manufacturing orders from procurement.' string='Manufacturing Request'
Public methods (0)

No public methods.

New fields (1)
  • created_mrp_production_request_id Many2one → mrp.production.request
    comodel_name='mrp.production.request' string='Created Production Request'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Status
Open migration PR — not merged yet for this version
CI status
green — ready to merge
Open since
421 days ago
Last activity
69 days ago
Repository
OCA/manufacture
Pull request
[18.0][MIG] mrp_production_request (#1552)