[FIX+IMP] mrp_operations_extension

FIX: Operation where is production properly handled
IMP: Some views enhanced
FIX: No warning at MO confirmation if there is no route.
IMP: Show cycle length and capacity in route.
FIX: Propagate capacity data.
This commit is contained in:
Pedro M. Baeza
2015-01-18 13:19:15 +01:00
parent ac37a60963
commit 23c6cbf99e
12 changed files with 415 additions and 417 deletions

View File

@@ -41,7 +41,7 @@
"views/mrp_routing_operation_view.xml",
"views/mrp_production_view.xml",
"views/mrp_bom_view.xml",
"views/mrp_routing_workcenter_view.xml",
"views/mrp_routing_view.xml",
"views/res_config_view.xml",
"security/ir.model.access.csv",
"security/mrp_operations_extension_security.xml",

View File

@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-05 08:28+0000\n"
"PO-Revision-Date: 2015-01-05 08:28+0000\n"
"POT-Creation-Date: 2015-01-18 12:06+0000\n"
"PO-Revision-Date: 2015-01-18 12:06+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -18,31 +18,31 @@ msgstr ""
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,op_number:0
#: field:mrp.routing.operation,op_number:0
msgid "# Operators"
msgstr "# Operators"
msgid "# operators"
msgstr "Nº operadores"
#. module: mrp_operations_extension
#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh
#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view
msgid "Actual Production Date"
msgstr "Fecha real de fabricación"
msgstr "Fecha real de producción"
#. module: mrp_operations_extension
#: code:addons/mrp_operations_extension/models/mrp_production.py:78
#: code:addons/mrp_operations_extension/models/mrp_production.py:29
#, python-format
msgid "At least one operation must have checked \"Move produced quantity to stock\"field"
msgstr "At least one operation must have checked \"Move produced quantity to stock\"field"
msgid "At least one work order must have checked 'Produce here'"
msgstr "Al menos una órden de trabajo debe tener marcada 'Producir aquí'"
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_mrp_bom
msgid "Bill of Material"
msgstr "Lista de material"
msgstr "Lista de materiales"
#. module: mrp_operations_extension
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_consume_wizard
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_produce_wizard
msgid "Cancel"
msgstr "Cancel"
msgstr "Cancelar"
#. module: mrp_operations_extension
#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view
@@ -51,67 +51,84 @@ msgstr "Cancelar orden"
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,capacity_per_cycle:0
msgid "Capacity per Cycle"
msgstr "Capacity per Cycle"
msgid "Capacity per cycle"
msgstr "Capacidad por ciclo"
#. module: mrp_operations_extension
#: code:addons/mrp_operations_extension/models/mrp_bom.py:67
#, python-format
msgid "Changing Routing"
msgstr "Cambiando ruta"
#. module: mrp_operations_extension
#: code:addons/mrp_operations_extension/models/mrp_bom.py:68
#, python-format
msgid "Changing routing will cause to change the operation in which each component will be consumed, by default it is set the first one of the routing"
msgstr "Cambiar la ruta causará que cambie la operación en la que cada componente se consumirá. Por defecto se establece la primera de la ruta."
#. module: mrp_operations_extension
#: field:mrp.routing.operation,code:0
msgid "Code"
msgstr "Code"
msgstr "Código"
#. module: mrp_operations_extension
#: model:ir.actions.act_window,name:mrp_operations_extension.act_mrp_work_order_consume
#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh
#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view
#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_consume_wizard
msgid "Consume"
msgstr "Consume"
msgstr "Consumir"
#. module: mrp_operations_extension
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_produce_wizard
#: selection:mrp.work.order.produce,mode:0
msgid "Consume & Produce"
msgstr "Consume & Produce"
msgstr "Consumir y producir"
#. module: mrp_operations_extension
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_consume_wizard
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_produce_wizard
msgid "Consume Lines"
msgstr "Consume Lines"
msgstr "Líneas de consumo"
#. module: mrp_operations_extension
#: selection:mrp.work.order.produce,mode:0
msgid "Consume Only"
msgstr "Consume Only"
msgstr "Sólo consumir"
#. module: mrp_operations_extension
#: field:mrp.bom.line,operation:0
msgid "Consumed"
msgstr "Consumed"
msgid "Consumed in"
msgstr "Consumido en"
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,create_uid:0
#: field:mrp.routing.operation,create_uid:0
#: field:mrp.work.order.produce,create_uid:0
msgid "Created by"
msgstr "Created by"
msgstr "Creado por"
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,create_date:0
#: field:mrp.routing.operation,create_date:0
#: field:mrp.work.order.produce,create_date:0
msgid "Created on"
msgstr "Created on"
msgstr "Creado en"
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,default:0
msgid "Default"
msgstr "Default"
msgstr "Por defecto"
#. module: mrp_operations_extension
#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_tree_view_inh
msgid "Default workcenter"
msgstr "Centro de trabajo por defecto"
#. module: mrp_operations_extension
#: field:mrp.routing.operation,description:0
msgid "Description"
msgstr "Description"
msgstr "Descripción"
#. module: mrp_operations_extension
#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh
@@ -121,18 +138,18 @@ msgstr "Duración"
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,time_efficiency:0
msgid "Efficiency Factor"
msgstr "Efficiency Factor"
msgid "Efficiency factor"
msgstr "Factor de eficacia"
#. module: mrp_operations_extension
#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view
msgid "Extra Information"
msgstr "Extra Information"
msgstr "Información extra"
#. module: mrp_operations_extension
#: field:mrp.work.order.produce,final_product:0
msgid "Final Product to Stock"
msgstr "Final Product to Stock"
msgstr "Producto final a existencias"
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,id:0
@@ -141,6 +158,11 @@ msgstr "Final Product to Stock"
msgid "ID"
msgstr "ID"
#. module: mrp_operations_extension
#: help:mrp.routing.workcenter,do_production:0
msgid "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."
msgstr "Si está habilitado, la producción y el movimiento a existencias de los productos finales se realizará en esta operación. Sólo puede haber una operación por ruta con esta casilla marcada."
#. module: mrp_operations_extension
#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh
#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view
@@ -152,65 +174,49 @@ msgstr "Información"
#: field:mrp.routing.operation,write_uid:0
#: field:mrp.work.order.produce,write_uid:0
msgid "Last Updated by"
msgstr "Last Updated by"
msgstr "Última actualización por"
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,write_date:0
#: field:mrp.routing.operation,write_date:0
#: field:mrp.work.order.produce,write_date:0
msgid "Last Updated on"
msgstr "Last Updated on"
msgstr "Última actualización en"
#. module: mrp_operations_extension
#: field:mrp.work.order.produce,lot_id:0
msgid "Lot"
msgstr "Lot"
msgstr "Lote"
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_mrp_operation_workcenter
msgid "MRP Operation Workcenter"
msgstr "MRP Operation Workcenter"
msgstr "Centro de trabajo de la operación"
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_operation
msgid "MRP Routing Operation"
msgstr "MRP Routing Operation"
msgstr "Operación de la ruta"
#. module: mrp_operations_extension
#: field:mrp.config.settings,group_mrp_workers:0
msgid "Manage operators in work centers "
msgstr "Manage operators in work centers "
msgstr "Gestionar operadores en los centros de trabajo"
#. module: mrp_operations_extension
#: model:res.groups,name:mrp_operations_extension.group_mrp_workers
msgid "Manufacturing Operators"
msgstr "Manufacturing Operators"
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_mrp_production
msgid "Manufacturing Order"
msgstr "Órden de producción"
msgstr "Operadores de fabricación"
#. module: mrp_operations_extension
#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh
msgid "Materials"
msgstr "Materials"
msgstr "Materiales"
#. module: mrp_operations_extension
#: field:mrp.work.order.produce,mode:0
msgid "Mode"
msgstr "Mode"
#. module: mrp_operations_extension
#: field:mrp.production.workcenter.line,do_production:0
#: field:mrp.routing.operation,do_production:0
msgid "Move Final Product to Stock"
msgstr "Move Final Product to Stock"
#. module: mrp_operations_extension
#: field:mrp.routing.workcenter,do_production:0
msgid "Move produced quantity to stock"
msgstr "Move produced quantity to stock"
msgstr "Modo"
#. module: mrp_operations_extension
#: field:mrp.routing.operation,name:0
@@ -225,17 +231,17 @@ msgstr "Operación"
#. module: mrp_operations_extension
#: model:ir.ui.menu,name:mrp_operations_extension.mrp_routing_menu
msgid "Operations"
msgstr "Operaciones"
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,op_avg_cost:0
msgid "Operator Average Cost"
msgstr "Coste medio de operador"
msgstr ""
#. module: mrp_operations_extension
#: field:mrp.workcenter,op_avg_cost:0
msgid "Operator average cost"
msgstr "Coste medio de operador"
msgstr "Coste medio del operador"
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,op_avg_cost:0
msgid "Operator avg. cost"
msgstr "Coste medio operador"
#. module: mrp_operations_extension
#: view:mrp.workcenter:mrp_operations_extension.mrp_workcenter_form_view_inh
@@ -246,55 +252,65 @@ msgstr "Operadores"
#. module: mrp_operations_extension
#: field:mrp.routing.operation,picking_type_id:0
msgid "Picking Type"
msgstr "Picking Type"
msgstr "Tipo de albarán"
#. module: mrp_operations_extension
#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh
#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view
msgid "Planned Date"
msgstr "Fecha planeada"
msgstr "Fecha planificada"
#. module: mrp_operations_extension
#: field:mrp.routing.workcenter,op_wc_lines:0
msgid "Possible work centers for this operation"
msgstr "Posibles centros de trabajo para esta operación"
#. module: mrp_operations_extension
#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_form_view_inh
msgid "Possible workcenters"
msgstr "Posibles centros de trabajo"
#. module: mrp_operations_extension
#: field:mrp.workcenter,post_op_product:0
msgid "Post Operation Cost"
msgstr "Coste de post-operación"
msgid "Post-operation costing product"
msgstr ""
#. module: mrp_operations_extension
#: field:mrp.workcenter,pre_op_product:0
msgid "Pre Operation Cost"
msgstr "Coste de pre-operación"
msgid "Pre-operation costing product"
msgstr "Producto de coste de pre-operación"
#. module: mrp_operations_extension
#: model:ir.actions.act_window,name:mrp_operations_extension.act_mrp_work_order_produce
#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh
#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view
#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_consume_wizard
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_produce_wizard
msgid "Produce"
msgstr "Fabricar"
msgstr "Producir"
#. module: mrp_operations_extension
#: code:addons/mrp_operations_extension/models/mrp_production.py:78
#, python-format
msgid "Produce Operation"
msgstr "Produce Operation"
#: field:mrp.production.workcenter.line,do_production:0
#: field:mrp.routing.workcenter,do_production:0
msgid "Produce here"
msgstr "Producir aquí"
#. module: mrp_operations_extension
#: field:mrp.work.order.produce,product_id:0
msgid "Product"
msgstr "Product"
msgstr "Producto"
#. module: mrp_operations_extension
#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh
#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view
#: field:mrp.production.workcenter.line,product_line:0
msgid "Product Lines"
msgstr "Líneas de Producto"
msgstr "Líneas de producto"
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_mrp_product_produce_line
msgid "Product Produce Consume lines"
msgstr "Líneas de consumo de los producto producidos"
msgstr "Líneas de consumo de productos producidos"
#. module: mrp_operations_extension
#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh
@@ -305,45 +321,50 @@ msgstr "Producto a producir"
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_mrp_production_product_line
msgid "Production Scheduled Product"
msgstr "Fabricación planificada producto"
msgstr "Producto planificado de producción"
#. module: mrp_operations_extension
#: field:mrp.work.order.produce,consume_lines:0
msgid "Products Consumed"
msgstr "Products Consumed"
msgstr "Productos consumidos"
#. module: mrp_operations_extension
#: field:mrp.routing.operation,steps:0
msgid "Relevant Steps"
msgstr "Relevant Steps"
msgstr "Pasos relevantes"
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_mrp_routing
msgid "Routing"
msgstr "Ruta"
#. module: mrp_operations_extension
#: model:ir.actions.act_window,name:mrp_operations_extension.mrp_routing_operation_action
#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_form
#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_tree
msgid "Routing Operation"
msgstr "Routing Operation"
msgstr "Operación de la ruta"
#. module: mrp_operations_extension
#: view:mrp.workcenter:mrp_operations_extension.mrp_workcenter_form_view_inh
#: field:mrp.workcenter,rt_operations:0
msgid "Routing Operations"
msgstr "Routing Operations"
msgstr "Operaciones de la ruta"
#. module: mrp_operations_extension
#: field:mrp.production.workcenter.line,routing_wc_line:0
msgid "Routing WC Line"
msgstr "Routing WC Line"
msgstr "Línea de CT de la ruta"
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,routing_workcenter:0
msgid "Routing Workcenter"
msgstr "Routing Workcenter"
msgid "Routing workcenter"
msgstr "Centro de trabajo de la ruta"
#. module: mrp_operations_extension
#: field:mrp.work.order.produce,product_qty:0
msgid "Select Quantity"
msgstr "Select Quantity"
msgstr "Seleccione cantidad"
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_stock_move
@@ -351,96 +372,94 @@ msgid "Stock Move"
msgstr "Movimiento de existencias"
#. module: mrp_operations_extension
#: code:addons/mrp_operations_extension/models/mrp_routing_workcenter.py:65
#: code:addons/mrp_operations_extension/models/mrp_routing_workcenter.py:79
#: code:addons/mrp_operations_extension/models/mrp_routing.py:57
#, python-format
msgid "There is another line set as default, disable it first."
msgstr "There is another line set as default, disable it first."
msgid "There must be one and only one line set as default."
msgstr "Debe haber una y sólo una línea marcado como por defecto."
#. module: mrp_operations_extension
#: code:addons/mrp_operations_extension/models/mrp_routing.py:33
#, python-format
msgid "There must be one and only one operation with 'Produce here' check marked."
msgstr "Debe haber una y sólo una operación con la casilla 'Producir aquí' marcada."
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,time_stop:0
msgid "Time after prod."
msgstr "Time after prod."
msgstr "Tiempo después de prod."
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,time_start:0
msgid "Time before prod."
msgstr "Time before prod."
msgstr "Tiempo antes de prod."
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,time_cycle:0
msgid "Time for 1 cycle (hour)"
msgstr "Time for 1 cycle (hour)"
msgid "Time for 1 cycle (hours)"
msgstr "Tiempo para 1 ciclo (horas)"
#. module: mrp_operations_extension
#: help:mrp.operation.workcenter,time_cycle:0
msgid "Time in hours for doing one cycle."
msgstr "Time in hours for doing one cycle."
msgstr "Time en horas para realizar un ciclo."
#. module: mrp_operations_extension
#: help:mrp.operation.workcenter,time_stop:0
msgid "Time in hours for the cleaning."
msgstr "Time in hours for the cleaning."
msgstr "Tiempo en horas para la limpieza."
#. module: mrp_operations_extension
#: help:mrp.operation.workcenter,time_start:0
msgid "Time in hours for the setup."
msgstr "Time in hours for the setup."
msgstr "Tiempo en horas para la preparación"
#. module: mrp_operations_extension
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_consume_wizard
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_produce_wizard
msgid "To Consume"
msgstr "To Consume"
msgstr "A consumir"
#. module: mrp_operations_extension
#: field:mrp.work.order.produce,track_production:0
msgid "Track production"
msgstr "Track production"
msgstr "Rastrear producción"
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_mrp_workcenter
#: field:mrp.operation.workcenter,workcenter:0
msgid "Work Center"
msgstr "Centro de producción"
msgstr "Centro de trabajo"
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_workcenter
msgid "Work Center Usage"
msgstr "Utilización del centro de producción"
msgstr "Uso del centro de trabajo"
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_mrp_production_workcenter_line
#: field:mrp.production.product.line,work_order:0
#: field:stock.move,work_order:0
msgid "Work Order"
msgstr "Orden de trabajo"
msgstr "Órden de trabajo"
#. module: mrp_operations_extension
#: field:mrp.routing.operation,workcenters:0
msgid "Work centers"
msgstr "Centros de producción"
msgstr "Centros de trabajo"
#. module: mrp_operations_extension
#: field:mrp.product.produce.line,work_produce_id:0
msgid "Work produce id"
msgstr "Work produce id"
msgstr "ID de centro de producción"
#. module: mrp_operations_extension
#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_form_view_inh
#: field:mrp.routing.workcenter,op_wc_lines:0
msgid "Workcenter Info Lines"
msgstr "Líneas de info. de centro de producción"
#: field:mrp.operation.workcenter,workcenter:0
msgid "Workcenter"
msgstr "Centro de trabajo"
#. module: mrp_operations_extension
#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_form
msgid "Workcenters"
msgstr "Workcenters"
#. module: mrp_operations_extension
#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view
msgid "oe_highlight"
msgstr "oe_highlight"
msgstr "Centros de trabajo"
#. module: mrp_operations_extension
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_consume_wizard

