diff --git a/setup/stock_inventory_discrepancy/odoo/addons/stock_inventory_discrepancy b/setup/stock_inventory_discrepancy/odoo/addons/stock_inventory_discrepancy new file mode 120000 index 000000000..4bd9c428d --- /dev/null +++ b/setup/stock_inventory_discrepancy/odoo/addons/stock_inventory_discrepancy @@ -0,0 +1 @@ +../../../../stock_inventory_discrepancy \ No newline at end of file diff --git a/setup/stock_inventory_discrepancy/setup.py b/setup/stock_inventory_discrepancy/setup.py new file mode 100644 index 000000000..28c57bb64 --- /dev/null +++ b/setup/stock_inventory_discrepancy/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) diff --git a/stock_inventory_discrepancy/README.rst b/stock_inventory_discrepancy/README.rst new file mode 100644 index 000000000..c2cbf8bac --- /dev/null +++ b/stock_inventory_discrepancy/README.rst @@ -0,0 +1,104 @@ +=========================== +Stock Inventory Discrepancy +=========================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--warehouse-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-warehouse/tree/13.0/stock_inventory_discrepancy + :alt: OCA/stock-logistics-warehouse +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-warehouse-13-0/stock-logistics-warehouse-13-0-stock_inventory_discrepancy + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/153/13.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Adds the capability to show the discrepancy of every line in an inventory and +to block the inventory validation (setting it as 'Pending to Approve') when the +discrepancy is greater than an user defined threshold. + +Only new group "Validate All inventory Adjustments" will be able to force the +validation of those blocked inventories. By default, Stock manager will belong +to this group. In addition, Stock Users can validate inventories under the +threshold now. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +#. Go to "Inventory > Warehouse Management" > Warehouses" or to "Inventory > + Warehouse Management" > Locations". +#. Modify the "Maximum Discrepancy Rate Threshold" either in a Warehouse or + in a location. If set to 0.0 in both the threshold is disabled. + +Usage +===== + +If you configured a "Maximum Discrepancy Rate Threshold". + +#. When validating an Inventory Adjustment if some line exceed the Discrepancy + Threshold the system will set the inventory's state to 'Pending to Approve' + and show the quantity of lines that exceed the threshold. +#. If both WH and location thresholds are configured, the location one has + preference. +#. The user with "Validate All inventory Adjustments" rights can force the + validation of an inventory pending to approve. + +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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ForgeFlow + +Contributors +~~~~~~~~~~~~ + +* Lois Rilo +* Andreas Dian Sukarno Putro +* Bhavesh Odedra +* Héctor Villarreal + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +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. + +This module is part of the `OCA/stock-logistics-warehouse `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/stock_inventory_discrepancy/__init__.py b/stock_inventory_discrepancy/__init__.py new file mode 100644 index 000000000..e3bed0638 --- /dev/null +++ b/stock_inventory_discrepancy/__init__.py @@ -0,0 +1,4 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import models +from .hooks import post_load_hook diff --git a/stock_inventory_discrepancy/__manifest__.py b/stock_inventory_discrepancy/__manifest__.py new file mode 100644 index 000000000..97ea07416 --- /dev/null +++ b/stock_inventory_discrepancy/__manifest__.py @@ -0,0 +1,24 @@ +# Copyright 2017-2020 ForgeFlow S.L. (http://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +{ + "name": "Stock Inventory Discrepancy", + "summary": "Adds the capability to show the discrepancy of every line in " + "an inventory and to block the inventory validation when the " + "discrepancy is over a user defined threshold.", + "version": "14.0.1.0.0", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/stock-logistics-warehouse", + "category": "Warehouse", + "depends": ["stock"], + "data": [ + "security/stock_inventory_discrepancy_security.xml", + "views/assets_backend.xml", + "views/stock_inventory_view.xml", + "views/stock_warehouse_view.xml", + "views/stock_location_view.xml", + ], + "license": "AGPL-3", + "post_load": "post_load_hook", + "installable": True, + "application": False, +} diff --git a/stock_inventory_discrepancy/hooks.py b/stock_inventory_discrepancy/hooks.py new file mode 100644 index 000000000..da9c343b5 --- /dev/null +++ b/stock_inventory_discrepancy/hooks.py @@ -0,0 +1,79 @@ +# Copyright 2019 ForgeFlow S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + + +from odoo import _ +from odoo.exceptions import UserError +from odoo.tools.float_utils import float_compare + +from odoo.addons.stock.models.stock_inventory import Inventory + + +def post_load_hook(): + def action_validate_discrepancy(self): + """Override method to avoid inline group validation""" + if not self.exists(): + return + self.ensure_one() + # START HOOK: - Allow specific group to validate inventory + # - Allow validate on pending status + if ( + not self.user_has_groups("stock.group_stock_manager") + and not self.user_has_groups( + "stock_inventory_discrepancy.group_stock_inventory_validation" + ) + and not self.user_has_groups( + "stock_inventory_discrepancy.group_stock_inventory_validation_always" + ) + ): + raise UserError( + _("Only a stock manager can validate an inventory adjustment.") + ) + if self.state not in ["confirm", "pending"]: + raise UserError( + _( + "You can't validate the inventory '%s', maybe this inventory " + + "has been already validated or isn't ready." + ) + % (self.name) + ) + # END HOOK + inventory_lines = self.line_ids.filtered( + lambda l: l.product_id.tracking in ["lot", "serial"] + and not l.prod_lot_id + and l.theoretical_qty != l.product_qty + ) + lines = self.line_ids.filtered( + lambda l: float_compare( + l.product_qty, 1, precision_rounding=l.product_uom_id.rounding + ) + > 0 + and l.product_id.tracking == "serial" + and l.prod_lot_id + ) + if inventory_lines and not lines: + wiz_lines = [ + (0, 0, {"product_id": product.id, "tracking": product.tracking}) + for product in inventory_lines.mapped("product_id") + ] + wiz = self.env["stock.track.confirmation"].create( + {"inventory_id": self.id, "tracking_line_ids": wiz_lines} + ) + return { + "name": _("Tracked Products in Inventory Adjustment"), + "type": "ir.actions.act_window", + "view_mode": "form", + "views": [(False, "form")], + "res_model": "stock.track.confirmation", + "target": "new", + "res_id": wiz.id, + } + self._action_done() + self.line_ids._check_company() + self._check_company() + return True + + if not hasattr(Inventory, "action_validate_original"): + Inventory.action_validate_original = Inventory.action_validate + + Inventory._patch_method("action_validate", action_validate_discrepancy) diff --git a/stock_inventory_discrepancy/i18n/cs_CZ.po b/stock_inventory_discrepancy/i18n/cs_CZ.po new file mode 100644 index 000000000..f1eec2289 --- /dev/null +++ b/stock_inventory_discrepancy/i18n/cs_CZ.po @@ -0,0 +1,183 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +# Translators: +# Lukáš Spurný , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-27 11:37+0000\n" +"PO-Revision-Date: 2018-02-27 11:37+0000\n" +"Last-Translator: Lukáš Spurný , 2018\n" +"Language-Team: Czech (Czech Republic) (https://www.transifex.com/oca/" +"teams/23907/cs_CZ/)\n" +"Language: cs_CZ\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "Inventář" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "Umístění inventáře" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/de.po b/stock_inventory_discrepancy/i18n/de.po new file mode 100644 index 000000000..a6dfb8f77 --- /dev/null +++ b/stock_inventory_discrepancy/i18n/de.po @@ -0,0 +1,182 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 03:53+0000\n" +"PO-Revision-Date: 2017-11-30 03:53+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "Bestand" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "Inventurposition" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "Lager" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/es.po b/stock_inventory_discrepancy/i18n/es.po new file mode 100644 index 000000000..3f3e2d562 --- /dev/null +++ b/stock_inventory_discrepancy/i18n/es.po @@ -0,0 +1,182 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 03:53+0000\n" +"PO-Revision-Date: 2017-11-30 03:53+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "Inventario" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "Línea inventario" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "Almacén" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/es_ES.po b/stock_inventory_discrepancy/i18n/es_ES.po new file mode 100644 index 000000000..8da3b5de6 --- /dev/null +++ b/stock_inventory_discrepancy/i18n/es_ES.po @@ -0,0 +1,184 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +# Translators: +# OCA Transbot , 2017 +# Daniel , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-26 11:41+0000\n" +"PO-Revision-Date: 2017-07-26 11:41+0000\n" +"Last-Translator: Daniel , 2017\n" +"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/" +"es_ES/)\n" +"Language: es_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "Inventario" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "Almacén" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/fr.po b/stock_inventory_discrepancy/i18n/fr.po new file mode 100644 index 000000000..15f22b614 --- /dev/null +++ b/stock_inventory_discrepancy/i18n/fr.po @@ -0,0 +1,182 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 03:53+0000\n" +"PO-Revision-Date: 2017-11-30 03:53+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "Inventaire" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "Entrepôt" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/fr_FR.po b/stock_inventory_discrepancy/i18n/fr_FR.po new file mode 100644 index 000000000..68a329cca --- /dev/null +++ b/stock_inventory_discrepancy/i18n/fr_FR.po @@ -0,0 +1,183 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +# Translators: +# Mohamed HABOU , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-18 04:05+0000\n" +"PO-Revision-Date: 2017-02-18 04:05+0000\n" +"Last-Translator: Mohamed HABOU , 2017\n" +"Language-Team: French (France) (https://www.transifex.com/oca/teams/23907/" +"fr_FR/)\n" +"Language: fr_FR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "Entrepôt " + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/hr.po b/stock_inventory_discrepancy/i18n/hr.po new file mode 100644 index 000000000..563f84fa7 --- /dev/null +++ b/stock_inventory_discrepancy/i18n/hr.po @@ -0,0 +1,183 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +# Translators: +# Bole , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-27 11:37+0000\n" +"PO-Revision-Date: 2018-02-27 11:37+0000\n" +"Last-Translator: Bole , 2018\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "Skladište" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/it.po b/stock_inventory_discrepancy/i18n/it.po new file mode 100644 index 000000000..4a91ffe56 --- /dev/null +++ b/stock_inventory_discrepancy/i18n/it.po @@ -0,0 +1,183 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +# Translators: +# OCA Transbot , 2017 +# Paolo Valier , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-18 04:05+0000\n" +"PO-Revision-Date: 2017-02-18 04:05+0000\n" +"Last-Translator: Paolo Valier , 2017\n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "Inventario" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "Riga d'Inventario" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "Magazzino" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/nl.po b/stock_inventory_discrepancy/i18n/nl.po new file mode 100644 index 000000000..289ed07e7 --- /dev/null +++ b/stock_inventory_discrepancy/i18n/nl.po @@ -0,0 +1,182 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-18 04:05+0000\n" +"PO-Revision-Date: 2017-02-18 04:05+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "Magazijn" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/nl_NL.po b/stock_inventory_discrepancy/i18n/nl_NL.po new file mode 100644 index 000000000..de0aea447 --- /dev/null +++ b/stock_inventory_discrepancy/i18n/nl_NL.po @@ -0,0 +1,183 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 03:53+0000\n" +"PO-Revision-Date: 2017-11-30 03:53+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "Voorraadregel" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "Magazijn" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/pt_BR.po b/stock_inventory_discrepancy/i18n/pt_BR.po new file mode 100644 index 000000000..1d9241a44 --- /dev/null +++ b/stock_inventory_discrepancy/i18n/pt_BR.po @@ -0,0 +1,184 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +# Translators: +# Paulo Ricardo , 2017 +# Felipe Lopes , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-18 04:05+0000\n" +"PO-Revision-Date: 2017-02-18 04:05+0000\n" +"Last-Translator: Felipe Lopes , 2017\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" +"teams/23907/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "Inventário" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "Armazém" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/sl.po b/stock_inventory_discrepancy/i18n/sl.po new file mode 100644 index 000000000..5a1f1e046 --- /dev/null +++ b/stock_inventory_discrepancy/i18n/sl.po @@ -0,0 +1,183 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 03:53+0000\n" +"PO-Revision-Date: 2017-11-30 03:53+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "Inventar" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "Postavka inventarja" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "Skladišče" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/stock_inventory_discrepancy.pot b/stock_inventory_discrepancy/i18n/stock_inventory_discrepancy.pot new file mode 100644 index 000000000..461a9ca8c --- /dev/null +++ b/stock_inventory_discrepancy/i18n/stock_inventory_discrepancy.pot @@ -0,0 +1,177 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's" +" ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "" +"The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already" +" validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/tr_TR.po b/stock_inventory_discrepancy/i18n/tr_TR.po new file mode 100644 index 000000000..891625053 --- /dev/null +++ b/stock_inventory_discrepancy/i18n/tr_TR.po @@ -0,0 +1,183 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +# Translators: +# Ozge Altinisik , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-18 04:05+0000\n" +"PO-Revision-Date: 2017-02-18 04:05+0000\n" +"Last-Translator: Ozge Altinisik , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/" +"tr_TR/)\n" +"Language: tr_TR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +msgid "Propagate discrepancy threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "Depo" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" diff --git a/stock_inventory_discrepancy/i18n/zh_CN.po b/stock_inventory_discrepancy/i18n/zh_CN.po new file mode 100644 index 000000000..0fdf0113e --- /dev/null +++ b/stock_inventory_discrepancy/i18n/zh_CN.po @@ -0,0 +1,205 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_inventory_discrepancy +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-09-28 09:24+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.8\n" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "Discrepancy" +msgstr "差异" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "Discrepancy percent (%)" +msgstr "差异百分比(%)" + +#. module: stock_inventory_discrepancy +#: model_terms:ir.ui.view,arch_db:stock_inventory_discrepancy.view_inventory_form +msgid "Force Validation" +msgstr "强制验证" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__has_over_discrepancy +msgid "Has Over Discrepancy" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory +msgid "Inventory" +msgstr "库存" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_inventory_line +msgid "Inventory Line" +msgstr "库存行" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_location +msgid "Inventory Locations" +msgstr "库存位置" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Maximum Discrepancy Rate Threshold" +msgstr "最大差异率阈值" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_warehouse__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Threshold defined in involved Location has preference." +msgstr "" +"进行库存调整时,任何产品所允许的最大差异率。在所涉及的位置中定义的阈值具有优" +"先级。" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__discrepancy_threshold +msgid "" +"Maximum Discrepancy Rate allowed for any product when doing an Inventory " +"Adjustment. Thresholds defined in Locations have preference over Warehouse's " +"ones." +msgstr "" +"进行库存调整时,任何产品所允许的最大差异率。在“位置”中定义的阈值优先于“仓" +"库”的阈值。" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__over_discrepancy_line_count +msgid "Number of Discrepancies Over Threshold" +msgstr "超过阈值的差异数量" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, fuzzy, python-format +msgid "Only a stock manager can validate an inventory adjustment." +msgstr "验证所有库存调整" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#: model:ir.model.fields.selection,name:stock_inventory_discrepancy.selection__stock_inventory__state__pending +#, python-format +msgid "Pending to Approve" +msgstr "待批准" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +#, fuzzy +msgid "Propagate Maximum Discrepancy Rate Threshold to child locations" +msgstr "最大差异率阈值" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_location__propagate_discrepancy_threshold +#, fuzzy +msgid "Propagate discrepancy threshold" +msgstr "最大差异率阈值" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory__state +msgid "" +"States of the Inventory Adjustment:\n" +"- Draft: Inventory not started.\n" +"- In Progress: Inventory in execution.\n" +"- Pending to Approve: Inventory have some discrepancies greater than the " +"predefined threshold and it's waiting for the Control Manager approval.\n" +"- Validated: Inventory Approved." +msgstr "" +"库存调整的状态:\n" +"- 草稿:库存未开始。\n" +"- 进行中:执行中的库存。\n" +"- 待批准:库存有一些差异大于预定义的阈值,并且正在等待控制管理中心批准。\n" +"- 已验证:库存已批准。" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory__state +msgid "Status" +msgstr "状态" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/models/stock_inventory.py:0 +#, python-format +msgid "" +"The Qty Update is over the Discrepancy Threshold.\n" +" Please, contact a user with rights to perform this action." +msgstr "" +"数量更新超过差异阈值。\n" +"请与有权执行此操作的用户联系。" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_qty +msgid "" +"The difference between the actual qty counted and the theoretical quantity " +"on hand." +msgstr "计算的实际数量与现有理论数量之间的差。" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,help:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_percent +msgid "The discrepancy expressed in percent with theoretical quantity as basis" +msgstr "差异以理论量为基础的百分比表示" + +#. module: stock_inventory_discrepancy +#. openerp-web +#: code:addons/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js:0 +#, python-format +msgid "The inventory needs to be approved" +msgstr "" + +#. module: stock_inventory_discrepancy +#: model:ir.model.fields,field_description:stock_inventory_discrepancy.field_stock_inventory_line__discrepancy_threshold +msgid "Threshold (%)" +msgstr "阈值(%)" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, fuzzy, python-format +msgid "Tracked Products in Inventory Adjustment" +msgstr "验证所有库存调整" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation_always +msgid "Validate All inventory Adjustments" +msgstr "验证所有库存调整" + +#. module: stock_inventory_discrepancy +#: model:res.groups,name:stock_inventory_discrepancy.group_stock_inventory_validation +msgid "Validate Inventory Adjustments Under Threshold" +msgstr "验证阈值下的库存调整" + +#. module: stock_inventory_discrepancy +#: model:ir.model,name:stock_inventory_discrepancy.model_stock_warehouse +msgid "Warehouse" +msgstr "仓库" + +#. module: stock_inventory_discrepancy +#: code:addons/stock_inventory_discrepancy/hooks.py:0 +#, python-format +msgid "" +"You can't validate the inventory '%s', maybe this inventory has been already " +"validated or isn't ready." +msgstr "" + +#~ msgid "Cancelled" +#~ msgstr "已取消" + +#~ msgid "Draft" +#~ msgstr "草稿" + +#~ msgid "In Progress" +#~ msgstr "进行中" + +#~ msgid "Validated" +#~ msgstr "已验证" diff --git a/stock_inventory_discrepancy/models/__init__.py b/stock_inventory_discrepancy/models/__init__.py new file mode 100644 index 000000000..6431c5a05 --- /dev/null +++ b/stock_inventory_discrepancy/models/__init__.py @@ -0,0 +1,6 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import stock_inventory +from . import stock_inventory_line +from . import stock_warehouse +from . import stock_location diff --git a/stock_inventory_discrepancy/models/stock_inventory.py b/stock_inventory_discrepancy/models/stock_inventory.py new file mode 100644 index 000000000..6ae5bec86 --- /dev/null +++ b/stock_inventory_discrepancy/models/stock_inventory.py @@ -0,0 +1,73 @@ +# Copyright 2017-21 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import UserError + + +class StockInventory(models.Model): + _inherit = "stock.inventory" + + state = fields.Selection( + selection_add=[("pending", "Pending to Approve"), ("done",)], + string="Status", + readonly=True, + index=True, + copy=False, + help="States of the Inventory Adjustment:\n" + "- Draft: Inventory not started.\n" + "- In Progress: Inventory in execution.\n" + "- Pending to Approve: Inventory have some discrepancies " + "greater than the predefined threshold and it's waiting for the " + "Control Manager approval.\n" + "- Validated: Inventory Approved.", + ) + over_discrepancy_line_count = fields.Integer( + string="Number of Discrepancies Over Threshold", + compute="_compute_over_discrepancy_line_count", + store=True, + ) + + @api.depends("line_ids.product_qty", "line_ids.theoretical_qty") + def _compute_over_discrepancy_line_count(self): + for inventory in self: + lines = inventory.line_ids.filtered( + lambda line: line._has_over_discrepancy() + ) + inventory.over_discrepancy_line_count = len(lines) + + def action_over_discrepancies(self): + self.write({"state": "pending"}) + + def _check_group_inventory_validation_always(self): + grp_inv_val = self.env.ref( + "stock_inventory_discrepancy.group_stock_inventory_validation_always" + ) + if grp_inv_val in self.env.user.groups_id: + return True + else: + raise UserError( + _( + "The Qty Update is over the Discrepancy Threshold.\n " + "Please, contact a user with rights to perform " + "this action." + ) + ) + + def _action_done(self): + for inventory in self: + if inventory.over_discrepancy_line_count > 0.0: + if self.user_has_groups( + "stock_inventory_discrepancy.group_stock_inventory_validation" + ) and not self.user_has_groups( + "stock_inventory_discrepancy." + "group_stock_inventory_validation_always" + ): + inventory.action_over_discrepancies() + return True + else: + inventory._check_group_inventory_validation_always() + return super(StockInventory, self)._action_done() + + def action_force_done(self): + return super(StockInventory, self)._action_done() diff --git a/stock_inventory_discrepancy/models/stock_inventory_line.py b/stock_inventory_discrepancy/models/stock_inventory_line.py new file mode 100644 index 000000000..a096b5221 --- /dev/null +++ b/stock_inventory_discrepancy/models/stock_inventory_line.py @@ -0,0 +1,63 @@ +# Copyright 2017-21 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import api, fields, models + + +class StockInventoryLine(models.Model): + _inherit = "stock.inventory.line" + + discrepancy_qty = fields.Float( + string="Discrepancy", + compute="_compute_discrepancy", + help="The difference between the actual qty counted and the " + "theoretical quantity on hand.", + digits="Product Unit of Measure", + default=0, + ) + discrepancy_percent = fields.Float( + string="Discrepancy percent (%)", + compute="_compute_discrepancy", + digits=(3, 2), + help="The discrepancy expressed in percent with theoretical quantity " + "as basis", + ) + discrepancy_threshold = fields.Float( + string="Threshold (%)", + digits=(3, 2), + help="Maximum Discrepancy Rate Threshold", + compute="_compute_discrepancy_threshold", + ) + has_over_discrepancy = fields.Boolean( + compute="_compute_has_over_discrepancy", + ) + + @api.depends("theoretical_qty", "product_qty") + def _compute_discrepancy(self): + for line in self: + line.discrepancy_qty = line.product_qty - line.theoretical_qty + if line.theoretical_qty: + line.discrepancy_percent = 100 * abs( + (line.product_qty - line.theoretical_qty) / line.theoretical_qty + ) + elif not line.theoretical_qty and line.product_qty: + line.discrepancy_percent = 100.0 + else: + line.discrepancy_percent = 0.0 + + def _compute_discrepancy_threshold(self): + for line in self: + whs = line.location_id.get_warehouse() + if line.location_id.discrepancy_threshold > 0.0: + line.discrepancy_threshold = line.location_id.discrepancy_threshold + elif whs.discrepancy_threshold > 0.0: + line.discrepancy_threshold = whs.discrepancy_threshold + else: + line.discrepancy_threshold = False + + def _compute_has_over_discrepancy(self): + for rec in self: + rec.has_over_discrepancy = rec._has_over_discrepancy() + + def _has_over_discrepancy(self): + return self.discrepancy_percent > self.discrepancy_threshold > 0 diff --git a/stock_inventory_discrepancy/models/stock_location.py b/stock_inventory_discrepancy/models/stock_location.py new file mode 100644 index 000000000..96f927673 --- /dev/null +++ b/stock_inventory_discrepancy/models/stock_location.py @@ -0,0 +1,36 @@ +# Copyright 2017-2020 ForgeFlow S.L. +# (http://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class StockLocation(models.Model): + _inherit = "stock.location" + + discrepancy_threshold = fields.Float( + string="Maximum Discrepancy Rate Threshold", + digits=(3, 2), + help="Maximum Discrepancy Rate allowed for any product when doing " + "an Inventory Adjustment. Thresholds defined in Locations have " + "preference over Warehouse's ones.", + ) + propagate_discrepancy_threshold = fields.Boolean( + string="Propagate discrepancy threshold", + help="Propagate Maximum Discrepancy Rate Threshold to child locations", + ) + + def write(self, values): + res = super().write(values) + # Set the discrepancy threshold for all child locations + if values.get("discrepancy_threshold", False): + for location in self.filtered( + lambda loc: loc.propagate_discrepancy_threshold and loc.child_ids + ): + location.child_ids.write( + { + "discrepancy_threshold": values["discrepancy_threshold"], + "propagate_discrepancy_threshold": True, + } + ) + return res diff --git a/stock_inventory_discrepancy/models/stock_warehouse.py b/stock_inventory_discrepancy/models/stock_warehouse.py new file mode 100644 index 000000000..6f1f4ec31 --- /dev/null +++ b/stock_inventory_discrepancy/models/stock_warehouse.py @@ -0,0 +1,17 @@ +# Copyright 2017-2020 ForgeFlow S.L. +# (http://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class StockWarehouse(models.Model): + _inherit = "stock.warehouse" + + discrepancy_threshold = fields.Float( + string="Maximum Discrepancy Rate Threshold", + digits=(3, 2), + help="Maximum Discrepancy Rate allowed for any product when doing " + "an Inventory Adjustment. Threshold defined in involved Location " + "has preference.", + ) diff --git a/stock_inventory_discrepancy/readme/CONFIGURE.rst b/stock_inventory_discrepancy/readme/CONFIGURE.rst new file mode 100644 index 000000000..9d5628d89 --- /dev/null +++ b/stock_inventory_discrepancy/readme/CONFIGURE.rst @@ -0,0 +1,4 @@ +#. Go to "Inventory > Warehouse Management" > Warehouses" or to "Inventory > + Warehouse Management" > Locations". +#. Modify the "Maximum Discrepancy Rate Threshold" either in a Warehouse or + in a location. If set to 0.0 in both the threshold is disabled. diff --git a/stock_inventory_discrepancy/readme/CONTRIBUTORS.rst b/stock_inventory_discrepancy/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..0fea89874 --- /dev/null +++ b/stock_inventory_discrepancy/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* Lois Rilo +* Andreas Dian Sukarno Putro +* Bhavesh Odedra +* Héctor Villarreal diff --git a/stock_inventory_discrepancy/readme/DESCRIPTION.rst b/stock_inventory_discrepancy/readme/DESCRIPTION.rst new file mode 100644 index 000000000..9dbe85577 --- /dev/null +++ b/stock_inventory_discrepancy/readme/DESCRIPTION.rst @@ -0,0 +1,8 @@ +Adds the capability to show the discrepancy of every line in an inventory and +to block the inventory validation (setting it as 'Pending to Approve') when the +discrepancy is greater than an user defined threshold. + +Only new group "Validate All inventory Adjustments" will be able to force the +validation of those blocked inventories. By default, Stock manager will belong +to this group. In addition, Stock Users can validate inventories under the +threshold now. diff --git a/stock_inventory_discrepancy/readme/USAGE.rst b/stock_inventory_discrepancy/readme/USAGE.rst new file mode 100644 index 000000000..c33fe5d60 --- /dev/null +++ b/stock_inventory_discrepancy/readme/USAGE.rst @@ -0,0 +1,9 @@ +If you configured a "Maximum Discrepancy Rate Threshold". + +#. When validating an Inventory Adjustment if some line exceed the Discrepancy + Threshold the system will set the inventory's state to 'Pending to Approve' + and show the quantity of lines that exceed the threshold. +#. If both WH and location thresholds are configured, the location one has + preference. +#. The user with "Validate All inventory Adjustments" rights can force the + validation of an inventory pending to approve. diff --git a/stock_inventory_discrepancy/security/stock_inventory_discrepancy_security.xml b/stock_inventory_discrepancy/security/stock_inventory_discrepancy_security.xml new file mode 100644 index 000000000..b9d941028 --- /dev/null +++ b/stock_inventory_discrepancy/security/stock_inventory_discrepancy_security.xml @@ -0,0 +1,30 @@ + + + + + Validate Inventory Adjustments Under Threshold + + + + Validate All inventory Adjustments + + + + + + + + + + + diff --git a/stock_inventory_discrepancy/static/description/icon.png b/stock_inventory_discrepancy/static/description/icon.png new file mode 100644 index 000000000..3a0328b51 Binary files /dev/null and b/stock_inventory_discrepancy/static/description/icon.png differ diff --git a/stock_inventory_discrepancy/static/description/index.html b/stock_inventory_discrepancy/static/description/index.html new file mode 100644 index 000000000..8046f1f27 --- /dev/null +++ b/stock_inventory_discrepancy/static/description/index.html @@ -0,0 +1,452 @@ + + + + + + +Stock Inventory Discrepancy + + + +
+

