MRP BoM Component Mass Change

mrp_bom_component_mass_change
REPOSITORY
REPOSITORYOCA/manufacture
GIT
GIThttps://github.com/OCA/manufacture.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/manufacture/tree/17.0/mrp_bom_component_mass_change
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYManufacturing
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Andreu Orensanz
WEBSITE
WEBSITEhttps://github.com/OCA/manufacture
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:07
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mrp
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to replace or remove a component in several bills
of materials at once.

When a component must be changed, the wizard shows the bills of
materials where it is used (excluding, when replacing, those that already
contain the new component to avoid duplicated lines), lets the user
select the ones to update, and then either removes the component or
replaces it with another product (setting the new quantity) in a single
step.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
mrp_bom_component_mass_change_view_form mrp.bom.component.mass.change.form - mrp_bom_component_mass_change mrp.bom.component.mass.change form New
mrp_bom_form_view mrp.bom.form - mrp_bom_component_mass_change mrp.bom xpath Inherits mrp.mrp_bom_form_view
Models touched (2)

New fields (6)
  • bom_ids Many2many → mrp.bom
    compute='_compute_bom_ids' readonly=False store=True string='Bills of Materials' args: 'mrp.bom'
  • change_type Selection
    default='replace' required=True args: [('replace', 'Replace'), ('remove', 'Remove')]
  • component_id Many2one → product.product
    required=True string='Component to Change' args: 'product.product'
  • component_locked Boolean
    default=False
  • new_component_id Many2one → product.product
    string='New Component' args: 'product.product'
  • new_product_qty Float
    default=1.0 digits='Product Unit of Measure' string='New Quantity'
Public methods (2)
  • action_apply(self)
  • default_get(self, fields_list)
    @api.model

New fields (1)
  • component_in_multiple_boms Boolean
    compute='_compute_component_in_multiple_boms'
Public methods (1)
  • action_bom_component_mass_change(self)