View File

@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-05 08:25+0000\n"
"PO-Revision-Date: 2015-01-05 08:25+0000\n"
"POT-Creation-Date: 2015-01-18 12:06+0000\n"
"PO-Revision-Date: 2015-01-18 12:06+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,op_number:0
#: field:mrp.routing.operation,op_number:0
msgid "# Operators"
msgid "# operators"
msgstr ""
#. module: mrp_operations_extension
@@ -28,9 +28,9 @@ msgid "Actual Production Date"
msgstr ""
#. module: mrp_operations_extension
#: code:addons/mrp_operations_extension/models/mrp_production.py:78
#: code:addons/mrp_operations_extension/models/mrp_production.py:29
#, python-format
msgid "At least one operation must have checked \"Move produced quantity to stock\"field"
msgid "At least one work order must have checked 'Produce here'"
msgstr ""
#. module: mrp_operations_extension
@@ -51,7 +51,19 @@ msgstr ""
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,capacity_per_cycle:0
msgid "Capacity per Cycle"
msgid "Capacity per cycle"
msgstr ""
#. module: mrp_operations_extension
#: code:addons/mrp_operations_extension/models/mrp_bom.py:67
#, python-format
msgid "Changing Routing"
msgstr ""
#. module: mrp_operations_extension
#: code:addons/mrp_operations_extension/models/mrp_bom.py:68
#, python-format
msgid "Changing routing will cause to change the operation in which each component will be consumed, by default it is set the first one of the routing"
msgstr ""
#. module: mrp_operations_extension
@@ -61,7 +73,7 @@ msgstr ""
#. module: mrp_operations_extension
#: model:ir.actions.act_window,name:mrp_operations_extension.act_mrp_work_order_consume
#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh
#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view
#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_consume_wizard
msgid "Consume"
@@ -86,7 +98,7 @@ msgstr ""
#. module: mrp_operations_extension
#: field:mrp.bom.line,operation:0
msgid "Consumed"
msgid "Consumed in"
msgstr ""
#. module: mrp_operations_extension
@@ -108,6 +120,11 @@ msgstr ""
msgid "Default"
msgstr ""
#. module: mrp_operations_extension
#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_tree_view_inh
msgid "Default workcenter"
msgstr ""
#. module: mrp_operations_extension
#: field:mrp.routing.operation,description:0
msgid "Description"
@@ -121,7 +138,7 @@ msgstr ""
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,time_efficiency:0
msgid "Efficiency Factor"
msgid "Efficiency factor"
msgstr ""
#. module: mrp_operations_extension
@@ -141,6 +158,11 @@ msgstr ""
msgid "ID"
msgstr ""
#. module: mrp_operations_extension
#: help:mrp.routing.workcenter,do_production:0
msgid "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."
msgstr ""
#. module: mrp_operations_extension
#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh
#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view
@@ -186,11 +208,6 @@ msgstr ""
msgid "Manufacturing Operators"
msgstr ""
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_mrp_production
msgid "Manufacturing Order"
msgstr ""
#. module: mrp_operations_extension
#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh
msgid "Materials"
@@ -201,17 +218,6 @@ msgstr ""
msgid "Mode"
msgstr ""
#. module: mrp_operations_extension
#: field:mrp.production.workcenter.line,do_production:0
#: field:mrp.routing.operation,do_production:0
msgid "Move Final Product to Stock"
msgstr ""
#. module: mrp_operations_extension
#: field:mrp.routing.workcenter,do_production:0
msgid "Move produced quantity to stock"
msgstr ""
#. module: mrp_operations_extension
#: field:mrp.routing.operation,name:0
msgid "Name"
@@ -228,13 +234,13 @@ msgid "Operations"
msgstr ""
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,op_avg_cost:0
msgid "Operator Average Cost"
#: field:mrp.workcenter,op_avg_cost:0
msgid "Operator average cost"
msgstr ""
#. module: mrp_operations_extension
#: field:mrp.workcenter,op_avg_cost:0
msgid "Operator average cost"
#: field:mrp.operation.workcenter,op_avg_cost:0
msgid "Operator avg. cost"
msgstr ""
#. module: mrp_operations_extension
@@ -254,19 +260,29 @@ msgstr ""
msgid "Planned Date"
msgstr ""
#. module: mrp_operations_extension
#: field:mrp.routing.workcenter,op_wc_lines:0
msgid "Possible work centers for this operation"
msgstr ""
#. module: mrp_operations_extension
#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_form_view_inh
msgid "Possible workcenters"
msgstr ""
#. module: mrp_operations_extension
#: field:mrp.workcenter,post_op_product:0
msgid "Post Operation Cost"
msgid "Post-operation costing product"
msgstr ""
#. module: mrp_operations_extension
#: field:mrp.workcenter,pre_op_product:0
msgid "Pre Operation Cost"
msgid "Pre-operation costing product"
msgstr ""
#. module: mrp_operations_extension
#: model:ir.actions.act_window,name:mrp_operations_extension.act_mrp_work_order_produce
#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh
#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view
#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_consume_wizard
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_produce_wizard
@@ -274,9 +290,9 @@ msgid "Produce"
msgstr ""
#. module: mrp_operations_extension
#: code:addons/mrp_operations_extension/models/mrp_production.py:78
#, python-format
msgid "Produce Operation"
#: field:mrp.production.workcenter.line,do_production:0
#: field:mrp.routing.workcenter,do_production:0
msgid "Produce here"
msgstr ""
#. module: mrp_operations_extension
@@ -317,6 +333,11 @@ msgstr ""
msgid "Relevant Steps"
msgstr ""
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_mrp_routing
msgid "Routing"
msgstr ""
#. module: mrp_operations_extension
#: model:ir.actions.act_window,name:mrp_operations_extension.mrp_routing_operation_action
#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_form
@@ -337,7 +358,7 @@ msgstr ""
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,routing_workcenter:0
msgid "Routing Workcenter"
msgid "Routing workcenter"
msgstr ""
#. module: mrp_operations_extension
@@ -351,10 +372,15 @@ msgid "Stock Move"
msgstr ""
#. module: mrp_operations_extension
#: code:addons/mrp_operations_extension/models/mrp_routing_workcenter.py:65
#: code:addons/mrp_operations_extension/models/mrp_routing_workcenter.py:79
#: code:addons/mrp_operations_extension/models/mrp_routing.py:57
#, python-format
msgid "There is another line set as default, disable it first."
msgid "There must be one and only one line set as default."
msgstr ""
#. module: mrp_operations_extension
#: code:addons/mrp_operations_extension/models/mrp_routing.py:33
#, python-format
msgid "There must be one and only one operation with 'Produce here' check marked."
msgstr ""
#. module: mrp_operations_extension
@@ -369,7 +395,7 @@ msgstr ""
#. module: mrp_operations_extension
#: field:mrp.operation.workcenter,time_cycle:0
msgid "Time for 1 cycle (hour)"
msgid "Time for 1 cycle (hours)"
msgstr ""
#. module: mrp_operations_extension
@@ -400,7 +426,6 @@ msgstr ""
#. module: mrp_operations_extension
#: model:ir.model,name:mrp_operations_extension.model_mrp_workcenter
#: field:mrp.operation.workcenter,workcenter:0
msgid "Work Center"
msgstr ""
@@ -427,9 +452,8 @@ msgid "Work produce id"
msgstr ""
#. module: mrp_operations_extension
#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_form_view_inh
#: field:mrp.routing.workcenter,op_wc_lines:0
msgid "Workcenter Info Lines"
#: field:mrp.operation.workcenter,workcenter:0
msgid "Workcenter"
msgstr ""
#. module: mrp_operations_extension
@@ -437,11 +461,6 @@ msgstr ""
msgid "Workcenters"
msgstr ""
#. module: mrp_operations_extension
#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view
msgid "oe_highlight"
msgstr ""
#. module: mrp_operations_extension
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_consume_wizard
#: view:mrp.work.order.produce:mrp_operations_extension.view_mrp_product_produce_wizard