Stock Inventory Discrepancy

+ + +

Beta License: AGPL-3 OCA/stock-logistics-warehouse Translate me on Weblate Try me on Runbot

+

Adds the capability to show the discrepancy of every line in an inventory and +to block the inventory validation (setting it as ‘Pending to Approve’) when the +discrepancy is greater than an user defined threshold.

+

Only new group “Validate All inventory Adjustments” will be able to force the +validation of those blocked inventories. By default, Stock manager will belong +to this group. In addition, Stock Users can validate inventories under the +threshold now.

+

Table of contents

+ +
+

Configuration

+
    +
  1. Go to “Inventory > Warehouse Management” > Warehouses” or to “Inventory > +Warehouse Management” > Locations”.
  2. +
  3. Modify the “Maximum Discrepancy Rate Threshold” either in a Warehouse or +in a location. If set to 0.0 in both the threshold is disabled.
  4. +
+
+
+

Usage

+

If you configured a “Maximum Discrepancy Rate Threshold”.

+
    +
  1. When validating an Inventory Adjustment if some line exceed the Discrepancy +Threshold the system will set the inventory’s state to ‘Pending to Approve’ +and show the quantity of lines that exceed the threshold.
  2. +
  3. If both WH and location thresholds are configured, the location one has +preference.
  4. +
  5. The user with “Validate All inventory Adjustments” rights can force the +validation of an inventory pending to approve.
  6. +
