| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/manufacture |
| GIT | |
| GIT | https://github.com/OCA/manufacture.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/manufacture/tree/8.0/mrp_operations_extension |
| VERSION | |
| VERSION | 2.0.1 |
| CATEGORY | |
| CATEGORY | Manufacturing |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), AvanzOSC, Antiun Ingeniería S.L., OdooMRP team, Serv. Tecnol. Avanzados - Pedro M. Baeza |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), AvanzOSC, Antiun Ingeniería S.L., OdooMRP team, Serv. Tecnol. Avanzados - Pedro M. Baeza |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, agaldona, Weblate, OCA-git-bot, Daniel-CA, oihane, Zambu, Oihane Crucelaegui |
| WEBSITE | |
| WEBSITE | http://www.odoomrp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:24 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/manufacture: - mrp_hook odoo/odoo: - mrp_operations - mrp - product - base - decimal_precision - base_setup - web_kanban - web - report - procurement - stock_account - stock - board - web_kanban_gauge - web_kanban_sparkline - account - analytic - edi - email_template - resource - hr_timesheet - hr - hr_attendance |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| 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 | xpath | Inherits mrp.mrp_bom_form_view |
mrp_production_form_inherit_view2 |
mrp.production.form.inherit2 | mrp.production | xpath | Inherits mrp_operations.mrp_production_form_inherit_view2 |
mrp_production_form_view_inh |
mrp.production.form.view.inh | mrp.production | xpath | Inherits mrp.mrp_production_form_view |
mrp_production_operation_buttons_form_view |
mrp.production.operation.buttons.form | mrp.production | xpath | Inherits mrp_operations.mrp_production_form_inherit_view |
mrp_production_product_form_view_inh |
mrp.production.product.form.view.inh | mrp.production.product.line | field | Inherits mrp.mrp_production_product_form_view |
mrp_production_product_tree_view_inh |
mrp.production.product.tree.view.inh | mrp.production.product.line | field | Inherits mrp.mrp_production_product_tree_view |
mrp_production_workcenter_tree_view_inh_op_ext |
Workcenter line op ext | mrp.production.workcenter.line | field | Inherits mrp_operations.mrp_production_workcenter_tree_view_inherit |
mrp_routing_workcenter_form_view_inh |
mrp.routing.workcenter.form.inh | mrp.routing.workcenter | field | Inherits mrp.mrp_routing_workcenter_form_view |
mrp_routing_workcenter_tree_view_inh |
mrp.routing.workcenter.tree.inh | mrp.routing.workcenter | field | Inherits mrp.mrp_routing_workcenter_tree_view |
mrp_settings_form_view |
mrp.settings.form | mrp.config.settings | xpath | Inherits mrp.view_mrp_config |
mrp_workcenter_form_view_inh |
mrp.workcenter.form.inh | mrp.workcenter | field | 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 | button | Inherits mrp_operations.mrp_production_workcenter_form_view_inherit |
No new fields.
Public methods (1)change_prod_qty(self)
No new fields.
Public methods (1)onchange_routing_id(self)
operation
Many2one → mrp.routing.workcenter
comodel_name='mrp.routing.workcenter'
string='Consumed in'
No public methods.
cycle_by_bom
Boolean
string='Calc Cycles by BoM Quantity'
group_mrp_workers
Boolean
implied_group='mrp_operations_extension.group_mrp_workers'
string='Manage operators in work centers'
get_default_parameter_cycle_bom(self)
set_parameter_cycle_bom(self)
capacity_per_cycle
Float
custom_data
Boolean
default=False
help='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'
default
Boolean
op_avg_cost
Float
digits=dp.get_precision('Product Price')
string='Operator average hourly cost'
op_number
Integer
default='0'
args: '# operators'
routing_workcenter
Many2one → mrp.routing.workcenter
ondelete='cascade'
required=True
args: 'mrp.routing.workcenter', 'Routing workcenter'
time_cycle
Float
help='Duration for one cycle.'
string='Time for 1 cycle (hours)'
time_efficiency
Float
time_start
Float
help='Duration for the setup.'
string='Time before prod.'
time_stop
Float
help='Duartion for the cleaning.'
string='Time after prod.'
workcenter
Many2one → mrp.workcenter
required=True
string='Workcenter'
args: 'mrp.workcenter'
onchange_workcenter(self)
work_produce_id
Many2one → mrp.work.order.produce
No public methods.
date_planned
Datetime
states={'draft': [('readonly', False)], 'confirmed': [('readonly', False)], 'ready': [('readonly', False)]}
workcenter_lines
One2many
readonly=False
action_confirm(self)
bom_line
Many2one → mrp.bom.line
comodel_name='mrp.bom.line'
work_order
Many2one → mrp.production.workcenter.line
comodel_name='mrp.production.workcenter.line'
string='Work Order'
No public methods.
do_production
Boolean
string='Produce here'
is_material_ready
Boolean
compute='_compute_is_material_ready'
string='Materials Ready'
move_lines
One2many → stock.move
comodel_name='stock.move'
inverse_name='work_order'
string='Moves'
possible_workcenters
Many2many → mrp.workcenter
comodel_name='mrp.workcenter'
compute='_compute_possible_workcenters'
product_line
One2many → mrp.production.product.line
comodel_name='mrp.production.product.line'
inverse_name='work_order'
string='Product Lines'
routing_wc_line
Many2one → mrp.routing.workcenter
comodel_name='mrp.routing.workcenter'
string='Routing WC Line'
time_start
Float
string='Time Start'
time_stop
Float
string='Time Stop'
workcenter_id
Many2one
domain="[('id', 'in', possible_workcenters[0][2])]"
action_assign(self)
action_start_working(self)
button_done(self)
check_minor_sequence_operations(self)
check_operation_moves_state(self, states)
create(self, vals)
force_assign(self)
No new fields.
Public methods (0)No public methods.
code
Char
description
Text
name
Char
required=True
args: 'Name'
op_number
Integer
default='0'
args: '# operators'
picking_type_id
Many2one → stock.picking.type
string='Picking Type'
args: 'stock.picking.type'
steps
Text
workcenters
Many2many → mrp.workcenter
No public methods.
do_production
Boolean
help='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_lines
One2many → mrp.operation.workcenter
string='Possible work centers for this operation'
args: 'mrp.operation.workcenter', 'routing_workcenter'
operation
Many2one → mrp.routing.operation
string='Operation'
args: 'mrp.routing.operation'
picking_type_id
Many2one → stock.picking.type
domain=[('code', '=', 'outgoing')]
args: 'stock.picking.type', 'Picking Type'
previous_operations_finished
Boolean
string='Previous operations finished'
onchange_lines_default(self)
onchange_operation(self)
consume_lines
One2many → mrp.product.produce.line
string='Products Consumed'
args: 'mrp.product.produce.line', 'work_produce_id'
final_product
Boolean
string='Final Product to Stock'
lot_id
Many2one → stock.production.lot
mode
Selection
default='consume'
required=True
string='Mode'
args: [('consume_produce', 'Consume & Produce'), ('consume', 'Consume Only')]
product_id
Many2one → product.product
default=_get_product_id
string='Product'
args: 'product.product'
product_qty
Float
default=_default_product_qty
digits=(12, 6)
required=True
string='Select Quantity'
track_production
Boolean
default=_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)
op_avg_cost
Float
digits=dp.get_precision('Product Price')
string='Operator average hourly cost'
op_number
Integer
string='# Operators'
operators
Many2many → res.users
string='Operators'
args: 'res.users', 'mrp_wc_operator_rel', 'workcenter_id', 'operator_id'
post_op_product
Many2one → product.product
string='Post-operation costing product'
args: 'product.product'
pre_op_product
Many2one → product.product
string='Pre-operation costing product'
args: 'product.product'
rt_operations
Many2many → mrp.routing.operation
onchange_operators(self)
work_order
Many2one → mrp.production.workcenter.line
string='Work Order'
args: 'mrp.production.workcenter.line'
No public methods.
No new fields.
Public methods (2)cancel_all(self)
make_them_done(self)