View File

@@ -16,7 +16,7 @@
#
##############################################################################
from . import mrp_routing_workcenter
from . import mrp_routing
from . import mrp_production
from . import mrp_bom
from . import mrp_workcenter

View File

@@ -52,6 +52,8 @@ class MrpBom(models.Model):
break
if 'routing_wc_line' not in work_order:
work_order['routing_wc_line'] = routing_line_id
wc = self.env['mrp.routing.workcenter'].browse(routing_line_id)
work_order['do_production'] = wc.do_production
return result2
@api.multi

View File

@@ -22,17 +22,24 @@ from openerp import models, fields, api, exceptions, _
class MrpProduction(models.Model):
_inherit = 'mrp.production'
@api.multi
def action_confirm(self):
if (self.routing_id and
not any([x.do_production for x in self.workcenter_lines])):
raise exceptions.Warning(
_("At least one work order must have checked 'Produce here'"))
return super(MrpProduction, self).action_confirm()
@api.multi
def _action_compute_lines(self, properties=None):
res = super(MrpProduction,
self)._action_compute_lines(properties=properties)
self._get_workorder_in_product_lines(self.workcenter_lines,
self.product_lines,
properties=properties)
res = super(MrpProduction, self)._action_compute_lines(
properties=properties)
self._get_workorder_in_product_lines(
self.workcenter_lines, self.product_lines, properties=properties)
return res
def _get_workorder_in_product_lines(self, workcenter_lines, product_lines,
properties=None):
def _get_workorder_in_product_lines(
self, workcenter_lines, product_lines, properties=None):
for p_line in product_lines:
for bom_line in self.bom_id.bom_line_ids:
if bom_line.product_id.id == p_line.product_id.id:
@@ -62,25 +69,6 @@ class MrpProduction(models.Model):
move.work_order = line.work_order.id
return res
@api.multi
def action_compute(self, properties=None):
res = super(MrpProduction, self).action_compute(properties=properties)
produce = False
if not self.routing_id:
produce = True
else:
for workcenter_line in self.workcenter_lines:
if workcenter_line.do_production:
produce = True
break
if not produce:
raise exceptions.Warning(
_('Produce Operation'), _('At least one operation '
'must have checked '
'"Move produced quantity to stock"'
'field'))
return res
class MrpProductionProductLine(models.Model):
_inherit = 'mrp.production.product.line'
@@ -96,15 +84,4 @@ class MrpProductionWorkcenterLine(models.Model):
'work_order', string='Product Lines')
routing_wc_line = fields.Many2one('mrp.routing.workcenter',
string='Routing WC Line')
do_production = fields.Boolean(
string='Move Final Product to Stock')
@api.model
def create(self, data):
workcenter_obj = self.env['mrp.routing.workcenter']
if 'routing_wc_line' in data:
routing_wc_line_id = data.get('routing_wc_line')
work = workcenter_obj.browse(routing_wc_line_id)
data.update({'do_production':
work.operation.do_production})
return super(MrpProductionWorkcenterLine, self).create(data)
do_production = fields.Boolean(string='Produce here')

