TIP: You can type at any time to perform a new search.
Manufacturing Operations Extension
mrp_operations_extension · OCA/manufacture
- Repository
- OCA/manufacture · module folder · Try on Runboat
- Module version
- 2.0.1
- Category
- Manufacturing
- Folder size
- 1.98 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- http://www.odoomrp.com
- Last tracking update
- 2026-08-07 07:03:07
- Authors
- Odoo Community Association (OCA), AvanzOSC, Serv. Tecnol. Avanzados - Pedro M. Baeza, Antiun IngenierÃa S.L., OdooMRP team
- Maintainers
- Odoo Community Association (OCA), AvanzOSC, Serv. Tecnol. Avanzados - Pedro M. Baeza, Antiun IngenierÃa S.L., OdooMRP team
- Committers
- Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), Weblate, OCA Transbot, OCA-git-bot, oca-travis, agaldona, Daniel-CA, oihane, Zambu, Oihane Crucelaegui
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- mrp_operations_project, mrp_operations_start_without_material, mrp_operations_time_control, mrp_production_real_cost
- Description
Code Analysis ⓘ
Views touched (20)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
finish_wo_form_view |
finish.wo.form.view | workcenter.line.finish | form | New |
mrp_bom_form_view_inh |
mrp.bom.form.inh | mrp.bom | form | Inherits mrp.mrp_bom_form_view |
mrp_production_form_inherit_view2 |
mrp.production.form.inherit2 | mrp.production | form | Inherits mrp_operations.mrp_production_form_inherit_view2 |
mrp_production_form_view_inh |
mrp.production.form.view.inh | mrp.production | form | Inherits mrp.mrp_production_form_view |
mrp_production_operation_buttons_form_view |
mrp.production.operation.buttons.form | mrp.production | form | Inherits mrp_operations.mrp_production_form_inherit_view |
mrp_production_product_form_view_inh |
mrp.production.product.form.view.inh | mrp.production.product.line | form | Inherits mrp.mrp_production_product_form_view |
mrp_production_product_tree_view_inh |
mrp.production.product.tree.view.inh | mrp.production.product.line | tree | Inherits mrp.mrp_production_product_tree_view |
mrp_production_workcenter_tree_view_inh_op_ext |
Workcenter line op ext | mrp.production.workcenter.line | tree | Inherits mrp_operations.mrp_production_workcenter_tree_view_inherit |
mrp_routing_workcenter_form_view_inh |
mrp.routing.workcenter.form.inh | mrp.routing.workcenter | form | Inherits mrp.mrp_routing_workcenter_form_view |
mrp_routing_workcenter_tree_view_inh |
mrp.routing.workcenter.tree.inh | mrp.routing.workcenter | tree | Inherits mrp.mrp_routing_workcenter_tree_view |
mrp_settings_form_view |
mrp.settings.form | mrp.config.settings | form | Inherits mrp.view_mrp_config |
mrp_workcenter_form_view_inh |
mrp.workcenter.form.inh | mrp.workcenter | form | Inherits mrp.mrp_workcenter_view |
operation_workcenter_form |
rountig.operation.tree | mrp.operation.workcenter | form | New |
operation_workcenter_tree |
rountig.operation.tree | mrp.operation.workcenter | tree | New |
rountig_operation_form |
routing.operation.form | mrp.routing.operation | form | New |
rountig_operation_tree |
routing.operation.tree | mrp.routing.operation | tree | New |
view_mrp_product_consume_wizard |
MRP Work Order Consume | mrp.work.order.produce | form | New |
view_mrp_product_produce_wizard |
MRP Work Order Produce | mrp.work.order.produce | form | New |
workcenter_line_future_calendar |
mrp.production.workcenter.line.future.calendar | mrp.production.workcenter.line | calendar | New |
workcenter_line_inh_form_view |
Workcenter line inh | mrp.production.workcenter.line | form | Inherits mrp_operations.mrp_production_workcenter_form_view_inherit |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (16)
New fields (0)
No new fields.
Public methods (1)-
change_prod_qty(self)@api.multiChanges the Quantity of Product.
New fields (0)
No new fields.
Public methods (1)-
onchange_routing_id(self)@api.multi@api.onchange('routing_id')
New fields (1)
-
operationMany2one → mrp.routing.workcentercomodel_name='mrp.routing.workcenter'string='Consumed in'
No public methods.
New fields (2)
-
cycle_by_bomBooleanstring='Calc Cycles by BoM Quantity' -
group_mrp_workersBooleanimplied_group='mrp_operations_extension.group_mrp_workers'string='Manage operators in work centers'
-
get_default_parameter_cycle_bom(self)@api.multi -
set_parameter_cycle_bom(self)@api.multi
New fields (11)
-
capacity_per_cycleFloatargs: 'Capacity per cycle' -
custom_dataBooleandefault=Falsehelp='If you mark this check, this means that the work center in this routing has different capacity data than the defined on the work center itself'string='Custom' -
defaultBooleanargs: 'Default' -
op_avg_costFloatdigits=dp.get_precision('Product Price')string='Operator average hourly cost' -
op_numberIntegerdefault='0' args: '# operators' -
routing_workcenterMany2one → mrp.routing.workcenterondelete='cascade'required=True args: 'mrp.routing.workcenter', 'Routing workcenter' -
time_cycleFloathelp='Duration for one cycle.'string='Time for 1 cycle (hours)' -
time_efficiencyFloatargs: 'Efficiency factor' -
time_startFloathelp='Duration for the setup.'string='Time before prod.' -
time_stopFloathelp='Duartion for the cleaning.'string='Time after prod.' -
workcenterMany2one → mrp.workcenterrequired=Truestring='Workcenter' args: 'mrp.workcenter'
-
onchange_workcenter(self)@api.one@api.onchange('workcenter', 'custom_data')
New fields (1)
-
work_produce_idMany2one → mrp.work.order.produceargs: 'mrp.work.order.produce'
No public methods.
New fields (2)
-
date_plannedDatetimestates={'draft': [('readonly', False)], 'confirmed': [('readonly', False)], 'ready': [('readonly', False)]} -
workcenter_linesOne2manyreadonly=False
-
action_confirm(self)@api.multi
New fields (2)
-
bom_lineMany2one → mrp.bom.linecomodel_name='mrp.bom.line' -
work_orderMany2one → mrp.production.workcenter.linecomodel_name='mrp.production.workcenter.line'string='Work Order'
No public methods.
New fields (9)
-
do_productionBooleanstring='Produce here' -
is_material_readyBooleancompute='_compute_is_material_ready'string='Materials Ready' -
move_linesOne2many → stock.movecomodel_name='stock.move'inverse_name='work_order'string='Moves' -
possible_workcentersMany2many → mrp.workcentercomodel_name='mrp.workcenter'compute='_compute_possible_workcenters' -
product_lineOne2many → mrp.production.product.linecomodel_name='mrp.production.product.line'inverse_name='work_order'string='Product Lines' -
routing_wc_lineMany2one → mrp.routing.workcentercomodel_name='mrp.routing.workcenter'string='Routing WC Line' -
time_startFloatstring='Time Start' -
time_stopFloatstring='Time Stop' -
workcenter_idMany2onedomain="[('id', 'in', possible_workcenters[0][2])]"
-
action_assign(self)@api.one -
action_start_working(self) -
button_done(self)@api.multi -
check_minor_sequence_operations(self)@api.multi -
check_operation_moves_state(self, states) -
create(self, vals)@api.model -
force_assign(self)@api.one
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (7)
-
codeCharargs: 'Code' -
descriptionTextargs: 'Description' -
nameCharrequired=True args: 'Name' -
op_numberIntegerdefault='0' args: '# operators' -
picking_type_idMany2one → stock.picking.typestring='Picking Type' args: 'stock.picking.type' -
stepsTextargs: 'Relevant Steps' -
workcentersMany2many → mrp.workcenterargs: 'mrp.workcenter', 'mrp_operation_workcenter_rel', 'operation', 'workcenter', 'Work centers'
No public methods.
New fields (5)
-
do_productionBooleanhelp='If enabled, the production and movement to stock of the final products will be done in this operation. There can be only one operation per route with this check marked.'string='Produce here' -
op_wc_linesOne2many → mrp.operation.workcenterstring='Possible work centers for this operation' args: 'mrp.operation.workcenter', 'routing_workcenter' -
operationMany2one → mrp.routing.operationstring='Operation' args: 'mrp.routing.operation' -
picking_type_idMany2one → stock.picking.typedomain=[('code', '=', 'outgoing')] args: 'stock.picking.type', 'Picking Type' -
previous_operations_finishedBooleanstring='Previous operations finished'
-
onchange_lines_default(self)@api.one@api.onchange('op_wc_lines') -
onchange_operation(self)@api.one@api.onchange('operation')
New fields (7)
-
consume_linesOne2many → mrp.product.produce.linestring='Products Consumed' args: 'mrp.product.produce.line', 'work_produce_id' -
final_productBooleanstring='Final Product to Stock' -
lot_idMany2one → stock.production.lotargs: 'stock.production.lot', 'Lot' -
modeSelectiondefault='consume'required=Truestring='Mode' args: [('consume_produce', 'Consume & Produce'), ('consume', 'Consume Only')] -
product_idMany2one → product.productdefault=_get_product_idstring='Product' args: 'product.product' -
product_qtyFloatdefault=_default_product_qtydigits=(12, 6)required=Truestring='Select Quantity' -
track_productionBooleandefault=_get_track args: 'Track production'
-
default_get(self, cr, uid, var_fields, context=None) -
do_consume(self, cr, uid, ids, context=None) -
do_consume_produce(self, cr, uid, ids, context=None) -
on_change_qty(self, cr, uid, ids, product_qty, consume_lines, context=None)When changing the quantity of products to be producedit will recalculate the number of raw materials needed according to the scheduled products and the already consumed/produced products It will return the consume lines needed for the products to be produced which the user can still adapt
New fields (6)
-
op_avg_costFloatdigits=dp.get_precision('Product Price')string='Operator average hourly cost' -
op_numberIntegerstring='# Operators' -
operatorsMany2many → res.usersstring='Operators' args: 'res.users', 'mrp_wc_operator_rel', 'workcenter_id', 'operator_id' -
post_op_productMany2one → product.productstring='Post-operation costing product' args: 'product.product' -
pre_op_productMany2one → product.productstring='Pre-operation costing product' args: 'product.product' -
rt_operationsMany2many → mrp.routing.operationargs: 'mrp.routing.operation', 'mrp_operation_workcenter_rel', 'workcenter', 'operation', 'Routing Operations'
-
onchange_operators(self)@api.one@api.onchange('operators')
New fields (1)
-
work_orderMany2one → mrp.production.workcenter.linestring='Work Order' args: 'mrp.production.workcenter.line'
No public methods.
New fields (0)
No new fields.
Public methods (2)-
cancel_all(self)@api.multi -
make_them_done(self)@api.multi