diff --git a/mrp_hook/README.rst b/mrp_hook/README.rst new file mode 100644 index 00000000000..8717ece6a62 --- /dev/null +++ b/mrp_hook/README.rst @@ -0,0 +1,61 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +=============================== +Hooks for enabling advanced MRP +=============================== + +Technical module that provides the proper framework infrastructure (hooks, +fallback, etc) to enable advanced functionality in the manufacturing area, +as https://github.com/odoo/odoo/pull/8885 hasn't been accepted for v8. + +* Hooks in *_bom_explode* method for returning dictionary for consume and + workcenter lines. +* Provide product and template on *_bom_find*. + +Usage +===== + +By itself it doesn't provide anything visible, but serves as base for others +modules to develop its features. + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/129/8.0 + +Known issues / Roadmap +====================== + +* This module fully overwrites _bom_explode method, so any other module + inheriting this method should take this into account. +* On v9, this module can be removed, as the hooks have been integrated. + +Credits +======= + +Contributors +------------ + +* Pedro M. Baeza + +Images +------ + +* Original Odoo MRP icon +* Thanks to https://openclipart.org/detail/151441/lifting-hook + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/mrp_hook/__init__.py b/mrp_hook/__init__.py new file mode 100644 index 00000000000..721dbe492a0 --- /dev/null +++ b/mrp_hook/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# (c) 2015 Serv. Tecnol. Avanzados - Pedro M. Baeza +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from . import models diff --git a/mrp_hook/__openerp__.py b/mrp_hook/__openerp__.py new file mode 100644 index 00000000000..7c573e9ae6c --- /dev/null +++ b/mrp_hook/__openerp__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# (c) 2015 Serv. Tecnol. Avanzados - Pedro M. Baeza +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +{ + "name": "MRP Hooks", + "version": "8.0.1.0.0", + "category": "Hidden", + "author": "OdooMRP team, " + "AvanzOSC, " + "Serv. Tecnol. Avanzados - Pedro M. Baeza", + "website": "http://www.odoomrp.com", + "contributors": [ + "Pedro M. Baeza ", + ], + "depends": [ + "mrp", + ], + "data": [ + ], + "installable": True +} diff --git a/mrp_hook/i18n/es.po b/mrp_hook/i18n/es.po new file mode 100644 index 00000000000..bc5071d949d --- /dev/null +++ b/mrp_hook/i18n/es.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_hook +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-20 17:16+0000\n" +"PO-Revision-Date: 2015-11-13 21:25+0000\n" +"Last-Translator: <>\n" +"Language-Team: Spanish (http://www.transifex.com/oca/odoomrp-wip-8-0/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: mrp_hook +#: model:ir.model,name:mrp_hook.model_mrp_bom +msgid "Bill of Material" +msgstr "Lista de material" + +#. module: mrp_hook +#: code:addons/mrp_hook/models/mrp_bom.py:119 +#, python-format +msgid "BoM \"%s\" contains a BoM line with a product recursion: \"%s\"." +msgstr "La LdM \"%s\" contiene una línea con un producto recursivo: \"%s\"." + +#. module: mrp_hook +#: code:addons/mrp_hook/models/mrp_bom.py:147 +#, python-format +msgid "" +"BoM \"%s\" contains a phantom BoM line but the product \"%s\" does not have " +"any BoM defined." +"La LdM \"%s\" contiene una línea fantasma pero el producto \"%s\" no tiene " +"ninguna LdM definida." +msgstr "" diff --git a/mrp_hook/i18n/it.po b/mrp_hook/i18n/it.po new file mode 100644 index 00000000000..22f8ee85c4e --- /dev/null +++ b/mrp_hook/i18n/it.po @@ -0,0 +1,37 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_hook +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-20 17:16+0000\n" +"PO-Revision-Date: 2015-11-13 21:25+0000\n" +"Last-Translator: <>\n" +"Language-Team: Italian (http://www.transifex.com/oca/odoomrp-wip-8-0/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: mrp_hook +#: model:ir.model,name:mrp_hook.model_mrp_bom +msgid "Bill of Material" +msgstr "Distinta base" + +#. module: mrp_hook +#: code:addons/mrp_hook/models/mrp_bom.py:119 +#, python-format +msgid "BoM \"%s\" contains a BoM line with a product recursion: \"%s\"." +msgstr "" + +#. module: mrp_hook +#: code:addons/mrp_hook/models/mrp_bom.py:147 +#, python-format +msgid "" +"BoM \"%s\" contains a phantom BoM line but the product \"%s\" does not have " +"any BoM defined." +msgstr "" diff --git a/mrp_hook/i18n/pt_BR.po b/mrp_hook/i18n/pt_BR.po new file mode 100644 index 00000000000..05aebdfcf0a --- /dev/null +++ b/mrp_hook/i18n/pt_BR.po @@ -0,0 +1,37 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_hook +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-20 17:16+0000\n" +"PO-Revision-Date: 2015-11-13 21:25+0000\n" +"Last-Translator: <>\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/odoomrp-wip-8-0/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: mrp_hook +#: model:ir.model,name:mrp_hook.model_mrp_bom +msgid "Bill of Material" +msgstr "Lista de materiais" + +#. module: mrp_hook +#: code:addons/mrp_hook/models/mrp_bom.py:119 +#, python-format +msgid "BoM \"%s\" contains a BoM line with a product recursion: \"%s\"." +msgstr "" + +#. module: mrp_hook +#: code:addons/mrp_hook/models/mrp_bom.py:147 +#, python-format +msgid "" +"BoM \"%s\" contains a phantom BoM line but the product \"%s\" does not have " +"any BoM defined." +msgstr "" diff --git a/mrp_hook/i18n/ro.po b/mrp_hook/i18n/ro.po new file mode 100644 index 00000000000..eecb95d0efe --- /dev/null +++ b/mrp_hook/i18n/ro.po @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_hook +# +# Translators: +# Dorin Hongu , 2015 +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-20 17:16+0000\n" +"PO-Revision-Date: 2015-11-18 00:46+0000\n" +"Last-Translator: Dorin Hongu \n" +"Language-Team: Romanian (http://www.transifex.com/oca/odoomrp-wip-8-0/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +#. module: mrp_hook +#: model:ir.model,name:mrp_hook.model_mrp_bom +msgid "Bill of Material" +msgstr "Listă de materiale" + +#. module: mrp_hook +#: code:addons/mrp_hook/models/mrp_bom.py:119 +#, python-format +msgid "BoM \"%s\" contains a BoM line with a product recursion: \"%s\"." +msgstr "LdM\"%s\" conține o line cu un produs recurent: \"%s\"." + +#. module: mrp_hook +#: code:addons/mrp_hook/models/mrp_bom.py:147 +#, python-format +msgid "" +"BoM \"%s\" contains a phantom BoM line but the product \"%s\" does not have " +"any BoM defined." +msgstr "LdM \"%s\" conține o linie fantomă dar produsul \"%s\" nu are definită o LdM." diff --git a/mrp_hook/i18n/sl.po b/mrp_hook/i18n/sl.po new file mode 100644 index 00000000000..fcb939c8fd7 --- /dev/null +++ b/mrp_hook/i18n/sl.po @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_hook +# +# Translators: +# Matjaž Mozetič , 2015 +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-20 17:16+0000\n" +"PO-Revision-Date: 2015-11-14 04:47+0000\n" +"Last-Translator: Matjaž Mozetič \n" +"Language-Team: Slovenian (http://www.transifex.com/oca/odoomrp-wip-8-0/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: mrp_hook +#: model:ir.model,name:mrp_hook.model_mrp_bom +msgid "Bill of Material" +msgstr "Kosovnica" + +#. module: mrp_hook +#: code:addons/mrp_hook/models/mrp_bom.py:119 +#, python-format +msgid "BoM \"%s\" contains a BoM line with a product recursion: \"%s\"." +msgstr "Kosovnica \"%s\" vsebuje postavko z rekurzivnim proizvodom: \"%s\"." + +#. module: mrp_hook +#: code:addons/mrp_hook/models/mrp_bom.py:147 +#, python-format +msgid "" +"BoM \"%s\" contains a phantom BoM line but the product \"%s\" does not have " +"any BoM defined." +msgstr "Kosovnica \"%s\" vsebuje postavko navidezne kosovnice, a proizvod \"%s\" nima določene nobene kosovnice." diff --git a/mrp_hook/models/__init__.py b/mrp_hook/models/__init__.py new file mode 100644 index 00000000000..29373fdb132 --- /dev/null +++ b/mrp_hook/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# (c) 2015 Serv. Tecnol. Avanzados - Pedro M. Baeza +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from . import mrp_bom diff --git a/mrp_hook/models/mrp_bom.py b/mrp_hook/models/mrp_bom.py new file mode 100644 index 00000000000..8035d77c95d --- /dev/null +++ b/mrp_hook/models/mrp_bom.py @@ -0,0 +1,150 @@ +# -*- coding: utf-8 -*- +# (c) 2015 Serv. Tecnol. Avanzados - Pedro M. Baeza +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from openerp import models, api, tools, _ +from openerp.exceptions import Warning as UserError +from openerp.addons.product import _common + + +class MrpBom(models.Model): + _inherit = 'mrp.bom' + + @api.model + def _factor(self, factor, product_efficiency, product_rounding): + factor = factor / (product_efficiency or 1.0) + factor = _common.ceiling(factor, product_rounding) + if factor < product_rounding: + factor = product_rounding + return factor + + @api.multi + def _prepare_wc_line(self, wc_use, level=0, factor=1): + self.ensure_one() + wc = wc_use.workcenter_id + d, m = divmod(factor, wc_use.workcenter_id.capacity_per_cycle) + mult = (d + (m and 1.0 or 0.0)) + cycle = mult * wc_use.cycle_nbr + return { + 'name': (tools.ustr(wc_use.name) + ' - ' + + tools.ustr(self.product_tmpl_id.name_get()[0][1])), + 'workcenter_id': wc.id, + 'sequence': level + (wc_use.sequence or 0), + 'cycle': cycle, + 'hour': float( + wc_use.hour_nbr * mult + + (wc.time_start or 0.0) + + (wc.time_stop or 0.0) + + cycle * (wc.time_cycle or 0.0) * (wc.time_efficiency or 1.0)), + } + + @api.model + def _prepare_consume_line(self, bom_line, quantity, factor=1): + uos_qty = (bom_line.product_uos and + self._factor( + bom_line.product_uos_qty * factor, + bom_line.product_efficiency, bom_line.product_rounding)) + return { + 'name': bom_line.product_id.name, + 'product_id': bom_line.product_id.id, + 'product_qty': quantity, + 'product_uom': bom_line.product_uom.id, + 'product_uos_qty': uos_qty or False, + 'product_uos': bom_line.product_uos.id, + } + + @api.model + def _bom_find_prepare(self, bom_line, properties=None): + return self._bom_find( + product_id=bom_line.product_id.id, properties=properties) + + @api.model + def _get_bom_product_name(self, bom_line): + return bom_line.product_id.name_get()[0][1] + + @api.v7 + def _bom_explode(self, cr, uid, bom, product, factor, properties=None, + level=0, routing_id=False, previous_products=None, + master_bom=None, context=None): + return bom._bom_explode( + product, factor, properties=properties, level=level, + routing_id=routing_id, previous_products=previous_products, + master_bom=master_bom) + + @api.v8 + def _bom_explode(self, product, factor, properties=None, level=0, + routing_id=False, previous_products=None, + master_bom=None): + """ Finds Products and Work Centers for related BoM for manufacturing + order. + @param bom: BoM of particular product template. + @param product: Select a particular variant of the BoM. If False use + BoM without variants. + @param factor: Factor represents the quantity, but in UoM of the BoM, + taking into account the numbers produced by the BoM + @param properties: A List of properties Ids. + @param level: Depth level to find BoM lines starts from 10. + @param previous_products: List of product previously use by bom + explore to avoid recursion + @param master_bom: When recursion, used to display the name of the + master bom + @return: result: List of dictionaries containing product details. + result2: List of dictionaries containing Work Center details. + """ + self.ensure_one() + bom = self + uom_obj = self.env["product.uom"] + routing_obj = self.env['mrp.routing'] + master_bom = master_bom or bom + factor = self._factor( + factor, bom.product_efficiency, bom.product_rounding) + result = [] + result2 = [] + routing = ((routing_id and routing_obj.browse(routing_id)) or + bom.routing_id or False) + if routing: + for wc_use in routing.workcenter_lines: + result2.append(self._prepare_wc_line( + wc_use, level=level, factor=factor)) + for bom_line_id in bom.bom_line_ids: + if self._skip_bom_line(bom_line_id, product): + continue + if (set(map(int, bom_line_id.property_ids or [])) - + set(properties or [])): + continue + product_tmpl_id = bom_line_id.product_id.product_tmpl_id.id + if (previous_products and + product_tmpl_id in previous_products): + raise UserError( + _('BoM "%s" contains a BoM line with a product recursion: ' + '"%s".') % (master_bom.name, + bom_line_id.product_id.name_get()[0][1])) + quantity = self._factor( + bom_line_id.product_qty * factor, + bom_line_id.product_efficiency, bom_line_id.product_rounding) + bom_id = self._bom_find_prepare(bom_line_id, properties=properties) + # If BoM should not behave like PhantoM, just add the product, + # otherwise explode further + if (bom_line_id.type != "phantom" and + (not bom_id or self.browse(bom_id).type != "phantom")): + result.append( + self._prepare_consume_line(bom_line_id, quantity, factor)) + elif bom_id: + all_prod = [bom.product_tmpl_id.id] + (previous_products or []) + bom2 = self.browse(bom_id) + # We need to convert to units/UoM of chosen BoM + factor2 = uom_obj._compute_qty( + bom_line_id.product_uom.id, quantity, bom2.product_uom.id) + quantity2 = factor2 / bom2.product_qty + res = bom2._bom_explode( + bom_line_id.product_id, quantity2, properties=properties, + level=level + 10, previous_products=all_prod, + master_bom=master_bom) + result = result + res[0] + result2 = result2 + res[1] + else: + raise UserError( + _('BoM "%s" contains a phantom BoM line but the product ' + '"%s" does not have any BoM defined.') % + (master_bom.name, self._get_bom_product_name(bom_line_id))) + return result, result2 diff --git a/mrp_hook/static/description/icon.png b/mrp_hook/static/description/icon.png new file mode 100644 index 00000000000..c6a65c2c66e Binary files /dev/null and b/mrp_hook/static/description/icon.png differ diff --git a/mrp_hook/static/description/icon.svg b/mrp_hook/static/description/icon.svg new file mode 100644 index 00000000000..0ce23bbdd2e --- /dev/null +++ b/mrp_hook/static/description/icon.svg @@ -0,0 +1,74 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/mrp_operations_extension/README.rst b/mrp_operations_extension/README.rst new file mode 100644 index 00000000000..635db895fed --- /dev/null +++ b/mrp_operations_extension/README.rst @@ -0,0 +1,76 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +=============================== +MRP operations extension module +=============================== + +This module adds: + +* New table to store operations to avoid typing them again. +* Adds a relation from workcenter lines to BoM lists. +* Adds a relation from workcenter lines to Manufacturing Orders in + Scheduled/Consumed/Finished products. +* Adds a relation between routing workcenter lines and workcenter extra info. +* Allows to set specific times per routing in addition to workcenter times. +* Controls the availability of material in operations +* Controls operation beginning in previous operations are not finished. + +Configuration +============= + +Go to *Settings > Manufacturing* and activate "Manage routings and work orders" +for handling the features of this module. + +Usage +===== + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/129/8.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed `feedback +`_. + +Credits +======= + +Contributors +------------ + +* Daniel Campos +* Mikel Arregi +* Oihane Crucelaegui +* Pedro M. Baeza +* Ana Juaristi + +Images +------ + +* Original Odoo MRP icon +* Thanks to https://openclipart.org/detail/151831/work-bench + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/mrp_operations_extension/__init__.py b/mrp_operations_extension/__init__.py new file mode 100644 index 00000000000..c06d7820bec --- /dev/null +++ b/mrp_operations_extension/__init__.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## +from . import models +from . import wizard +from openerp import api, SUPERUSER_ID + + +def create_default_routing_workcenter_line(cr): + with api.Environment.manage(): + env = api.Environment(cr, SUPERUSER_ID, {}) + routing_wcs = env['mrp.routing.workcenter'].search( + [('op_wc_lines', '=', False)]) + for routing_wc in routing_wcs: + routing_wc.op_wc_lines = [ + (0, 0, {'workcenter': routing_wc.workcenter_id, + 'default': True, + 'custom_data': False})] + + +def post_init_hook(cr, pool): + """ Set do_production on the last workcenter line of each routing """ + cr.execute( + """ + UPDATE mrp_routing_workcenter SET do_production = TRUE + WHERE id IN ( + SELECT ( + SELECT id FROM mrp_routing_workcenter WHERE routing_id = mr.id + ORDER BY sequence DESC, id DESC LIMIT 1) + FROM mrp_routing mr); + """) + create_default_routing_workcenter_line(cr) diff --git a/mrp_operations_extension/__openerp__.py b/mrp_operations_extension/__openerp__.py new file mode 100644 index 00000000000..57ad9b1e58a --- /dev/null +++ b/mrp_operations_extension/__openerp__.py @@ -0,0 +1,63 @@ +# -*- 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 General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +############################################################################## + +{ + "name": "MRP Operations Extension", + "version": "8.0.2.0.0", + "category": "Manufacturing", + "author": "OdooMRP team, " + "AvanzOSC, " + "Serv. Tecnol. Avanzados - Pedro M. Baeza, " + "Antiun Ingeniería, " + "Odoo Community Association (OCA)", + "website": "http://www.odoomrp.com", + "contributors": [ + "Daniel Campos ", + "Mikel Arregi ", + "Oihane Crucelaegui ", + "Pedro M. Baeza ", + "Ana Juaristi ", + ], + "depends": [ + "mrp_operations", + "mrp_hook", + "hr_timesheet", + ], + "data": [ + "data/mrp_operations_extension_data.xml", + "wizard/mrp_workorder_produce_view.xml", + "views/mrp_workcenter_view.xml", + "views/mrp_routing_operation_view.xml", + "views/mrp_production_view.xml", + "views/mrp_bom_view.xml", + "views/mrp_routing_view.xml", + "views/res_config_view.xml", + "security/ir.model.access.csv", + "security/mrp_operations_extension_security.xml", + ], + "demo": [ + "demo/res_partner_demo.xml", + "demo/hr_employee_demo.xml", + "demo/mrp_workcenter_demo.xml", + "demo/mrp_bom_demo.xml", + "demo/mrp_routing_demo.xml", + "demo/mrp_production_demo.xml", + ], + "post_init_hook": "post_init_hook", + "installable": True +} diff --git a/mrp_operations_extension/data/mrp_operations_extension_data.xml b/mrp_operations_extension/data/mrp_operations_extension_data.xml new file mode 100644 index 00000000000..4416a296d17 --- /dev/null +++ b/mrp_operations_extension/data/mrp_operations_extension_data.xml @@ -0,0 +1,13 @@ + + + + + Work Center + mrp.workcenter + + + Work Order + mrp.production.workcenter.line + + + diff --git a/mrp_operations_extension/demo/hr_employee_demo.xml b/mrp_operations_extension/demo/hr_employee_demo.xml new file mode 100644 index 00000000000..be059ba6b81 --- /dev/null +++ b/mrp_operations_extension/demo/hr_employee_demo.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/mrp_operations_extension/demo/mrp_bom_demo.xml b/mrp_operations_extension/demo/mrp_bom_demo.xml new file mode 100644 index 00000000000..e603019ee99 --- /dev/null +++ b/mrp_operations_extension/demo/mrp_bom_demo.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mrp_operations_extension/demo/mrp_production_demo.xml b/mrp_operations_extension/demo/mrp_production_demo.xml new file mode 100644 index 00000000000..aa385b2913e --- /dev/null +++ b/mrp_operations_extension/demo/mrp_production_demo.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + Created from mrp_operations_extension demo + + + + diff --git a/mrp_operations_extension/demo/mrp_routing_demo.xml b/mrp_operations_extension/demo/mrp_routing_demo.xml new file mode 100644 index 00000000000..9f904c94f14 --- /dev/null +++ b/mrp_operations_extension/demo/mrp_routing_demo.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/mrp_operations_extension/demo/mrp_workcenter_demo.xml b/mrp_operations_extension/demo/mrp_workcenter_demo.xml new file mode 100644 index 00000000000..4ca9c4f85ba --- /dev/null +++ b/mrp_operations_extension/demo/mrp_workcenter_demo.xml @@ -0,0 +1,15 @@ + + + + + 1 + 30.0 + + + + 1 + 30.0 + + + + diff --git a/mrp_operations_extension/demo/res_partner_demo.xml b/mrp_operations_extension/demo/res_partner_demo.xml new file mode 100644 index 00000000000..9491a2c1675 --- /dev/null +++ b/mrp_operations_extension/demo/res_partner_demo.xml @@ -0,0 +1,44 @@ + + + + + + User 1 operation extension + + + User_1_operation_extension@yourcompany.example.com + C/Santa Clara 13 + Azkoitia (Gipuzkoa) + 20720 + + + + User 2 operation extension + + + User_2_operation_extension@yourcompany.example.com + C/Santa Elena 23 + Irun (Gipuzkoa) + 20300 + + + + + + user_opeext_1 + user_opeext_1 + --Mr User Opeext 1 + + + + + + user_opeext_2 + user_opeext_2 + --Mr User Opeext 2 + + + + + + diff --git a/mrp_operations_extension/i18n/en_US.po b/mrp_operations_extension/i18n/en_US.po new file mode 100644 index 00000000000..38feabaff8c --- /dev/null +++ b/mrp_operations_extension/i18n/en_US.po @@ -0,0 +1,553 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_operations_extension +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-10-07 10:43+0000\n" +"PO-Revision-Date: 2015-09-10 16:39+0000\n" +"Last-Translator: <>\n" +"Language-Team: English (United States) (http://www.transifex.com/oca/odoomrp-wip-8-0/language/en_US/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: en_US\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_number:0 +msgid "# Operators" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_number:0 +#: field:mrp.routing.operation,op_number:0 +msgid "# operators" +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 +msgid "Actual Production Date" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:36 +#, python-format +msgid "At least one work order must have checked 'Produce here'" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_bom +msgid "Bill of Material" +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 +msgid "Cancel" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "Cancel Order" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,capacity_per_cycle:0 +msgid "Capacity per cycle" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:71 +#, python-format +msgid "Changing Routing" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:72 +#, 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 +#: 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 +msgid "Check Availability" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,code:0 +msgid "Code" +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_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 "" + +#. 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 "" + +#. 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 "" + +#. module: mrp_operations_extension +#: selection:mrp.work.order.produce,mode:0 +msgid "Consume Only" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.bom.line,operation:0 +msgid "Consumed in" +msgstr "" + +#. 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 "" + +#. 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 "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,default:0 +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" +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 +msgid "Duration" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_efficiency:0 +msgid "Efficiency factor" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view +msgid "Extra Information" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,final_product:0 +msgid "Final Product to Stock" +msgstr "" + +#. module: mrp_operations_extension +#: 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 +msgid "Force Reservation" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,id:0 field:mrp.routing.operation,id:0 +#: field:mrp.work.order.produce,id:0 +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 +msgid "Information" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,write_uid:0 +#: field:mrp.routing.operation,write_uid:0 +#: field:mrp.work.order.produce,write_uid:0 +msgid "Last Updated by" +msgstr "" + +#. 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 "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,lot_id:0 +msgid "Lot" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_operation_workcenter +msgid "MRP Operation Workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_operation +msgid "MRP Routing Operation" +msgstr "MRP Routing Operation" + +#. module: mrp_operations_extension +#: field:mrp.config.settings,group_mrp_workers:0 +msgid "Manage operators in work centers " +msgstr "" + +#. module: mrp_operations_extension +#: model:res.groups,name:mrp_operations_extension.group_mrp_workers +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" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:170 +#, python-format +msgid "Missing materials to start the production" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,mode:0 +msgid "Mode" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,move_lines:0 +msgid "Moves" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,name:0 +msgid "Name" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.workcenter,operation:0 +msgid "Operation" +msgstr "Operation" + +#. module: mrp_operations_extension +#: model:ir.ui.menu,name:mrp_operations_extension.mrp_routing_menu +#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_future_calendar +msgid "Operations" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_avg_cost:0 +msgid "Operator average hour cost" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_avg_cost:0 +msgid "Operator avg. hour cost" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.workcenter:mrp_operations_extension.mrp_workcenter_form_view_inh +#: field:mrp.workcenter,operators:0 +msgid "Operators" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,picking_type_id:0 +#: field:mrp.routing.workcenter,picking_type_id:0 +msgid "Picking Type" +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 +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 costing product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,pre_op_product:0 +msgid "Pre-operation costing product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing,previous_operations_finished:0 +#: field:mrp.routing.workcenter,previous_operations_finished:0 +msgid "Previous operations finished" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:166 +#, python-format +msgid "Previous operations not finished" +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_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 "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,do_production:0 +#: field:mrp.routing.workcenter,do_production:0 +msgid "Produce here" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,product_id:0 +msgid "Product" +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 +#: field:mrp.production.workcenter.line,product_line:0 +msgid "Product Lines" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_product_produce_line +msgid "Product Produce Consume lines" +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 +msgid "Product to Produce" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production_product_line +msgid "Production Scheduled Product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,consume_lines:0 +msgid "Products Consumed" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,steps:0 +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 +#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_tree +msgid "Routing Operation" +msgstr "" + +#. 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 "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,routing_wc_line:0 +msgid "Routing WC Line" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,routing_workcenter:0 +msgid "Routing workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,product_qty:0 +msgid "Select Quantity" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_stock_move +msgid "Stock Move" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_routing.py:55 +#, python-format +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:19 +#, python-format +msgid "" +"There must be one and only one operation with 'Produce here' check marked." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,time_start:0 +msgid "Time Start" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,time_stop:0 +msgid "Time Stop" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_stop:0 +msgid "Time after prod." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_start:0 +msgid "Time before prod." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_cycle:0 +msgid "Time for 1 cycle (hours)" +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_cycle:0 +msgid "Time in hours for doing one cycle." +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_stop:0 +msgid "Time in hours for the cleaning." +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_start:0 +msgid "Time in hours for the setup." +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 +msgid "To Consume" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_tree_view_inh +msgid "Total" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,track_production:0 +msgid "Track production" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_workcenter +msgid "Work Center" +msgstr "Work Center" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_workcenter +msgid "Work Center Usage" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production_workcenter_line +#: field:mrp.production.product.line,work_order:0 +#: model:res.request.link,name:mrp_operations_extension.req_link_mrp_workcenter +#: field:stock.move,work_order:0 +msgid "Work Order" +msgstr "Work Order" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,workcenters:0 +msgid "Work centers" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.product.produce.line,work_produce_id:0 +msgid "Work produce id" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,workcenter:0 +msgid "Workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_form +msgid "Workcenters" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "draft,startworking" +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 +msgid "or" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_form_view_inh +msgid "{'invisible': [('op_wc_lines', '!=', [])]}" +msgstr "" diff --git a/mrp_operations_extension/i18n/es.po b/mrp_operations_extension/i18n/es.po new file mode 100644 index 00000000000..33511c0274a --- /dev/null +++ b/mrp_operations_extension/i18n/es.po @@ -0,0 +1,560 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_operations_extension +# +# Translators: +# Oihane Crucelaegui , 2015 +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-20 17:16+0000\n" +"PO-Revision-Date: 2015-10-22 16:40+0000\n" +"Last-Translator: Pedro M. Baeza \n" +"Language-Team: Spanish (http://www.transifex.com/oca/odoomrp-wip-8-0/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_number:0 +msgid "# Operators" +msgstr "Nº operadores" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_number:0 +#: field:mrp.routing.operation,op_number:0 +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 producción" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:35 +#: code:addons/mrp_operations_extension/models/mrp_production.py:36 +#, python-format +msgid "At least one work order must have checked 'Produce here'" +msgstr "Al menos una orden 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 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 "Cancelar" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "Cancel Order" +msgstr "Cancelar orden" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,capacity_per_cycle:0 +msgid "Capacity per cycle" +msgstr "Capacidad por ciclo" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:39 +#: code:addons/mrp_operations_extension/models/mrp_bom.py:49 +#, python-format +msgid "Changing Routing" +msgstr "Cambiando ruta" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:40 +#: code:addons/mrp_operations_extension/models/mrp_bom.py:50 +#, 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 +#: 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 +msgid "Check Availability" +msgstr "Comprobar disponibilidad" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,code:0 +msgid "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_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 "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 "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 "Líneas de consumo" + +#. module: mrp_operations_extension +#: selection:mrp.work.order.produce,mode:0 +msgid "Consume Only" +msgstr "Sólo consumir" + +#. module: mrp_operations_extension +#: field:mrp.bom.line,operation:0 +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 "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 "Creado en" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,default:0 +msgid "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 "Descripció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 "Duration" +msgstr "Duración" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_efficiency:0 +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 "Información extra" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,final_product:0 +msgid "Final Product to Stock" +msgstr "Producto final a existencias" + +#. module: mrp_operations_extension +#: 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 +msgid "Force Reservation" +msgstr "Forzar reserva" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,id:0 field:mrp.routing.operation,id:0 +#: field:mrp.work.order.produce,id:0 +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 +msgid "Information" +msgstr "Información" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,write_uid:0 +#: field:mrp.routing.operation,write_uid:0 +#: field:mrp.work.order.produce,write_uid:0 +msgid "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 "Última actualización en" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,lot_id:0 +msgid "Lot" +msgstr "Lote" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_operation_workcenter +msgid "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 "Operación de la ruta" + +#. module: mrp_operations_extension +#: field:mrp.config.settings,group_mrp_workers:0 +msgid "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 "Operadores de fabricación" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production +msgid "Manufacturing Order" +msgstr "Orden de producción" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh +msgid "Materials" +msgstr "Materiales" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:158 +#: code:addons/mrp_operations_extension/models/mrp_production.py:171 +#, python-format +msgid "Missing materials to start the production" +msgstr "Faltan materiales para empezar la producción" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,mode:0 +msgid "Mode" +msgstr "Modo" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,move_lines:0 +msgid "Moves" +msgstr "Movimientos" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,name:0 +msgid "Name" +msgstr "Nombre" + +#. module: mrp_operations_extension +#: field:mrp.routing.workcenter,operation:0 +msgid "Operation" +msgstr "Operación" + +#. module: mrp_operations_extension +#: model:ir.ui.menu,name:mrp_operations_extension.mrp_routing_menu +#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_future_calendar +msgid "Operations" +msgstr "Operaciones" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_avg_cost:0 +msgid "Operator average hour cost" +msgstr "Coste hora medio del operador" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_avg_cost:0 +msgid "Operator avg. hour cost" +msgstr "Coste hora medio operador" + +#. module: mrp_operations_extension +#: view:mrp.workcenter:mrp_operations_extension.mrp_workcenter_form_view_inh +#: field:mrp.workcenter,operators:0 +msgid "Operators" +msgstr "Operadores" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,picking_type_id:0 +#: field:mrp.routing.workcenter,picking_type_id:0 +msgid "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 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 costing product" +msgstr "Producto de coste de post-operación" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,pre_op_product:0 +msgid "Pre-operation costing product" +msgstr "Producto de coste de pre-operación" + +#. module: mrp_operations_extension +#: field:mrp.routing,previous_operations_finished:0 +#: field:mrp.routing.workcenter,previous_operations_finished:0 +msgid "Previous operations finished" +msgstr "Operaciones previas terminadas" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:154 +#: code:addons/mrp_operations_extension/models/mrp_production.py:167 +#, python-format +msgid "Previous operations not finished" +msgstr "Operaciones previas no terminadas" + +#. 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_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" + +#. module: mrp_operations_extension +#: 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 "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" + +#. 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 productos producidos" + +#. 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 "Product to Produce" +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 "Producto planificado de producción" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,consume_lines:0 +msgid "Products Consumed" +msgstr "Productos consumidos" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,steps:0 +msgid "Relevant Steps" +msgstr "Pasos relevantes" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing +msgid "Routing" +msgstr "Proceso productivo" + +#. 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 "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 "Operaciones de la ruta" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,routing_wc_line:0 +msgid "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 "Centro de trabajo de la ruta" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,product_qty:0 +msgid "Select Quantity" +msgstr "Seleccione cantidad" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_stock_move +msgid "Stock Move" +msgstr "Movimiento de existencias" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_routing.py:55 +#: code:addons/mrp_operations_extension/models/mrp_routing.py:56 +#, python-format +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:19 +#, 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.production.workcenter.line,time_start:0 +msgid "Time Start" +msgstr "Hora inicio" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,time_stop:0 +msgid "Time Stop" +msgstr "Hora parada" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_stop:0 +msgid "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 "Tiempo antes de prod." + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_cycle:0 +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 "Tiempo 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 "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 "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 "A consumir" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_tree_view_inh +msgid "Total" +msgstr "Total" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,track_production:0 +msgid "Track production" +msgstr "Rastrear producción" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_workcenter +msgid "Work Center" +msgstr "Centro de producción" + +#. 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" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production_workcenter_line +#: field:mrp.production.product.line,work_order:0 +#: model:res.request.link,name:mrp_operations_extension.req_link_mrp_workcenter +#: field:stock.move,work_order:0 +msgid "Work Order" +msgstr "Orden de trabajo" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,workcenters:0 +msgid "Work centers" +msgstr "Centros de trabajo" + +#. module: mrp_operations_extension +#: field:mrp.product.produce.line,work_produce_id:0 +msgid "Work produce id" +msgstr "ID de centro de producción" + +#. module: mrp_operations_extension +#: 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 "Centros de trabajo" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "draft,startworking" +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 +msgid "or" +msgstr "o" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_form_view_inh +msgid "{'invisible': [('op_wc_lines', '!=', [])]}" +msgstr "" diff --git a/mrp_operations_extension/i18n/fr.po b/mrp_operations_extension/i18n/fr.po new file mode 100644 index 00000000000..032cef784c6 --- /dev/null +++ b/mrp_operations_extension/i18n/fr.po @@ -0,0 +1,553 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_operations_extension +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-10-07 10:43+0000\n" +"PO-Revision-Date: 2015-09-10 16:39+0000\n" +"Last-Translator: <>\n" +"Language-Team: French (http://www.transifex.com/oca/odoomrp-wip-8-0/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_number:0 +msgid "# Operators" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_number:0 +#: field:mrp.routing.operation,op_number:0 +msgid "# operators" +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 +msgid "Actual Production Date" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:36 +#, python-format +msgid "At least one work order must have checked 'Produce here'" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_bom +msgid "Bill of Material" +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 +msgid "Cancel" +msgstr "Annuler" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "Cancel Order" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,capacity_per_cycle:0 +msgid "Capacity per cycle" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:71 +#, python-format +msgid "Changing Routing" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:72 +#, 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 +#: 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 +msgid "Check Availability" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,code:0 +msgid "Code" +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_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 "" + +#. 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 "" + +#. 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 "" + +#. module: mrp_operations_extension +#: selection:mrp.work.order.produce,mode:0 +msgid "Consume Only" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.bom.line,operation:0 +msgid "Consumed in" +msgstr "" + +#. 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 "Créé par" + +#. 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 "Créé le" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,default:0 +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" +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 +msgid "Duration" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_efficiency:0 +msgid "Efficiency factor" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view +msgid "Extra Information" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,final_product:0 +msgid "Final Product to Stock" +msgstr "" + +#. module: mrp_operations_extension +#: 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 +msgid "Force Reservation" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,id:0 field:mrp.routing.operation,id:0 +#: field:mrp.work.order.produce,id:0 +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 "" + +#. 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 "Information" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,write_uid:0 +#: field:mrp.routing.operation,write_uid:0 +#: field:mrp.work.order.produce,write_uid:0 +msgid "Last Updated by" +msgstr "Mis à jour par" + +#. 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 "Mis à jour le" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,lot_id:0 +msgid "Lot" +msgstr "Lot" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_operation_workcenter +msgid "MRP Operation Workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_operation +msgid "MRP Routing Operation" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.config.settings,group_mrp_workers:0 +msgid "Manage operators in work centers " +msgstr "" + +#. module: mrp_operations_extension +#: model:res.groups,name:mrp_operations_extension.group_mrp_workers +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" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:170 +#, python-format +msgid "Missing materials to start the production" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,mode:0 +msgid "Mode" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,move_lines:0 +msgid "Moves" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,name:0 +msgid "Name" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.workcenter,operation:0 +msgid "Operation" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.ui.menu,name:mrp_operations_extension.mrp_routing_menu +#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_future_calendar +msgid "Operations" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_avg_cost:0 +msgid "Operator average hour cost" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_avg_cost:0 +msgid "Operator avg. hour cost" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.workcenter:mrp_operations_extension.mrp_workcenter_form_view_inh +#: field:mrp.workcenter,operators:0 +msgid "Operators" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,picking_type_id:0 +#: field:mrp.routing.workcenter,picking_type_id:0 +msgid "Picking Type" +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 +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 costing product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,pre_op_product:0 +msgid "Pre-operation costing product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing,previous_operations_finished:0 +#: field:mrp.routing.workcenter,previous_operations_finished:0 +msgid "Previous operations finished" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:166 +#, python-format +msgid "Previous operations not finished" +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_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 "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,do_production:0 +#: field:mrp.routing.workcenter,do_production:0 +msgid "Produce here" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,product_id:0 +msgid "Product" +msgstr "Article" + +#. 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 "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_product_produce_line +msgid "Product Produce Consume lines" +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 +msgid "Product to Produce" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production_product_line +msgid "Production Scheduled Product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,consume_lines:0 +msgid "Products Consumed" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,steps:0 +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 +#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_tree +msgid "Routing Operation" +msgstr "" + +#. 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 "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,routing_wc_line:0 +msgid "Routing WC Line" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,routing_workcenter:0 +msgid "Routing workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,product_qty:0 +msgid "Select Quantity" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_stock_move +msgid "Stock Move" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_routing.py:55 +#, python-format +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:19 +#, python-format +msgid "" +"There must be one and only one operation with 'Produce here' check marked." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,time_start:0 +msgid "Time Start" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,time_stop:0 +msgid "Time Stop" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_stop:0 +msgid "Time after prod." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_start:0 +msgid "Time before prod." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_cycle:0 +msgid "Time for 1 cycle (hours)" +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_cycle:0 +msgid "Time in hours for doing one cycle." +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_stop:0 +msgid "Time in hours for the cleaning." +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_start:0 +msgid "Time in hours for the setup." +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 +msgid "To Consume" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_tree_view_inh +msgid "Total" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,track_production:0 +msgid "Track production" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_workcenter +msgid "Work Center" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_workcenter +msgid "Work Center Usage" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production_workcenter_line +#: field:mrp.production.product.line,work_order:0 +#: model:res.request.link,name:mrp_operations_extension.req_link_mrp_workcenter +#: field:stock.move,work_order:0 +msgid "Work Order" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,workcenters:0 +msgid "Work centers" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.product.produce.line,work_produce_id:0 +msgid "Work produce id" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,workcenter:0 +msgid "Workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_form +msgid "Workcenters" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "draft,startworking" +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 +msgid "or" +msgstr "ou" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_form_view_inh +msgid "{'invisible': [('op_wc_lines', '!=', [])]}" +msgstr "" diff --git a/mrp_operations_extension/i18n/it.po b/mrp_operations_extension/i18n/it.po new file mode 100644 index 00000000000..f41472a8909 --- /dev/null +++ b/mrp_operations_extension/i18n/it.po @@ -0,0 +1,559 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_operations_extension +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-20 17:16+0000\n" +"PO-Revision-Date: 2015-09-10 16:39+0000\n" +"Last-Translator: <>\n" +"Language-Team: Italian (http://www.transifex.com/oca/odoomrp-wip-8-0/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_number:0 +msgid "# Operators" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_number:0 +#: field:mrp.routing.operation,op_number:0 +msgid "# operators" +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 +msgid "Actual Production Date" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:35 +#: code:addons/mrp_operations_extension/models/mrp_production.py:36 +#, python-format +msgid "At least one work order must have checked 'Produce here'" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_bom +msgid "Bill of Material" +msgstr "Distinta base" + +#. 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 "" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "Cancel Order" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,capacity_per_cycle:0 +msgid "Capacity per cycle" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:39 +#: code:addons/mrp_operations_extension/models/mrp_bom.py:49 +#, python-format +msgid "Changing Routing" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:40 +#: code:addons/mrp_operations_extension/models/mrp_bom.py:50 +#, 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 +#: 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 +msgid "Check Availability" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,code:0 +msgid "Code" +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_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 "" + +#. 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 "" + +#. 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 "" + +#. module: mrp_operations_extension +#: selection:mrp.work.order.produce,mode:0 +msgid "Consume Only" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.bom.line,operation:0 +msgid "Consumed in" +msgstr "" + +#. 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 "" + +#. 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 "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,default:0 +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" +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 +msgid "Duration" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_efficiency:0 +msgid "Efficiency factor" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view +msgid "Extra Information" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,final_product:0 +msgid "Final Product to Stock" +msgstr "" + +#. module: mrp_operations_extension +#: 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 +msgid "Force Reservation" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,id:0 field:mrp.routing.operation,id:0 +#: field:mrp.work.order.produce,id:0 +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 +msgid "Information" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,write_uid:0 +#: field:mrp.routing.operation,write_uid:0 +#: field:mrp.work.order.produce,write_uid:0 +msgid "Last Updated by" +msgstr "" + +#. 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 "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,lot_id:0 +msgid "Lot" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_operation_workcenter +msgid "MRP Operation Workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_operation +msgid "MRP Routing Operation" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.config.settings,group_mrp_workers:0 +msgid "Manage operators in work centers " +msgstr "" + +#. module: mrp_operations_extension +#: model:res.groups,name:mrp_operations_extension.group_mrp_workers +msgid "Manufacturing Operators" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production +msgid "Manufacturing Order" +msgstr "Ordine di produzione" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh +msgid "Materials" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:158 +#: code:addons/mrp_operations_extension/models/mrp_production.py:171 +#, python-format +msgid "Missing materials to start the production" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,mode:0 +msgid "Mode" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,move_lines:0 +msgid "Moves" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,name:0 +msgid "Name" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.workcenter,operation:0 +msgid "Operation" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.ui.menu,name:mrp_operations_extension.mrp_routing_menu +#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_future_calendar +msgid "Operations" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_avg_cost:0 +msgid "Operator average hour cost" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_avg_cost:0 +msgid "Operator avg. hour cost" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.workcenter:mrp_operations_extension.mrp_workcenter_form_view_inh +#: field:mrp.workcenter,operators:0 +msgid "Operators" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,picking_type_id:0 +#: field:mrp.routing.workcenter,picking_type_id:0 +msgid "Picking Type" +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 +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 costing product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,pre_op_product:0 +msgid "Pre-operation costing product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing,previous_operations_finished:0 +#: field:mrp.routing.workcenter,previous_operations_finished:0 +msgid "Previous operations finished" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:154 +#: code:addons/mrp_operations_extension/models/mrp_production.py:167 +#, python-format +msgid "Previous operations not finished" +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_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 "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,do_production:0 +#: field:mrp.routing.workcenter,do_production:0 +msgid "Produce here" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,product_id:0 +msgid "Product" +msgstr "Prodotto " + +#. 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 "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_product_produce_line +msgid "Product Produce Consume lines" +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 +msgid "Product to Produce" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production_product_line +msgid "Production Scheduled Product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,consume_lines:0 +msgid "Products Consumed" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,steps:0 +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 +#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_tree +msgid "Routing Operation" +msgstr "" + +#. 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 "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,routing_wc_line:0 +msgid "Routing WC Line" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,routing_workcenter:0 +msgid "Routing workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,product_qty:0 +msgid "Select Quantity" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_stock_move +msgid "Stock Move" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_routing.py:55 +#: code:addons/mrp_operations_extension/models/mrp_routing.py:56 +#, python-format +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:19 +#, python-format +msgid "" +"There must be one and only one operation with 'Produce here' check marked." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,time_start:0 +msgid "Time Start" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,time_stop:0 +msgid "Time Stop" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_stop:0 +msgid "Time after prod." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_start:0 +msgid "Time before prod." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_cycle:0 +msgid "Time for 1 cycle (hours)" +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_cycle:0 +msgid "Time in hours for doing one cycle." +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_stop:0 +msgid "Time in hours for the cleaning." +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_start:0 +msgid "Time in hours for the setup." +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 +msgid "To Consume" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_tree_view_inh +msgid "Total" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,track_production:0 +msgid "Track production" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_workcenter +msgid "Work Center" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_workcenter +msgid "Work Center Usage" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production_workcenter_line +#: field:mrp.production.product.line,work_order:0 +#: model:res.request.link,name:mrp_operations_extension.req_link_mrp_workcenter +#: field:stock.move,work_order:0 +msgid "Work Order" +msgstr "Ordine di lavorazione" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,workcenters:0 +msgid "Work centers" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.product.produce.line,work_produce_id:0 +msgid "Work produce id" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,workcenter:0 +msgid "Workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_form +msgid "Workcenters" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "draft,startworking" +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 +msgid "or" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_form_view_inh +msgid "{'invisible': [('op_wc_lines', '!=', [])]}" +msgstr "" diff --git a/mrp_operations_extension/i18n/pt_BR.po b/mrp_operations_extension/i18n/pt_BR.po new file mode 100644 index 00000000000..613afc23b78 --- /dev/null +++ b/mrp_operations_extension/i18n/pt_BR.po @@ -0,0 +1,559 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_operations_extension +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-20 17:16+0000\n" +"PO-Revision-Date: 2015-10-20 14:47+0000\n" +"Last-Translator: danimaribeiro \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/odoomrp-wip-8-0/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_number:0 +msgid "# Operators" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_number:0 +#: field:mrp.routing.operation,op_number:0 +msgid "# operators" +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 +msgid "Actual Production Date" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:35 +#: code:addons/mrp_operations_extension/models/mrp_production.py:36 +#, python-format +msgid "At least one work order must have checked 'Produce here'" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_bom +msgid "Bill of Material" +msgstr "Lista de materiais" + +#. 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 "Cancelar" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "Cancel Order" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,capacity_per_cycle:0 +msgid "Capacity per cycle" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:39 +#: code:addons/mrp_operations_extension/models/mrp_bom.py:49 +#, python-format +msgid "Changing Routing" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:40 +#: code:addons/mrp_operations_extension/models/mrp_bom.py:50 +#, 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 +#: 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 +msgid "Check Availability" +msgstr "Checar disponibilidade" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,code:0 +msgid "Code" +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_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 "" + +#. 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 "" + +#. 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 "" + +#. module: mrp_operations_extension +#: selection:mrp.work.order.produce,mode:0 +msgid "Consume Only" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.bom.line,operation:0 +msgid "Consumed in" +msgstr "" + +#. 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 "Criado 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 "Criado em" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,default:0 +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" +msgstr "Descrição" + +#. 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 "Duration" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_efficiency:0 +msgid "Efficiency factor" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view +msgid "Extra Information" +msgstr "Informação extra" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,final_product:0 +msgid "Final Product to Stock" +msgstr "" + +#. module: mrp_operations_extension +#: 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 +msgid "Force Reservation" +msgstr "Forçar reserva" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,id:0 field:mrp.routing.operation,id:0 +#: field:mrp.work.order.produce,id:0 +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 "" + +#. 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 "Information" +msgstr "Informação" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,write_uid:0 +#: field:mrp.routing.operation,write_uid:0 +#: field:mrp.work.order.produce,write_uid:0 +msgid "Last Updated by" +msgstr "Última atualização 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 "Última atualização em" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,lot_id:0 +msgid "Lot" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_operation_workcenter +msgid "MRP Operation Workcenter" +msgstr "Centro de trabalho de Operação do MRP" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_operation +msgid "MRP Routing Operation" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.config.settings,group_mrp_workers:0 +msgid "Manage operators in work centers " +msgstr "" + +#. module: mrp_operations_extension +#: model:res.groups,name:mrp_operations_extension.group_mrp_workers +msgid "Manufacturing Operators" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production +msgid "Manufacturing Order" +msgstr "Ordem de Produção" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh +msgid "Materials" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:158 +#: code:addons/mrp_operations_extension/models/mrp_production.py:171 +#, python-format +msgid "Missing materials to start the production" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,mode:0 +msgid "Mode" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,move_lines:0 +msgid "Moves" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,name:0 +msgid "Name" +msgstr "Nome" + +#. module: mrp_operations_extension +#: field:mrp.routing.workcenter,operation:0 +msgid "Operation" +msgstr "Operação" + +#. module: mrp_operations_extension +#: model:ir.ui.menu,name:mrp_operations_extension.mrp_routing_menu +#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_future_calendar +msgid "Operations" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_avg_cost:0 +msgid "Operator average hour cost" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_avg_cost:0 +msgid "Operator avg. hour cost" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.workcenter:mrp_operations_extension.mrp_workcenter_form_view_inh +#: field:mrp.workcenter,operators:0 +msgid "Operators" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,picking_type_id:0 +#: field:mrp.routing.workcenter,picking_type_id:0 +msgid "Picking Type" +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 +msgid "Planned Date" +msgstr "Data Planejada" + +#. 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 costing product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,pre_op_product:0 +msgid "Pre-operation costing product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing,previous_operations_finished:0 +#: field:mrp.routing.workcenter,previous_operations_finished:0 +msgid "Previous operations finished" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:154 +#: code:addons/mrp_operations_extension/models/mrp_production.py:167 +#, python-format +msgid "Previous operations not finished" +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_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 "Produzir" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,do_production:0 +#: field:mrp.routing.workcenter,do_production:0 +msgid "Produce here" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,product_id:0 +msgid "Product" +msgstr "Produto" + +#. 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 "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_product_produce_line +msgid "Product Produce Consume lines" +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 +msgid "Product to Produce" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production_product_line +msgid "Production Scheduled Product" +msgstr "Produção de produto agendada" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,consume_lines:0 +msgid "Products Consumed" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,steps:0 +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 +#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_tree +msgid "Routing Operation" +msgstr "" + +#. 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 "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,routing_wc_line:0 +msgid "Routing WC Line" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,routing_workcenter:0 +msgid "Routing workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,product_qty:0 +msgid "Select Quantity" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_stock_move +msgid "Stock Move" +msgstr "Movimentação de estoque" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_routing.py:55 +#: code:addons/mrp_operations_extension/models/mrp_routing.py:56 +#, python-format +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:19 +#, python-format +msgid "" +"There must be one and only one operation with 'Produce here' check marked." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,time_start:0 +msgid "Time Start" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,time_stop:0 +msgid "Time Stop" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_stop:0 +msgid "Time after prod." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_start:0 +msgid "Time before prod." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_cycle:0 +msgid "Time for 1 cycle (hours)" +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_cycle:0 +msgid "Time in hours for doing one cycle." +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_stop:0 +msgid "Time in hours for the cleaning." +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_start:0 +msgid "Time in hours for the setup." +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 +msgid "To Consume" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_tree_view_inh +msgid "Total" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,track_production:0 +msgid "Track production" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_workcenter +msgid "Work Center" +msgstr "Centro de trabalho" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_workcenter +msgid "Work Center Usage" +msgstr "Uso do centro de trabalho" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production_workcenter_line +#: field:mrp.production.product.line,work_order:0 +#: model:res.request.link,name:mrp_operations_extension.req_link_mrp_workcenter +#: field:stock.move,work_order:0 +msgid "Work Order" +msgstr "Ordem de serviço" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,workcenters:0 +msgid "Work centers" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.product.produce.line,work_produce_id:0 +msgid "Work produce id" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,workcenter:0 +msgid "Workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_form +msgid "Workcenters" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "draft,startworking" +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 +msgid "or" +msgstr "ou" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_form_view_inh +msgid "{'invisible': [('op_wc_lines', '!=', [])]}" +msgstr "" diff --git a/mrp_operations_extension/i18n/ro.po b/mrp_operations_extension/i18n/ro.po new file mode 100644 index 00000000000..65efbc216d7 --- /dev/null +++ b/mrp_operations_extension/i18n/ro.po @@ -0,0 +1,559 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_operations_extension +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-20 17:16+0000\n" +"PO-Revision-Date: 2015-09-10 16:39+0000\n" +"Last-Translator: <>\n" +"Language-Team: Romanian (http://www.transifex.com/oca/odoomrp-wip-8-0/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_number:0 +msgid "# Operators" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_number:0 +#: field:mrp.routing.operation,op_number:0 +msgid "# operators" +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 +msgid "Actual Production Date" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:35 +#: code:addons/mrp_operations_extension/models/mrp_production.py:36 +#, python-format +msgid "At least one work order must have checked 'Produce here'" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_bom +msgid "Bill of Material" +msgstr "Listă de materiale" + +#. 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 "Anulare" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "Cancel Order" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,capacity_per_cycle:0 +msgid "Capacity per cycle" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:39 +#: code:addons/mrp_operations_extension/models/mrp_bom.py:49 +#, python-format +msgid "Changing Routing" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:40 +#: code:addons/mrp_operations_extension/models/mrp_bom.py:50 +#, 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 +#: 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 +msgid "Check Availability" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,code:0 +msgid "Code" +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_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 "" + +#. 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 "" + +#. 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 "" + +#. module: mrp_operations_extension +#: selection:mrp.work.order.produce,mode:0 +msgid "Consume Only" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.bom.line,operation:0 +msgid "Consumed in" +msgstr "" + +#. 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 "Creat de" + +#. 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 "Creat în" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,default:0 +msgid "Default" +msgstr "Implicit" + +#. 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" +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 +msgid "Duration" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_efficiency:0 +msgid "Efficiency factor" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view +msgid "Extra Information" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,final_product:0 +msgid "Final Product to Stock" +msgstr "" + +#. module: mrp_operations_extension +#: 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 +msgid "Force Reservation" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,id:0 field:mrp.routing.operation,id:0 +#: field:mrp.work.order.produce,id:0 +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 "" + +#. 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 "Information" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,write_uid:0 +#: field:mrp.routing.operation,write_uid:0 +#: field:mrp.work.order.produce,write_uid:0 +msgid "Last Updated by" +msgstr "Ultima actualizare de" + +#. 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 "Ultima actualizare în" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,lot_id:0 +msgid "Lot" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_operation_workcenter +msgid "MRP Operation Workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_operation +msgid "MRP Routing Operation" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.config.settings,group_mrp_workers:0 +msgid "Manage operators in work centers " +msgstr "" + +#. module: mrp_operations_extension +#: model:res.groups,name:mrp_operations_extension.group_mrp_workers +msgid "Manufacturing Operators" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production +msgid "Manufacturing Order" +msgstr "Comandă fabricație" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh +msgid "Materials" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:158 +#: code:addons/mrp_operations_extension/models/mrp_production.py:171 +#, python-format +msgid "Missing materials to start the production" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,mode:0 +msgid "Mode" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,move_lines:0 +msgid "Moves" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,name:0 +msgid "Name" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.workcenter,operation:0 +msgid "Operation" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.ui.menu,name:mrp_operations_extension.mrp_routing_menu +#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_future_calendar +msgid "Operations" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_avg_cost:0 +msgid "Operator average hour cost" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_avg_cost:0 +msgid "Operator avg. hour cost" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.workcenter:mrp_operations_extension.mrp_workcenter_form_view_inh +#: field:mrp.workcenter,operators:0 +msgid "Operators" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,picking_type_id:0 +#: field:mrp.routing.workcenter,picking_type_id:0 +msgid "Picking Type" +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 +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 costing product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,pre_op_product:0 +msgid "Pre-operation costing product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing,previous_operations_finished:0 +#: field:mrp.routing.workcenter,previous_operations_finished:0 +msgid "Previous operations finished" +msgstr "" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:154 +#: code:addons/mrp_operations_extension/models/mrp_production.py:167 +#, python-format +msgid "Previous operations not finished" +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_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 "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,do_production:0 +#: field:mrp.routing.workcenter,do_production:0 +msgid "Produce here" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,product_id:0 +msgid "Product" +msgstr "Produs" + +#. 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 "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_product_produce_line +msgid "Product Produce Consume lines" +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 +msgid "Product to Produce" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production_product_line +msgid "Production Scheduled Product" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,consume_lines:0 +msgid "Products Consumed" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,steps:0 +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 +#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_tree +msgid "Routing Operation" +msgstr "" + +#. 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 "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,routing_wc_line:0 +msgid "Routing WC Line" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,routing_workcenter:0 +msgid "Routing workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,product_qty:0 +msgid "Select Quantity" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_stock_move +msgid "Stock Move" +msgstr "Mișcare stoc" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_routing.py:55 +#: code:addons/mrp_operations_extension/models/mrp_routing.py:56 +#, python-format +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:19 +#, python-format +msgid "" +"There must be one and only one operation with 'Produce here' check marked." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,time_start:0 +msgid "Time Start" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,time_stop:0 +msgid "Time Stop" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_stop:0 +msgid "Time after prod." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_start:0 +msgid "Time before prod." +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_cycle:0 +msgid "Time for 1 cycle (hours)" +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_cycle:0 +msgid "Time in hours for doing one cycle." +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_stop:0 +msgid "Time in hours for the cleaning." +msgstr "" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_start:0 +msgid "Time in hours for the setup." +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 +msgid "To Consume" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_tree_view_inh +msgid "Total" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,track_production:0 +msgid "Track production" +msgstr "" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_workcenter +msgid "Work Center" +msgstr "Centru de lucru" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_workcenter +msgid "Work Center Usage" +msgstr "Utilizare centru de lucru" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production_workcenter_line +#: field:mrp.production.product.line,work_order:0 +#: model:res.request.link,name:mrp_operations_extension.req_link_mrp_workcenter +#: field:stock.move,work_order:0 +msgid "Work Order" +msgstr "Comandă de lucru" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,workcenters:0 +msgid "Work centers" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.product.produce.line,work_produce_id:0 +msgid "Work produce id" +msgstr "" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,workcenter:0 +msgid "Workcenter" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_form +msgid "Workcenters" +msgstr "" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "draft,startworking" +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 +msgid "or" +msgstr "sau" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_form_view_inh +msgid "{'invisible': [('op_wc_lines', '!=', [])]}" +msgstr "" diff --git a/mrp_operations_extension/i18n/sl.po b/mrp_operations_extension/i18n/sl.po new file mode 100644 index 00000000000..ccd7a17b990 --- /dev/null +++ b/mrp_operations_extension/i18n/sl.po @@ -0,0 +1,560 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mrp_operations_extension +# +# Translators: +# Matjaž Mozetič , 2015 +msgid "" +msgstr "" +"Project-Id-Version: odoomrp-wip (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-20 17:16+0000\n" +"PO-Revision-Date: 2015-09-20 18:56+0000\n" +"Last-Translator: Matjaž Mozetič \n" +"Language-Team: Slovenian (http://www.transifex.com/oca/odoomrp-wip-8-0/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_number:0 +msgid "# Operators" +msgstr "# operaterjev" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_number:0 +#: field:mrp.routing.operation,op_number:0 +msgid "# operators" +msgstr "# operaterjev" + +#. 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 "Dejanski datum proizvodnje" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:35 +#: code:addons/mrp_operations_extension/models/mrp_production.py:36 +#, python-format +msgid "At least one work order must have checked 'Produce here'" +msgstr "Vsaj en delovni nalog mora imeti označbo 'Proizvedi tukaj'" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_bom +msgid "Bill of Material" +msgstr "Kosovnica" + +#. 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 "Preklic" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "Cancel Order" +msgstr "Preklic naloga" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,capacity_per_cycle:0 +msgid "Capacity per cycle" +msgstr "Kapaciteta na cikel" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:39 +#: code:addons/mrp_operations_extension/models/mrp_bom.py:49 +#, python-format +msgid "Changing Routing" +msgstr "Sprememba usmerjanja" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_bom.py:40 +#: code:addons/mrp_operations_extension/models/mrp_bom.py:50 +#, 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 "Sprememba usmerjanja povzroči spremembo operacije, v kateri se porabi vsaka komponenta. Privzeta je prva v delokrogu." + +#. module: mrp_operations_extension +#: 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 +msgid "Check Availability" +msgstr "Preveri razpoložljivost" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,code:0 +msgid "Code" +msgstr "Koda" + +#. 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_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 "Porabi" + +#. 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 "Porabi in proizvedi" + +#. 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 "Postavke porabe" + +#. module: mrp_operations_extension +#: selection:mrp.work.order.produce,mode:0 +msgid "Consume Only" +msgstr "Samo porabi" + +#. module: mrp_operations_extension +#: field:mrp.bom.line,operation:0 +msgid "Consumed in" +msgstr "Porabljeno" + +#. 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 "Ustvaril" + +#. 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 "Ustvarjeno" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,default:0 +msgid "Default" +msgstr "Privzeto" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_tree_view_inh +msgid "Default workcenter" +msgstr "Privzeti delovni center" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,description:0 +msgid "Description" +msgstr "Opis" + +#. 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 "Duration" +msgstr "Trajanje" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_efficiency:0 +msgid "Efficiency factor" +msgstr "Faktor učinkovitosti" + +#. module: mrp_operations_extension +#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_inh_form_view +msgid "Extra Information" +msgstr "Dodatne informacije" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,final_product:0 +msgid "Final Product to Stock" +msgstr "Končni proizvod za zalogo" + +#. module: mrp_operations_extension +#: 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 +msgid "Force Reservation" +msgstr "Vsili rezervacijo" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,id:0 field:mrp.routing.operation,id:0 +#: field:mrp.work.order.produce,id:0 +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 "Če je omogočeno, se v sklopu te operacije izvede proizvodnja in premik v zalogo končnih proizvodov. To oznako ima lahko le po ena operacija v vsakem usmerjanju." + +#. 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 "Information" +msgstr "Podrobnosti" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,write_uid:0 +#: field:mrp.routing.operation,write_uid:0 +#: field:mrp.work.order.produce,write_uid:0 +msgid "Last Updated by" +msgstr "Zadnjič posodobil" + +#. 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 "Zadnjič posodobljeno" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,lot_id:0 +msgid "Lot" +msgstr "Lot" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_operation_workcenter +msgid "MRP Operation Workcenter" +msgstr "Delovni center proizvodnih operacij" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_operation +msgid "MRP Routing Operation" +msgstr "Proizvodne operacije usmerjanja delokroga" + +#. module: mrp_operations_extension +#: field:mrp.config.settings,group_mrp_workers:0 +msgid "Manage operators in work centers " +msgstr "Upravljanje operacij v delovnih centrih" + +#. module: mrp_operations_extension +#: model:res.groups,name:mrp_operations_extension.group_mrp_workers +msgid "Manufacturing Operators" +msgstr "Operaterji proizvodnje" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production +msgid "Manufacturing Order" +msgstr "Proizvodni nalog" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_form_view_inh +msgid "Materials" +msgstr "Materiali" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:158 +#: code:addons/mrp_operations_extension/models/mrp_production.py:171 +#, python-format +msgid "Missing materials to start the production" +msgstr "Manjkajoči materiali za zagon proizvodnje" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,mode:0 +msgid "Mode" +msgstr "Način" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,move_lines:0 +msgid "Moves" +msgstr "Premiki" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,name:0 +msgid "Name" +msgstr "Naziv" + +#. module: mrp_operations_extension +#: field:mrp.routing.workcenter,operation:0 +msgid "Operation" +msgstr "Operacija" + +#. module: mrp_operations_extension +#: model:ir.ui.menu,name:mrp_operations_extension.mrp_routing_menu +#: view:mrp.production.workcenter.line:mrp_operations_extension.workcenter_line_future_calendar +msgid "Operations" +msgstr "Operacije" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,op_avg_cost:0 +msgid "Operator average hour cost" +msgstr "Povprečni strošek operaterja" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,op_avg_cost:0 +msgid "Operator avg. hour cost" +msgstr "Povprečni strošek operaterja" + +#. module: mrp_operations_extension +#: view:mrp.workcenter:mrp_operations_extension.mrp_workcenter_form_view_inh +#: field:mrp.workcenter,operators:0 +msgid "Operators" +msgstr "Operaterji" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,picking_type_id:0 +#: field:mrp.routing.workcenter,picking_type_id:0 +msgid "Picking Type" +msgstr "Tip prevzema" + +#. 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 "Načrtovani datum" + +#. module: mrp_operations_extension +#: field:mrp.routing.workcenter,op_wc_lines:0 +msgid "Possible work centers for this operation" +msgstr "Možni delovni centri za to operacijo" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_form_view_inh +msgid "Possible workcenters" +msgstr "Možni delovni centri" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,post_op_product:0 +msgid "Post-operation costing product" +msgstr "Strošek proizvoda po operaciji" + +#. module: mrp_operations_extension +#: field:mrp.workcenter,pre_op_product:0 +msgid "Pre-operation costing product" +msgstr "Strošek proizvoda pred operacijo" + +#. module: mrp_operations_extension +#: field:mrp.routing,previous_operations_finished:0 +#: field:mrp.routing.workcenter,previous_operations_finished:0 +msgid "Previous operations finished" +msgstr "Predhodne operacije dokončane" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_production.py:154 +#: code:addons/mrp_operations_extension/models/mrp_production.py:167 +#, python-format +msgid "Previous operations not finished" +msgstr "Predhodne operacije nedokončane" + +#. 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_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 "Proizvedi" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,do_production:0 +#: field:mrp.routing.workcenter,do_production:0 +msgid "Produce here" +msgstr "Proizvedi tukaj" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,product_id:0 +msgid "Product" +msgstr "Proizvod" + +#. 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 "Postavke proizvoda" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_product_produce_line +msgid "Product Produce Consume lines" +msgstr "Postavke porabe ob proizvodnji proizvoda" + +#. 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 "Product to Produce" +msgstr "Proizvod za proizvodnjo" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production_product_line +msgid "Production Scheduled Product" +msgstr "Proizvod načrtovan za proizvodnjo" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,consume_lines:0 +msgid "Products Consumed" +msgstr "Porabljeni proizvodi" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,steps:0 +msgid "Relevant Steps" +msgstr "Relevantni koraki" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing +msgid "Routing" +msgstr "Usmerjanje" + +#. 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 "Usmerjevalna operacije" + +#. 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 "Usmerjevalne operacije" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,routing_wc_line:0 +msgid "Routing WC Line" +msgstr "Postavka usmerjevalnega delovnega centra" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,routing_workcenter:0 +msgid "Routing workcenter" +msgstr "Usmerjevalni delovni center" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,product_qty:0 +msgid "Select Quantity" +msgstr "Izbira količine" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_stock_move +msgid "Stock Move" +msgstr "Premik zaloge" + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_routing.py:55 +#: code:addons/mrp_operations_extension/models/mrp_routing.py:56 +#, python-format +msgid "There must be one and only one line set as default." +msgstr "Samo ena postavka je lahko privzeta." + +#. module: mrp_operations_extension +#: code:addons/mrp_operations_extension/models/mrp_routing.py:19 +#, python-format +msgid "" +"There must be one and only one operation with 'Produce here' check marked." +msgstr "Samo ena operacija ima lahko označbo 'Proizvedi tukaj'." + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,time_start:0 +msgid "Time Start" +msgstr "Čas zagona" + +#. module: mrp_operations_extension +#: field:mrp.production.workcenter.line,time_stop:0 +msgid "Time Stop" +msgstr "Čas zaustavitve" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_stop:0 +msgid "Time after prod." +msgstr "Čas po proizvodnji" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_start:0 +msgid "Time before prod." +msgstr "Čas pred proizvodnjo" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,time_cycle:0 +msgid "Time for 1 cycle (hours)" +msgstr "Čas enega cikla (ur)" + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_cycle:0 +msgid "Time in hours for doing one cycle." +msgstr "Čas v urah za izvedbo enega cikla." + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_stop:0 +msgid "Time in hours for the cleaning." +msgstr "Čas v urah za čiščenje." + +#. module: mrp_operations_extension +#: help:mrp.operation.workcenter,time_start:0 +msgid "Time in hours for the setup." +msgstr "Čas v urah za pripravo." + +#. 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 "Za porabo" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_tree_view_inh +msgid "Total" +msgstr "Skupaj" + +#. module: mrp_operations_extension +#: field:mrp.work.order.produce,track_production:0 +msgid "Track production" +msgstr "Sledenje proizvodnje" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_workcenter +msgid "Work Center" +msgstr "Delovni center" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_routing_workcenter +msgid "Work Center Usage" +msgstr "Uporaba delovnega centra" + +#. module: mrp_operations_extension +#: model:ir.model,name:mrp_operations_extension.model_mrp_production_workcenter_line +#: field:mrp.production.product.line,work_order:0 +#: model:res.request.link,name:mrp_operations_extension.req_link_mrp_workcenter +#: field:stock.move,work_order:0 +msgid "Work Order" +msgstr "Delovni nalog" + +#. module: mrp_operations_extension +#: field:mrp.routing.operation,workcenters:0 +msgid "Work centers" +msgstr "Delovni centri" + +#. module: mrp_operations_extension +#: field:mrp.product.produce.line,work_produce_id:0 +msgid "Work produce id" +msgstr "ID proizvodnega dela" + +#. module: mrp_operations_extension +#: field:mrp.operation.workcenter,workcenter:0 +msgid "Workcenter" +msgstr "Delovni center" + +#. module: mrp_operations_extension +#: view:mrp.routing.operation:mrp_operations_extension.rountig_operation_form +msgid "Workcenters" +msgstr "Delovni centri" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "draft,startworking" +msgstr "osnutek,zagon" + +#. module: mrp_operations_extension +#: view:mrp.production:mrp_operations_extension.mrp_production_operation_buttons_form_view +msgid "oe_highlight" +msgstr "oe_highlight" + +#. 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 "or" +msgstr "ali" + +#. module: mrp_operations_extension +#: view:mrp.routing.workcenter:mrp_operations_extension.mrp_routing_workcenter_form_view_inh +msgid "{'invisible': [('op_wc_lines', '!=', [])]}" +msgstr "{'invisible': [('op_wc_lines', '!=', [])]}" diff --git a/mrp_operations_extension/migrations/8.0.2.0.0/post-migration.py b/mrp_operations_extension/migrations/8.0.2.0.0/post-migration.py new file mode 100644 index 00000000000..a4558ac166c --- /dev/null +++ b/mrp_operations_extension/migrations/8.0.2.0.0/post-migration.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- +# (c) 2015 Serv. Tecnol. Avanzados - Pedro M. Baeza +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html +from openerp.addons.mrp_operations_extension import ( + create_default_routing_workcenter_line) + + +def migrate(cr, version): + create_default_routing_workcenter_line(cr) diff --git a/mrp_operations_extension/models/__init__.py b/mrp_operations_extension/models/__init__.py new file mode 100644 index 00000000000..9df65920a7d --- /dev/null +++ b/mrp_operations_extension/models/__init__.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## +from . import mrp_routing +from . import mrp_production +from . import mrp_bom +from . import mrp_workcenter +from . import mrp_routing_operation +from . import stock_move +from . import res_config diff --git a/mrp_operations_extension/models/mrp_bom.py b/mrp_operations_extension/models/mrp_bom.py new file mode 100644 index 00000000000..d680123ff92 --- /dev/null +++ b/mrp_operations_extension/models/mrp_bom.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## +from openerp import models, fields, api, _ +import math + + +class MrpBom(models.Model): + _inherit = 'mrp.bom' + + @api.multi + def _prepare_wc_line(self, wc_use, level=0, factor=1): + res = super(MrpBom, self)._prepare_wc_line( + wc_use, level=level, factor=factor) + cycle = int(math.ceil(factor / (wc_use.cycle_nbr or 1))) + hour = wc_use.hour_nbr * cycle + default_wc_line = wc_use.op_wc_lines.filtered(lambda r: r.default) + if default_wc_line.custom_data: + time_start = default_wc_line.time_start + time_stop = default_wc_line.time_stop + else: + time_start = default_wc_line.workcenter.time_start + time_stop = default_wc_line.workcenter.time_stop + res.update({ + 'cycle': cycle, + 'hour': hour, + 'time_start': time_start, + 'time_stop': time_stop, + 'routing_wc_line': wc_use.id, + 'do_production': wc_use.do_production, + }) + return res + + @api.model + def _prepare_consume_line(self, bom_line, quantity, factor=1): + res = super(MrpBom, self)._prepare_consume_line( + bom_line, quantity, factor=factor) + res['bom_line'] = bom_line.id + return res + + @api.multi + @api.onchange('routing_id') + def onchange_routing_id(self): + for line in self.bom_line_ids: + line.operation = self.routing_id.workcenter_lines[:1] + if self.routing_id: + return {'warning': { + 'title': _('Changing Routing'), + 'message': _("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") + }} + return {} + + +class MrpBomLine(models.Model): + _inherit = 'mrp.bom.line' + + operation = fields.Many2one( + comodel_name='mrp.routing.workcenter', string='Consumed in') diff --git a/mrp_operations_extension/models/mrp_production.py b/mrp_operations_extension/models/mrp_production.py new file mode 100644 index 00000000000..d95ea3f3851 --- /dev/null +++ b/mrp_operations_extension/models/mrp_production.py @@ -0,0 +1,161 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## +from openerp import models, fields, api, exceptions, _ + + +class MrpProduction(models.Model): + _inherit = 'mrp.production' + + workcenter_lines = fields.One2many(readonly=False) + date_planned = fields.Datetime(states={'draft': [('readonly', False)], + 'confirmed': [('readonly', False)], + 'ready': [('readonly', False)]}) + + def _get_minor_sequence_operation(self, operations): + return min(operations, key=lambda x: x.sequence) + + @api.model + def _moves_assigned(self): + res = super(MrpProduction, self)._moves_assigned() + if res: + return True + operation = self._get_minor_sequence_operation(self.workcenter_lines) + assigned_moves, no_assigned_products = \ + self._get_operation_moves(operation, state='assigned') + return no_assigned_products == [] + + @api.multi + def action_confirm(self): + res = super(MrpProduction, self).action_confirm() + 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 res + + @api.multi + def _action_compute_lines(self, properties=None): + res = super(MrpProduction, self)._action_compute_lines( + properties=properties) + # Assign work orders to each consume line + for product_line in self.product_lines: + product_line.work_order = self.workcenter_lines.filtered( + lambda x: (x.routing_wc_line == + product_line.bom_line.operation)) + return res + + @api.model + def _make_production_consume_line(self, line): + move_id = super(MrpProduction, + self)._make_production_consume_line(line) + if line.work_order and move_id: + move = self.env['stock.move'].browse(move_id) + move.work_order = line.work_order.id + return move_id + + +class MrpProductionProductLine(models.Model): + _inherit = 'mrp.production.product.line' + + bom_line = fields.Many2one(comodel_name="mrp.bom.line") + work_order = fields.Many2one( + comodel_name='mrp.production.workcenter.line', string='Work Order') + + +class MrpProductionWorkcenterLine(models.Model): + _inherit = 'mrp.production.workcenter.line' + + @api.one + def _ready_materials(self): + self.is_material_ready = True + if self.product_line: + moves = self.env['stock.move'].search([('work_order', '=', + self.id)]) + self.is_material_ready = not any( + x not in ('assigned', 'cancel', 'done') for x in + moves.mapped('state')) + + @api.multi + @api.depends('routing_wc_line') + def _compute_possible_workcenters(self): + for line in self: + line.possible_workcenters = line.mapped( + 'routing_wc_line.op_wc_lines.workcenter') + + product_line = fields.One2many( + comodel_name='mrp.production.product.line', inverse_name='work_order', + string='Product Lines') + routing_wc_line = fields.Many2one( + comodel_name='mrp.routing.workcenter', string='Routing WC Line') + do_production = fields.Boolean(string='Produce here') + time_start = fields.Float(string="Time Start") + time_stop = fields.Float(string="Time Stop") + move_lines = fields.One2many( + comodel_name='stock.move', inverse_name='work_order', string='Moves') + is_material_ready = fields.Boolean( + string='Materials Ready', compute="_ready_materials") + possible_workcenters = fields.Many2many( + comodel_name="mrp.workcenter", compute="_compute_possible_workcenters") + workcenter_id = fields.Many2one( + domain="[('id', 'in', possible_workcenters[0][2])]") + + @api.one + def action_assign(self): + self.move_lines.action_assign() + + @api.one + def force_assign(self): + self.move_lines.force_assign() + + @api.multi + def _load_mo_date_planned(self, production, date_planned): + if date_planned < production.date_planned: + production.write({'date_planned': date_planned}) + return True + return False + + @api.model + def create(self, vals): + production_obj = self.env['mrp.production'] + dp = vals.get('date_planned', False) + production_id = vals.get('production_id', False) + if dp and production_id: + production = production_obj.browse(production_id) + self._load_mo_date_planned(production, dp) + return super(MrpProductionWorkcenterLine, self).create(vals) + + @api.multi + def write(self, vals, update=False): + if vals.get('date_planned', False): + dp = vals.get('date_planned') + update = self._load_mo_date_planned(self.production_id, dp) + res = super(MrpProductionWorkcenterLine, self).write(vals, + update=update) + return res + + def check_minor_sequence_operations(self): + seq = self.sequence + for operation in self.production_id.workcenter_lines: + if operation.sequence < seq and operation.state != 'done': + return False + return True + + def check_operation_moves_state(self, states): + for move_line in self.move_lines: + if move_line.state not in states: + return False + return True + + def action_start_working(self): + if self.routing_wc_line.previous_operations_finished and \ + not self.check_minor_sequence_operations(): + raise exceptions.Warning(_("Previous operations not finished")) + if not self.check_operation_moves_state(['assigned', 'cancel', + 'done']): + raise exceptions.Warning( + _("Missing materials to start the production")) + if self.production_id.state in ('confirmed', 'ready'): + self.production_id.state = 'in_production' + return super(MrpProductionWorkcenterLine, self).action_start_working() diff --git a/mrp_operations_extension/models/mrp_routing.py b/mrp_operations_extension/models/mrp_routing.py new file mode 100644 index 00000000000..0b5ea28fffe --- /dev/null +++ b/mrp_operations_extension/models/mrp_routing.py @@ -0,0 +1,136 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## +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.")) + + previous_operations_finished = fields.Boolean( + string='Previous operations finished') + + +class MrpRoutingWorkcenter(models.Model): + _inherit = 'mrp.routing.workcenter' + + def default_previous_operations_finished(self): + if self.routing_id: + self.previous_operations_finished = \ + self.routing_id.previous_operations_finished + + 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.") + previous_operations_finished = fields.Boolean( + string='Previous operations finished', + default=default_previous_operations_finished) + picking_type_id = fields.Many2one('stock.picking.type', 'Picking Type', + domain=[('code', '=', 'outgoing')]) + + @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 + self.picking_type_id = self.operation.picking_type_id + self.op_wc_lines = False + op_wc_lst = [] + is_default = True + for operation_wc in self.operation.workcenters: + data = { + 'default': is_default, + '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) + is_default = False + self.op_wc_lines = op_wc_lst + self.operation = False + + @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 + if line.custom_data: + self.cycle_nbr = line.capacity_per_cycle + self.hour_nbr = line.time_cycle + else: + self.cycle_nbr = line.workcenter.capacity_per_cycle + self.hour_nbr = line.workcenter.time_cycle + break + + +class MrpOperationWorkcenter(models.Model): + _name = 'mrp.operation.workcenter' + _description = 'MRP Operation Workcenter' + + custom_data = fields.Boolean( + string="Custom", default=False, + help="If you mark this check, this means that the work center in this " + "routing has different capacity data than the defined on the " + "work center itself") + 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. hour cost', + digits=dp.get_precision('Product Price')) + default = fields.Boolean('Default') + + @api.one + @api.onchange('workcenter', 'custom_data') + 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 diff --git a/mrp_operations_extension/models/mrp_routing_operation.py b/mrp_operations_extension/models/mrp_routing_operation.py new file mode 100644 index 00000000000..a624896d2dd --- /dev/null +++ b/mrp_operations_extension/models/mrp_routing_operation.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## +from openerp import models, fields + + +class MrpRoutingOperation(models.Model): + _name = 'mrp.routing.operation' + _description = 'MRP Routing Operation' + + name = fields.Char('Name', required=True) + code = fields.Char('Code') + description = fields.Text('Description') + steps = fields.Text('Relevant Steps') + workcenters = fields.Many2many( + 'mrp.workcenter', 'mrp_operation_workcenter_rel', 'operation', + 'workcenter', 'Work centers') + op_number = fields.Integer('# operators', default='0') + picking_type_id = fields.Many2one( + 'stock.picking.type', string='Picking Type') diff --git a/mrp_operations_extension/models/mrp_workcenter.py b/mrp_operations_extension/models/mrp_workcenter.py new file mode 100644 index 00000000000..81a17fb68e5 --- /dev/null +++ b/mrp_operations_extension/models/mrp_workcenter.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## +from openerp import models, fields, api +from openerp.addons import decimal_precision as dp + + +class MrpWorkcenter(models.Model): + _inherit = 'mrp.workcenter' + + @api.one + @api.onchange('operators') + def _operators_number_avg_cost(self): + self.op_number = len(self.operators) + num_oper = 0 + op_avg_cost = 0.0 + for ope in self.operators: + if (ope.employee_ids[0] and ope.employee_ids[0].product_id): + num_oper += 1 + op_avg_cost += ope.employee_ids[0].product_id.standard_price + self.op_avg_cost = op_avg_cost / (num_oper or 1) + + pre_op_product = fields.Many2one('product.product', + string='Pre-operation costing product') + post_op_product = fields.Many2one('product.product', + string='Post-operation costing product') + rt_operations = fields.Many2many( + 'mrp.routing.operation', 'mrp_operation_workcenter_rel', 'workcenter', + 'operation', 'Routing Operations') + operators = fields.Many2many('res.users', 'mrp_wc_operator_rel', + 'workcenter_id', 'operator_id', 'Operators') + op_number = fields.Integer(string='# Operators') + op_avg_cost = fields.Float(string='Operator average hour cost', + digits=dp.get_precision('Product Price')) diff --git a/mrp_operations_extension/models/res_config.py b/mrp_operations_extension/models/res_config.py new file mode 100644 index 00000000000..d1fe450e004 --- /dev/null +++ b/mrp_operations_extension/models/res_config.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## +from openerp import models, fields + + +class MrpConfigSettings(models.TransientModel): + _inherit = 'mrp.config.settings' + + group_mrp_workers = fields.Boolean( + string='Manage operators in work centers ', + implied_group='mrp_operations_extension.group_mrp_workers') diff --git a/mrp_operations_extension/models/stock_move.py b/mrp_operations_extension/models/stock_move.py new file mode 100644 index 00000000000..0af9b151dd5 --- /dev/null +++ b/mrp_operations_extension/models/stock_move.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## +from openerp import models, fields + + +class StockMove(models.Model): + _inherit = "stock.move" + + work_order = fields.Many2one('mrp.production.workcenter.line', + string='Work Order') diff --git a/mrp_operations_extension/security/ir.model.access.csv b/mrp_operations_extension/security/ir.model.access.csv new file mode 100644 index 00000000000..571fc4ee38c --- /dev/null +++ b/mrp_operations_extension/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_mrp_operation_workcenter,access_mrp_operation_workcenter,model_mrp_operation_workcenter,mrp.group_mrp_user,1,1,1,1 +access_mrp_routing_operation,access_mrp_routing_operation,model_mrp_routing_operation,mrp.group_mrp_user,1,1,1,1 \ No newline at end of file diff --git a/mrp_operations_extension/security/mrp_operations_extension_security.xml b/mrp_operations_extension/security/mrp_operations_extension_security.xml new file mode 100644 index 00000000000..63df8f15e32 --- /dev/null +++ b/mrp_operations_extension/security/mrp_operations_extension_security.xml @@ -0,0 +1,9 @@ + + + + + Manufacturing Operators + + + + diff --git a/mrp_operations_extension/static/description/icon.png b/mrp_operations_extension/static/description/icon.png new file mode 100644 index 00000000000..2606127c7f9 Binary files /dev/null and b/mrp_operations_extension/static/description/icon.png differ diff --git a/mrp_operations_extension/static/description/icon.svg b/mrp_operations_extension/static/description/icon.svg new file mode 100644 index 00000000000..f950a7e09ab --- /dev/null +++ b/mrp_operations_extension/static/description/icon.svg @@ -0,0 +1,151 @@ + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/mrp_operations_extension/tests/__init__.py b/mrp_operations_extension/tests/__init__.py new file mode 100644 index 00000000000..34f3a6f453c --- /dev/null +++ b/mrp_operations_extension/tests/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## +from . import test_mrp_operations_extension diff --git a/mrp_operations_extension/tests/test_mrp_operations_extension.py b/mrp_operations_extension/tests/test_mrp_operations_extension.py new file mode 100644 index 00000000000..2e2096ad197 --- /dev/null +++ b/mrp_operations_extension/tests/test_mrp_operations_extension.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## +import openerp.tests.common as common +from openerp import workflow + + +class TestMrpOperationsExtension(common.TransactionCase): + + def setUp(self): + super(TestMrpOperationsExtension, self).setUp() + self.production_model = self.env['mrp.production'] + self.work_order_produce_model = self.env['mrp.work.order.produce'] + self.produce_line_model = self.env['mrp.product.produce.line'] + self.production = self.production_model.browse( + self.env.ref('mrp_operations_extension.mrp_production_opeext').id) + self.production_case1 = self.production.copy() + + def test_confirm_production_operation_extension_case1(self): + workflow.trg_validate( + self.uid, 'mrp.production', self.production_case1.id, + 'button_confirm', self.cr) + self.production_case1.force_production() + for line in self.production_case1.workcenter_lines: + workflow.trg_validate(self.uid, 'mrp.production.workcenter.line', + line.id, 'button_start_working', self.cr) + self.assertEqual( + line.state, 'startworking', + 'Error work center line not in start working state') + consume = self.work_order_produce_model.with_context( + active_ids=[line.id], active_id=line.id).create({}) + result = consume.with_context( + active_ids=[line.id], active_id=line.id).on_change_qty( + consume.product_qty, []) + if 'value' in result: + if ('consume_lines' in result['value'] and + result['value']['consume_lines']): + for cl in result['value']['consume_lines']: + consu_vals = cl[2] + consu_vals['work_produce_id'] = consume.id + self.produce_line_model.create(consu_vals) + if not consume.final_product: + consume.with_context(active_id=line.id).do_consume() + else: + consume.with_context(active_id=line.id).do_consume_produce() + workflow.trg_validate( + self.uid, 'mrp.production.workcenter.line', line.id, + 'button_done', self.cr) + self.assertEqual( + line.state, 'done', + 'Error work center line not in done state') diff --git a/mrp_operations_extension/views/mrp_bom_view.xml b/mrp_operations_extension/views/mrp_bom_view.xml new file mode 100644 index 00000000000..fa20e52a623 --- /dev/null +++ b/mrp_operations_extension/views/mrp_bom_view.xml @@ -0,0 +1,21 @@ + + + + + + mrp.bom.form.inh + mrp.bom + + + + + + + + + + diff --git a/mrp_operations_extension/views/mrp_operation_workcenter_view.xml b/mrp_operations_extension/views/mrp_operation_workcenter_view.xml new file mode 100644 index 00000000000..648e9145d53 --- /dev/null +++ b/mrp_operations_extension/views/mrp_operation_workcenter_view.xml @@ -0,0 +1,40 @@ + + + + + rountig.operation.tree + mrp.operation.workcenter + + + + + + + + rountig.operation.tree + mrp.operation.workcenter + +
+ + + + + + + + + + +
+
+
+ + + Workcenter Operation + ir.actions.act_window + mrp.operation.workcenter + form + tree,form + +
+
diff --git a/mrp_operations_extension/views/mrp_production_view.xml b/mrp_operations_extension/views/mrp_production_view.xml new file mode 100644 index 00000000000..8404851c6c0 --- /dev/null +++ b/mrp_operations_extension/views/mrp_production_view.xml @@ -0,0 +1,242 @@ + + + + + mrp.production.product.tree.view.inh + + mrp.production.product.line + + + + + + + + + mrp.production.product.form.view.inh + + mrp.production.product.line + + + + + + + + + + + mrp.production.form.view.inh + mrp.production + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mrp.production.operation.buttons.form + mrp.production + + + + draft,startworking + + + + + + + + + + + + + Workcenter line inh + mrp.production.workcenter.line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Workcenter line op ext + mrp.production.workcenter.line + + + + + + + + + + mrp.production.workcenter.line.future.calendar + mrp.production.workcenter.line + + + + + + + + + + + + diff --git a/mrp_operations_extension/views/mrp_routing_operation_view.xml b/mrp_operations_extension/views/mrp_routing_operation_view.xml new file mode 100644 index 00000000000..6a0f2633e1d --- /dev/null +++ b/mrp_operations_extension/views/mrp_routing_operation_view.xml @@ -0,0 +1,50 @@ + + + + + routing.operation.tree + mrp.routing.operation + + + + + + + + + + routing.operation.form + mrp.routing.operation + +
+ + + + + + + + + + + + + +
+
+
+ + + Routing Operation + ir.actions.act_window + mrp.routing.operation + form + tree,form + + + +
+
diff --git a/mrp_operations_extension/views/mrp_routing_view.xml b/mrp_operations_extension/views/mrp_routing_view.xml new file mode 100644 index 00000000000..2b87918e337 --- /dev/null +++ b/mrp_operations_extension/views/mrp_routing_view.xml @@ -0,0 +1,103 @@ + + + + + {'readonly_by_pass': True} + + + + mrp.routing.form + mrp.routing + + + + + + + + + + mrp.routing.workcenter.tree.inh + mrp.routing.workcenter + + + + Default workcenter + + + Total + + + Total + + + + + + + + + mrp.routing.workcenter.form.inh + mrp.routing.workcenter + + + +