View File

@@ -0,0 +1,123 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
##############################################################################
from openerp import models, fields, api, _
from openerp.addons import decimal_precision as dp
class MrpRouting(models.Model):
_inherit = 'mrp.routing'
@api.one
@api.constrains('workcenter_lines')
def _check_produce_operation(self):
if not self.workcenter_lines:
return
num_produce = sum([x.do_production for x in self.workcenter_lines])
if num_produce != 1:
raise Warning(_("There must be one and only one operation with "
"'Produce here' check marked."))
class MrpRoutingWorkcenter(models.Model):
_inherit = 'mrp.routing.workcenter'
operation = fields.Many2one('mrp.routing.operation', string='Operation')
op_wc_lines = fields.One2many(
'mrp.operation.workcenter', 'routing_workcenter',
string='Possible work centers for this operation')
do_production = fields.Boolean(
string='Produce here',
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.")
@api.constrains('op_wc_lines')
def _check_default_op_wc_lines(self):
if not self.op_wc_lines:
return
num_default = len([x for x in self.op_wc_lines if x.default])
if num_default != 1:
raise Warning(
_('There must be one and only one line set as default.'))
@api.one
@api.onchange('operation')
def onchange_operation(self):
if self.operation:
self.name = self.operation.name
self.note = self.operation.description
op_wc_lst = []
for operation_wc in self.operation.workcenters:
data = {
'workcenter': operation_wc.id,
'capacity_per_cycle': operation_wc.capacity_per_cycle,
'time_efficiency': operation_wc.time_efficiency,
'time_cycle': operation_wc.time_cycle,
'time_start': operation_wc.time_start,
'time_stop': operation_wc.time_stop,
'op_number': self.operation.op_number,
}
op_wc_lst.append(data)
op_wc_lst[0]['default'] = True
self.op_wc_lines = op_wc_lst
@api.one
@api.onchange('op_wc_lines')
def onchange_lines_default(self):
for line in self.op_wc_lines:
if line.default:
self.workcenter_id = line.workcenter
self.cycle_nbr = line.capacity_per_cycle
self.hour_nbr = line.time_cycle
break
class MrpOperationWorkcenter(models.Model):
_name = 'mrp.operation.workcenter'
_description = 'MRP Operation Workcenter'
workcenter = fields.Many2one(
'mrp.workcenter', string='Workcenter', required=True)
routing_workcenter = fields.Many2one(
'mrp.routing.workcenter', 'Routing workcenter', required=True)
time_efficiency = fields.Float('Efficiency factor')
capacity_per_cycle = fields.Float('Capacity per cycle')
time_cycle = fields.Float('Time for 1 cycle (hours)',
help="Time in hours for doing one cycle.")
time_start = fields.Float('Time before prod.',
help="Time in hours for the setup.")
time_stop = fields.Float('Time after prod.',
help="Time in hours for the cleaning.")
op_number = fields.Integer('# operators', default='0')
op_avg_cost = fields.Float(
string='Operator avg. cost',
digits=dp.get_precision('Product Price'))
default = fields.Boolean('Default')
@api.one
@api.onchange('workcenter')
def onchange_workcenter(self):
if self.workcenter:
self.capacity_per_cycle = self.workcenter.capacity_per_cycle
self.time_efficiency = self.workcenter.time_efficiency
self.time_cycle = self.workcenter.time_cycle
self.time_start = self.workcenter.time_start
self.time_stop = self.workcenter.time_stop
self.op_number = self.workcenter.op_number
self.op_avg_cost = self.workcenter.op_avg_cost

View File

@@ -16,66 +16,7 @@
#
##############################################################################
from openerp import models, fields, api
from openerp.addons import decimal_precision as dp
class MrpOperationWorkcenter(models.Model):
_name = 'mrp.operation.workcenter'
_description = 'MRP Operation Workcenter'
workcenter = fields.Many2one('mrp.workcenter', string='Work Center')
routing_workcenter = fields.Many2one('mrp.routing.workcenter',
'Routing Workcenter')
time_efficiency = fields.Float('Efficiency Factor')
capacity_per_cycle = fields.Float('Capacity per Cycle')
time_cycle = fields.Float('Time for 1 cycle (hour)',
help="Time in hours for doing one cycle.")
time_start = fields.Float('Time before prod.',
help="Time in hours for the setup.")
time_stop = fields.Float('Time after prod.',
help="Time in hours for the cleaning.")
op_number = fields.Integer('# Operators', default='0')
op_avg_cost = fields.Float(
string='Operator Average Cost',
digits=dp.get_precision('Product Price'))
default = fields.Boolean('Default')
@api.one
@api.onchange('workcenter')
def onchange_workcenter(self):
if self.workcenter:
self.capacity_per_cycle = self.workcenter.capacity_per_cycle
self.time_efficiency = self.workcenter.time_efficiency
self.time_cycle = self.workcenter.time_cycle
self.time_start = self.workcenter.time_start
self.time_stop = self.workcenter.time_stop
self.op_number = self.workcenter.op_number
self.op_avg_cost = self.workcenter.op_avg_cost
self.default = False
@api.model
def create(self, vals):
res = super(MrpOperationWorkcenter, self).create(vals)
if vals.get('default', False):
routing_obj = self.env['mrp.routing.workcenter']
routing = routing_obj.browse(vals.get('routing_workcenter', False))
routing.workcenter_id = vals.get('workcenter', False)
for line in routing.op_wc_lines:
if line != res:
line.default = False
return res
@api.multi
def write(self, vals):
res = super(MrpOperationWorkcenter, self).write(vals)
for record in self:
if vals.get('default', False):
record.routing_workcenter.workcenter_id = record.workcenter
for line in record.routing_workcenter.op_wc_lines:
if line != record:
line.default = False
return res
from openerp import models, fields
class MrpRoutingOperation(models.Model):
@@ -89,8 +30,6 @@ class MrpRoutingOperation(models.Model):
workcenters = fields.Many2many(
'mrp.workcenter', 'mrp_operation_workcenter_rel', 'operation',
'workcenter', 'Work centers')
op_number = fields.Integer('# Operators', default='0')
do_production = fields.Boolean(
string='Move Final Product to Stock')
op_number = fields.Integer('# operators', default='0')
picking_type_id = fields.Many2one(
'stock.picking.type', string='Picking Type')

View File

@@ -1,74 +0,0 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
##############################################################################
from openerp import models, fields, api, exceptions, _
class MrpRoutingWorkcenter(models.Model):
_inherit = 'mrp.routing.workcenter'
operation = fields.Many2one('mrp.routing.operation', string='Operation')
op_wc_lines = fields.One2many('mrp.operation.workcenter',
'routing_workcenter',
'Possible work centers for this operation')
do_production = fields.Boolean(
string='Move produced quantity to stock')
@api.one
@api.onchange('operation')
def onchange_operation(self):
if self.operation:
self.name = self.operation.name
self.note = self.operation.description
op_wc_lst = []
data = {}
for operation_wc in self.operation.workcenters:
data = {
'workcenter': operation_wc.id,
'capacity_per_cycle': operation_wc.capacity_per_cycle,
'time_efficiency': operation_wc.time_efficiency,
'time_cycle': operation_wc.time_cycle,
'time_start': operation_wc.time_start,
'time_stop': operation_wc.time_stop,
'default': False,
'op_number': self.operation.op_number,
}
op_wc_lst.append(data)
self.op_wc_lines = op_wc_lst
@api.one
@api.onchange('workcenter_id')
def onchange_workcenter(self):
if self.workcenter_id:
self.hour_nbr = self.workcenter_id.time_cycle
for line in self.op_wc_lines:
line.default = False
if line.workcenter == self.workcenter_id:
line.default = True
@api.one
@api.onchange('op_wc_lines')
def onchange_lines_default(self):
default = 0
for line in self.op_wc_lines:
if line.default:
self.workcenter_id = line.workcenter
default += 1
if default > 1:
raise exceptions.Warning(_('There is another line set as'
' default, disable it first.'))

View File

@@ -32,60 +32,45 @@
<field name="model">mrp.production</field>
<field name="inherit_id" ref="mrp.mrp_production_form_view" />
<field name="arch" type="xml">
<xpath
expr="//page//group[@string='Products to Consume']//field[@name='product_id']"
position="after">
<xpath expr="//page//group[@string='Products to Consume']//field[@name='product_id']" position="after">
<field name="work_order" groups="mrp.group_mrp_routings" />
</xpath>
<xpath
expr="//page//group[@string='Consumed Products']//field[@name='product_id']"
position="after">
<xpath expr="//page//group[@string='Consumed Products']//field[@name='product_id']" position="after">
<field name="work_order" groups="mrp.group_mrp_routings" />
</xpath>
<xpath
expr="//page//group[@string='Products to Produce']//field[@name='product_id']"
position="after">
<xpath expr="//page//group[@string='Products to Produce']//field[@name='product_id']" position="after">
<field name="work_order" groups="mrp.group_mrp_routings" />
</xpath>
<xpath
expr="//page//group[@string='Produced Products']//field[@name='product_id']"
position="after">
<xpath expr="//page//group[@string='Produced Products']//field[@name='product_id']" position="after">
<field name="work_order" groups="mrp.group_mrp_routings" />
</xpath>
<xpath
expr="//field[@name='workcenter_lines']/form//field[@name='name']"
position="attributes">
<xpath expr="//field[@name='workcenter_lines']/tree//field[@name='sequence']" position="after">
<field name="do_production" colspan="2" />
</xpath>
<xpath expr="//field[@name='workcenter_lines']/form//field[@name='name']" position="attributes">
<attribute name="colspan">2</attribute>
</xpath>
<xpath
expr="//field[@name='workcenter_lines']/form//field[@name='workcenter_id']"
position="after">
<xpath expr="//field[@name='workcenter_lines']/form//field[@name='workcenter_id']" position="after">
<field name="production_id" />
</xpath>
<xpath
expr="//field[@name='workcenter_lines']/form//field[@name='sequence']"
position="before">
<xpath expr="//field[@name='workcenter_lines']/form//field[@name='sequence']" position="before">
<field name="production_state" />
</xpath>
<xpath
expr="//field[@name='workcenter_lines']/form//field[@name='cycle']"
position="replace">
<xpath expr="//field[@name='workcenter_lines']/form//field[@name='cycle']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
<xpath
expr="//field[@name='workcenter_lines']/form//field[@name='hour']"
position="replace">
<xpath expr="//field[@name='workcenter_lines']/form//field[@name='hour']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
<xpath
expr="//field[@name='workcenter_lines']/form//field[@name='sequence']"
position="after">
<xpath expr="//field[@name='workcenter_lines']/form//field[@name='sequence']" position="after">
<field name="do_production" colspan="2" />
<notebook colspan="4">
<page string="Materials">
<group>
<field name="routing_wc_line"/>
</group>
<group string="Product Lines">
<field name="routing_wc_line"
colspan="4" />
<field name="product_line"
nolabel="1" colspan="4"/>
<field name="product_line" nolabel="1" colspan="4"/>
</group>
</page>
<page string="Information">
@@ -159,7 +144,7 @@
</record>
<record model="ir.ui.view" id="workcenter_line_inh_form_view">
<field name="name">Work centre line inh</field>
<field name="name">Workcenter line inh</field>
<field name="model">mrp.production.workcenter.line</field>
<field name="inherit_id"
ref="mrp_operations.mrp_production_workcenter_form_view_inherit" />

View File

@@ -2,36 +2,34 @@
<openerp>
<data>
<record id="rountig_operation_tree" model="ir.ui.view">
<field name="name">rountig.operation.tree</field>
<field name="name">routing.operation.tree</field>
<field name="model">mrp.routing.operation</field>
<field name="arch" type="xml">
<tree string="Routing Operation">
<field name="name" />
<field name="code" />
<field name="description" />
<field name="do_production" />
</tree>
</field>
</record>
<record id="rountig_operation_form" model="ir.ui.view">
<field name="name">rountig.operation.form</field>
<field name="name">routing.operation.form</field>
<field name="model">mrp.routing.operation</field>
<field name="arch" type="xml">
<form string="Routing Operation">
<group col="4">
<field name="name" colspan="2"/>
<field name="code" colspan="2"/>
<field name="description" colspan="2"/>
<field name="steps" colspan="2"/>
<field name="op_number" colspan="2" />
<field name="do_production" colspan="2" />
<field name="picking_type_id" colspan="2" />
</group>
<notebook>
<page string="Workcenters">
<field name="workcenters" colspan="4" nolabel="1"/>
</page>
</notebook>
<group col="4">
<field name="name" colspan="2"/>
<field name="code" colspan="2"/>
<field name="description" colspan="2"/>
<field name="steps" colspan="2"/>
<field name="op_number" colspan="2" />
<field name="picking_type_id" colspan="2" />
</group>
<notebook>
<page string="Workcenters">
<field name="workcenters" colspan="4" nolabel="1"/>
</page>
</notebook>
</form>
</field>
</record>
@@ -44,7 +42,9 @@
<field name="view_mode">tree,form</field>
</record>
<menuitem action="mrp_routing_operation_action" name="Operations"
id="mrp_routing_menu" parent="mrp.menu_mrp_configuration" />
<menuitem action="mrp_routing_operation_action"
name="Operations"
id="mrp_routing_menu"
parent="mrp.menu_mrp_configuration" />
</data>
</openerp>

View File

@@ -10,8 +10,17 @@
<field name="name" position="before">
<field name="operation" />
</field>
<field name="workcenter_id" position="attributes">
<attribute name="string">Default workcenter</attribute>
</field>
<field name="hour_nbr" position="attributes">
<attribute name="widget">float_time</attribute>
<attribute name="sum">Total</attribute>
</field>
<field name="cycle_nbr" position="attributes">
<attribute name="sum">Total</attribute>
</field>
<field name="company_id" position="before">
<field name="do_production" />
</field>
</field>
</record>
@@ -22,38 +31,37 @@
<field name="inherit_id" ref="mrp.mrp_routing_workcenter_form_view" />
<field name="arch" type="xml">
<field name="name" position="before">
<field name="operation" />
<newline />
<field name="operation" colspan="4"/>
</field>
<field name="workcenter_id" position="after">
<label for="op_wc_lines" colspan="4" />
<field name="op_wc_lines" colspan="4" nolabel="1">
<tree editable="bottom">
<field name="workcenter" />
<field name="time_efficiency" />
<field name="capacity_per_cycle" />
<field name="time_start" widget="float_time" />
<field name="time_stop" widget="float_time" />
<field name="time_cycle" widget="float_time" />
<field name="op_number" />
<field name="op_avg_cost" />
<field name="default" />
</tree>
<form string="Workcenter Info Lines">
<group>
<field name="workcenter_id" position="attributes">
<attribute name="invisible">1</attribute>
</field>
<field name="cycle_nbr" position="attributes">
<attribute name="invisible">1</attribute>
</field>
<field name="hour_nbr" position="attributes">
<attribute name="invisible">1</attribute>
</field>
<field name="company_id" position="before">
<field name="do_production" />
</field>
<label for="note" position="before">
<group string="Possible workcenters">
<field name="op_wc_lines" nolabel="1">
<tree editable="bottom">
<field name="workcenter" />
<field name="time_efficiency" />
<field name="capacity_per_cycle" />
<field name="time_cycle" widget="float_time" />
<field name="time_start" widget="float_time" />
<field name="time_stop" widget="float_time" />
<field name="time_cycle" widget="float_time" />
<field name="op_number" />
<field name="op_avg_cost" />
<field name="default" />
</group>
</form>
</field>
</field>
</tree>
</field>
</group>
</label>
</field>
</record>
</data>