mirror of
https://github.com/OCA/manufacture.git
synced 2025-01-28 16:37:15 +02:00
[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:
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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')
|
||||
|
||||
123
mrp_operations_extension/models/mrp_routing.py
Normal file
123
mrp_operations_extension/models/mrp_routing.py
Normal 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
|
||||
@@ -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')
|
||||
|
||||
@@ -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.'))
|
||||
@@ -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" />
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user