Select the operation to copy its current data to this routing line. WARNING: Once copied, if you change operation data, it won't be reflected here, unless you select it again.

+ + + + 1 + + + + + + + + + 1 + + + 1 + + + + + + +
+
+
diff --git a/mrp_operations_extension/views/mrp_workcenter_view.xml b/mrp_operations_extension/views/mrp_workcenter_view.xml new file mode 100644 index 00000000000..45ad641744c --- /dev/null +++ b/mrp_operations_extension/views/mrp_workcenter_view.xml @@ -0,0 +1,32 @@ + + + + + mrp.workcenter.form.inh + mrp.workcenter + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mrp_operations_extension/views/res_config_view.xml b/mrp_operations_extension/views/res_config_view.xml new file mode 100644 index 00000000000..1a557458e5c --- /dev/null +++ b/mrp_operations_extension/views/res_config_view.xml @@ -0,0 +1,19 @@ + + + + + mrp.settings.form + mrp.config.settings + + + +
+ +
+
+
+
+ +
+
diff --git a/mrp_operations_extension/wizard/__init__.py b/mrp_operations_extension/wizard/__init__.py new file mode 100644 index 00000000000..79cfe897f19 --- /dev/null +++ b/mrp_operations_extension/wizard/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## +from . import mrp_work_order_produce diff --git a/mrp_operations_extension/wizard/mrp_work_order_produce.py b/mrp_operations_extension/wizard/mrp_work_order_produce.py new file mode 100644 index 00000000000..ed3b5ff2df3 --- /dev/null +++ b/mrp_operations_extension/wizard/mrp_work_order_produce.py @@ -0,0 +1,129 @@ +# -*- coding: utf-8 -*- +############################################################################## +# For copyright and license notices, see __openerp__.py file in root directory +############################################################################## +from openerp import fields, models + + +class MrpWorkOrderProduce(models.TransientModel): + _name = "mrp.work.order.produce" + + def default_get(self, cr, uid, var_fields, context=None): + a = super(MrpWorkOrderProduce, self).default_get( + cr, uid, var_fields, context=context) + work = self.pool['mrp.production.workcenter.line'].browse( + cr, uid, context.get('active_ids'), context=context)[0] + a.update({'final_product': work.do_production}) + return a + + def _get_product_id(self): + """ To obtain product id + @return: id + """ + prod = False + if self.env.context.get("active_id"): + work_line = self.env['mrp.production.workcenter.line'].browse( + self.env.context.get("active_id")) + prod = work_line.production_id + return prod and prod.product_id or False + + def _get_track(self): + prod = self._get_product_id() + return prod and (prod.track_all or prod.track_production) or False + + def do_produce(self, cr, uid, ids, context=None): + work_line = self.pool['mrp.production.workcenter.line'].browse( + cr, uid, context.get("active_id"), context=context) + production_id = work_line.production_id.id + assert production_id + data = self.browse(cr, uid, ids[0], context=context) + self.pool['mrp.production'].action_produce( + cr, uid, production_id, data.product_qty, + data.mode, data, context=context) + return {} + + def do_consume(self, cr, uid, ids, context=None): + work_line = self.pool['mrp.production.workcenter.line'].browse( + cr, uid, context.get("active_id"), context=context) + production_id = work_line.production_id.id + assert production_id + data = self.browse(cr, uid, ids[0], context=context) + self.pool['mrp.production'].action_produce( + cr, uid, production_id, False, 'consume', data, context=context) + return {} + + def do_consume_produce(self, cr, uid, ids, context=None): + work_line = self.pool['mrp.production.workcenter.line'].browse( + cr, uid, context.get("active_id"), context=context) + production_id = work_line.production_id.id + assert production_id + data = self.browse(cr, uid, ids[0], context=context) + self.pool['mrp.production'].action_produce( + cr, uid, production_id, data.product_qty, 'consume_produce', data, + context=context) + return {} + + def on_change_qty(self, cr, uid, ids, product_qty, consume_lines, + context=None): + """ + When changing the quantity of products to be producedit will + recalculate the number of raw materials needed according to + the scheduled products and the already consumed/produced products + It will return the consume lines needed for the products + to be produced which the user can still adapt + """ + prod_obj = self.pool["mrp.production"] + work_line = self.pool['mrp.production.workcenter.line'].browse( + cr, uid, context.get("active_id"), context=context) + production = work_line.production_id + consume_lines = [] + new_consume_lines = [] + if product_qty > 0.0: + consume_lines = prod_obj._calculate_qty( + cr, uid, production, product_qty=product_qty, context=context) + line_ids = [i.product_id.id for i in work_line.product_line] + for consume in consume_lines: + if consume['product_id'] in line_ids: + new_consume_lines.append([0, False, consume]) + return {'value': {'consume_lines': new_consume_lines}} + + def _get_product_qty(self): + """ To obtain product quantity + @param self: The object pointer. + @param cr: A database cursor + @param uid: ID of the user currently logged in + @param context: A standard dictionary + @return: Quantity + """ + work_line = self.env['mrp.production.workcenter.line'].browse( + self.env.context.get("active_id")) + prod = work_line.production_id + done = 0.0 + for move in prod.move_created_ids2: + if move.product_id == prod.product_id: + if not move.scrapped: + done += move.product_qty + return (prod.product_qty - done) or prod.product_qty + + product_id = fields.Many2one('product.product', + string='Product', default=_get_product_id) + product_qty = fields.Float('Select Quantity', + digits=(12, 6), required=True, + default=_get_product_qty) + mode = fields.Selection([('consume_produce', 'Consume & Produce'), + ('consume', 'Consume Only')], + string='Mode', required=True, + default='consume') + lot_id = fields.Many2one('stock.production.lot', 'Lot') + consume_lines = fields.One2many('mrp.product.produce.line', + 'work_produce_id', + string='Products Consumed') + track_production = fields.Boolean('Track production', default=_get_track) + + final_product = fields.Boolean(string='Final Product to Stock') + + +class MrpProductProduceLine(models.TransientModel): + _inherit = "mrp.product.produce.line" + + work_produce_id = fields.Many2one('mrp.work.order.produce') diff --git a/mrp_operations_extension/wizard/mrp_workorder_produce_view.xml b/mrp_operations_extension/wizard/mrp_workorder_produce_view.xml new file mode 100644 index 00000000000..d73c5bbb2f9 --- /dev/null +++ b/mrp_operations_extension/wizard/mrp_workorder_produce_view.xml @@ -0,0 +1,107 @@ + + + + + + + + + MRP Work Order Produce + mrp.work.order.produce + +
+ + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + + + MRP Work Order Consume + mrp.work.order.produce + +
+ + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + + Produce + ir.actions.act_window + mrp.work.order.produce + form + form + new + + + + + Consume + ir.actions.act_window + mrp.work.order.produce + form + form + new + + + + +
+