+
+
+

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.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • ForgeFlow
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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.

+

This module is part of the OCA/stock-logistics-warehouse project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js b/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js new file mode 100644 index 000000000..c12b236fe --- /dev/null +++ b/stock_inventory_discrepancy/static/src/js/inventory_validate_button_controller.js @@ -0,0 +1,42 @@ +odoo.define("stock_inventory_discrepancy.InventoryValidationController", function ( + require +) { + "use strict"; + + var core = require("web.core"); + var InventoryValidationController = require("stock.InventoryValidationController"); + + var _t = core._t; + + InventoryValidationController.include({ + /** + * @override + * @see displayNotification + */ + do_notify: function (title, message, sticky, className) { + var self = this; + if (this.modelName === "stock.inventory.line") { + this._rpc({ + model: "stock.inventory", + method: "read", + args: [this.inventory_id, ["state"]], + }) + .then(function (res) { + if (res[0].state === "pending") { + title = _t("Pending to Approve"); + message = _t("The inventory needs to be approved"); + } + }) + .finally(function () { + return self.displayNotification({ + type: "warning", + title: title, + message: message, + sticky: sticky, + className: className, + }); + }); + } + }, + }); +}); diff --git a/stock_inventory_discrepancy/tests/__init__.py b/stock_inventory_discrepancy/tests/__init__.py new file mode 100644 index 000000000..f019e5719 --- /dev/null +++ b/stock_inventory_discrepancy/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import test_inventory_discrepancy diff --git a/stock_inventory_discrepancy/tests/test_inventory_discrepancy.py b/stock_inventory_discrepancy/tests/test_inventory_discrepancy.py new file mode 100644 index 000000000..22d54cd61 --- /dev/null +++ b/stock_inventory_discrepancy/tests/test_inventory_discrepancy.py @@ -0,0 +1,283 @@ +# Copyright 2017-2020 ForgeFlow S.L. +# (http://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo.exceptions import UserError +from odoo.tests.common import TransactionCase + + +class TestInventoryDiscrepancy(TransactionCase): + def setUp(self, *args, **kwargs): + super(TestInventoryDiscrepancy, self).setUp(*args, **kwargs) + self.obj_wh = self.env["stock.warehouse"] + self.obj_location = self.env["stock.location"] + self.obj_inventory = self.env["stock.inventory"] + self.obj_product = self.env["product.product"] + self.obj_warehouse = self.env["stock.warehouse"] + + self.product1 = self.obj_product.create( + {"name": "Test Product 1", "type": "product", "default_code": "PROD1"} + ) + self.product2 = self.obj_product.create( + {"name": "Test Product 2", "type": "product", "default_code": "PROD2"} + ) + self.test_loc = self.obj_location.create( + {"name": "Test Location", "usage": "internal", "discrepancy_threshold": 0.1} + ) + self.test_wh = self.obj_warehouse.create( + {"name": "Test WH", "code": "T", "discrepancy_threshold": 0.2} + ) + self.obj_location._parent_store_compute() + + # Create Stock manager able to force validation on inventories. + group_stock_man = self.env.ref("stock.group_stock_manager") + group_inventory_all = self.env.ref( + "stock_inventory_discrepancy.group_stock_inventory_validation_always" + ) + group_employee = self.env.ref("base.group_user") + + self.manager = self.env["res.users"].create( + { + "name": "Test Manager", + "login": "manager", + "email": "test.manager@example.com", + "groups_id": [(6, 0, [group_stock_man.id, group_inventory_all.id])], + } + ) + group_stock_user = self.env.ref("stock.group_stock_user") + self.user = self.env["res.users"].create( + { + "name": "Test User", + "login": "user", + "email": "test.user@example.com", + "groups_id": [(6, 0, [group_stock_user.id])], + } + ) + + self.user_2 = self.env["res.users"].create( + { + "name": "Test User 2", + "login": "user_2", + "email": "test2.user@example.com", + "groups_id": [(6, 0, [group_stock_user.id, group_inventory_all.id])], + } + ) + + self.no_user = self.env["res.users"].create( + { + "name": "No User", + "login": "no_user", + "email": "test.no_user@example.com", + "groups_id": [(6, 0, [group_employee.id])], + } + ) + + starting_inv = self.obj_inventory.create( + { + "name": "Starting inventory", + "line_ids": [ + ( + 0, + 0, + { + "product_id": self.product1.id, + "product_uom_id": self.env.ref("uom.product_uom_unit").id, + "product_qty": 2.0, + "location_id": self.test_loc.id, + }, + ), + ( + 0, + 0, + { + "product_id": self.product2.id, + "product_uom_id": self.env.ref("uom.product_uom_unit").id, + "product_qty": 4.0, + "location_id": self.test_loc.id, + }, + ), + ], + } + ) + starting_inv.action_force_done() + + def test_compute_discrepancy(self): + """Tests if the discrepancy is correctly computed.""" + inventory = self.obj_inventory.create( + { + "name": "Test Discrepancy Computation", + "location_ids": [(4, self.test_loc.id)], + "line_ids": [ + ( + 0, + 0, + { + "product_id": self.product1.id, + "product_uom_id": self.env.ref("uom.product_uom_unit").id, + "product_qty": 3.0, + "location_id": self.test_loc.id, + }, + ), + ( + 0, + 0, + { + "product_id": self.product2.id, + "product_uom_id": self.env.ref("uom.product_uom_unit").id, + "product_qty": 3.0, + "location_id": self.test_loc.id, + }, + ), + ], + } + ) + self.assertEqual( + inventory.line_ids[0].discrepancy_qty, + 1.0, + "Wrong Discrepancy qty computation.", + ) + self.assertEqual( + inventory.line_ids[1].discrepancy_qty, + -1.0, + "Wrong Discrepancy qty computation.", + ) + + def test_discrepancy_validation(self): + """Tests the new workflow""" + inventory = self.obj_inventory.create( + { + "name": "Test Forcing Validation Method", + "location_ids": [(4, self.test_loc.id)], + "line_ids": [ + ( + 0, + 0, + { + "product_id": self.product1.id, + "product_uom_id": self.env.ref("uom.product_uom_unit").id, + "product_qty": 3.0, + "location_id": self.test_loc.id, + }, + ) + ], + } + ) + self.assertEqual( + inventory.state, "draft", "Testing Inventory wrongly configurated" + ) + self.assertEqual( + inventory.line_ids.discrepancy_threshold, + 0.1, + "Threshold wrongly computed in Inventory Line.", + ) + inventory.with_user(self.user).action_start() + inventory.with_user(self.user).action_validate() + self.assertTrue(inventory.line_ids.has_over_discrepancy) + self.assertEqual( + inventory.over_discrepancy_line_count, + 1, + "Computation of over-discrepancies failed.", + ) + self.assertEqual( + inventory.state, + "pending", + "Inventory Adjustment not changing to Pending to " "Approve.", + ) + inventory.with_user(self.manager).action_force_done() + self.assertEqual( + inventory.state, + "done", + "Forcing the validation of the inventory adjustment " + "not working properly.", + ) + + def test_discrepancy_validation_always(self): + """Tests the new workflow""" + inventory = self.obj_inventory.create( + { + "name": "Test Forcing Validation Method", + "location_ids": [(4, self.test_loc.id)], + "line_ids": [ + ( + 0, + 0, + { + "product_id": self.product1.id, + "product_uom_id": self.env.ref("uom.product_uom_unit").id, + "product_qty": 3.0, + "location_id": self.test_loc.id, + }, + ) + ], + } + ) + self.assertEqual( + inventory.state, "draft", "Testing Inventory wrongly configurated" + ) + self.assertEqual( + inventory.line_ids.discrepancy_threshold, + 0.1, + "Threshold wrongly computed in Inventory Line.", + ) + inventory.with_user(self.user_2).action_start() + # User with no privileges can't validate a Inventory Adjustment. + with self.assertRaises(UserError): + inventory.with_user(self.no_user).action_validate() + inventory.with_user(self.user_2).action_validate() + self.assertEqual( + inventory.over_discrepancy_line_count, + 1, + "Computation of over-discrepancies failed.", + ) + self.assertEqual( + inventory.state, + "done", + "Stock Managers belongs to group Validate All inventory Adjustments", + ) + + def test_warehouse_threshold(self): + """Tests the behaviour if the threshold is set on the WH.""" + inventory = self.obj_inventory.create( + { + "name": "Test Threshold Defined in WH", + "location_ids": [(4, self.test_wh.view_location_id.id)], + "line_ids": [ + ( + 0, + 0, + { + "product_id": self.product1.id, + "product_uom_id": self.env.ref("uom.product_uom_unit").id, + "product_qty": 3.0, + "location_id": self.test_wh.lot_stock_id.id, + }, + ) + ], + } + ) + self.assertEqual( + inventory.line_ids.discrepancy_threshold, + 0.2, + "Threshold wrongly computed in Inventory Line.", + ) + + def test_propagate_discrepancy_threshold(self): + view_test_loc = self.obj_location.create( + {"name": "Test Location", "usage": "view", "discrepancy_threshold": 0.1} + ) + child_test_loc = self.obj_location.create( + { + "name": "Child Test Location", + "usage": "internal", + "discrepancy_threshold": 0.2, + "location_id": view_test_loc.id, + } + ) + view_test_loc.write( + {"discrepancy_threshold": 0.3, "propagate_discrepancy_threshold": True} + ) + self.assertEqual( + child_test_loc.discrepancy_threshold, + 0.3, + "Threshold Discrepancy wrongly propagated", + ) diff --git a/stock_inventory_discrepancy/views/assets_backend.xml b/stock_inventory_discrepancy/views/assets_backend.xml new file mode 100644 index 000000000..829e9efef --- /dev/null +++ b/stock_inventory_discrepancy/views/assets_backend.xml @@ -0,0 +1,15 @@ + + +