Initial commit: OCA Workflow Process packages (456 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:00 +02:00
commit d366e42934
18799 changed files with 1284507 additions and 0 deletions

View file

@ -0,0 +1,46 @@
# Stock Inventory Adjustment
Odoo addon: stock_inventory
## Installation
```bash
pip install odoo-bringout-oca-stock-logistics-warehouse-stock_inventory
```
## Dependencies
This addon depends on:
- stock
## Manifest Information
- **Name**: Stock Inventory Adjustment
- **Version**: 16.0.2.6.0
- **Category**: Inventory/Inventory
- **License**: LGPL-3
- **Installable**: True
## Source
Based on [OCA/stock-logistics-warehouse](https://github.com/OCA/stock-logistics-warehouse) branch 16.0, addon `stock_inventory`.
## License
This package maintains the original LGPL-3 license from the upstream Odoo project.
## Documentation
- Overview: doc/OVERVIEW.md
- Architecture: doc/ARCHITECTURE.md
- Models: doc/MODELS.md
- Controllers: doc/CONTROLLERS.md
- Wizards: doc/WIZARDS.md
- Reports: doc/REPORTS.md
- Security: doc/SECURITY.md
- Install: doc/INSTALL.md
- Usage: doc/USAGE.md
- Configuration: doc/CONFIGURATION.md
- Dependencies: doc/DEPENDENCIES.md
- Troubleshooting: doc/TROUBLESHOOTING.md
- FAQ: doc/FAQ.md

View file

@ -0,0 +1,32 @@
# Architecture
```mermaid
flowchart TD
U[Users] -->|HTTP| V[Views and QWeb Templates]
V --> C[Controllers]
V --> W[Wizards Transient Models]
C --> M[Models and ORM]
W --> M
M --> R[Reports]
DX[Data XML] --> M
S[Security ACLs and Groups] -. enforces .-> M
subgraph Stock_inventory Module - stock_inventory
direction LR
M:::layer
W:::layer
C:::layer
V:::layer
R:::layer
S:::layer
DX:::layer
end
classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px
```
Notes
- Views include tree/form/kanban templates and report templates.
- Controllers provide website/portal routes when present.
- Wizards are UI flows implemented with `models.TransientModel`.
- Data XML loads data/demo records; Security defines groups and access.

View file

@ -0,0 +1,3 @@
# Configuration
Refer to Odoo settings for stock_inventory. Configure related models, access rights, and options as needed.

View file

@ -0,0 +1,3 @@
# Controllers
This module does not define custom HTTP controllers.

View file

@ -0,0 +1,5 @@
# Dependencies
This addon depends on:
- [stock](../../odoo-bringout-oca-ocb-stock)

View file

@ -0,0 +1,4 @@
# FAQ
- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged).
- Q: How to enable? A: Start server with --addon stock_inventory or install in UI.

View file

@ -0,0 +1,7 @@
# Install
```bash
pip install odoo-bringout-oca-stock-logistics-warehouse-stock_inventory"
# or
uv pip install odoo-bringout-oca-stock-logistics-warehouse-stock_inventory"
```

View file

@ -0,0 +1,16 @@
# Models
Detected core models and extensions in stock_inventory.
```mermaid
classDiagram
class stock_inventory
class res_company
class res_config_settings
class stock_move_line
class stock_quant
```
Notes
- Classes show model technical names; fields omitted for brevity.
- Items listed under _inherit are extensions of existing models.

View file

@ -0,0 +1,6 @@
# Overview
Packaged Odoo addon: stock_inventory. Provides features documented in upstream Odoo 16 under this addon.
- Source: OCA/OCB 16.0, addon stock_inventory
- License: LGPL-3

View file

@ -0,0 +1,3 @@
# Reports
This module does not define custom reports.

View file

@ -0,0 +1,41 @@
# Security
Access control and security definitions in stock_inventory.
## Access Control Lists (ACLs)
Model access permissions defined in:
- **[ir.model.access.csv](../stock_inventory/security/ir.model.access.csv)**
- 2 model access rules
## Record Rules
Row-level security rules defined in:
## Security Groups & Configuration
Security groups and permissions defined in:
- **[security.xml](../stock_inventory/security/security.xml)**
```mermaid
graph TB
subgraph "Security Layers"
A[Users] --> B[Groups]
B --> C[Access Control Lists]
C --> D[Models]
B --> E[Record Rules]
E --> F[Individual Records]
end
```
Security files overview:
- **[ir.model.access.csv](../stock_inventory/security/ir.model.access.csv)**
- Model access permissions (CRUD rights)
- **[security.xml](../stock_inventory/security/security.xml)**
- Security groups, categories, and XML-based rules
Notes
- Access Control Lists define which groups can access which models
- Record Rules provide row-level security (filter records by user/group)
- Security groups organize users and define permission sets
- All security is enforced at the ORM level by Odoo

View file

@ -0,0 +1,5 @@
# Troubleshooting
- Ensure Python and Odoo environment matches repo guidance.
- Check database connectivity and logs if startup fails.
- Validate that dependent addons listed in DEPENDENCIES.md are installed.

View file

@ -0,0 +1,7 @@
# Usage
Start Odoo including this addon (from repo root):
```bash
python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_inventory
```

View file

@ -0,0 +1,3 @@
# Wizards
This module does not include UI wizards.

View file

@ -0,0 +1,42 @@
[project]
name = "odoo-bringout-oca-stock-logistics-warehouse-stock_inventory"
version = "16.0.0"
description = "Stock Inventory Adjustment - Allows to do an easier follow up of the Inventory Adjustments"
authors = [
{ name = "Ernad Husremovic", email = "hernad@bring.out.ba" }
]
dependencies = [
"odoo-bringout-oca-ocb-stock>=16.0.0",
"requests>=2.25.1"
]
readme = "README.md"
requires-python = ">= 3.11"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Office/Business",
]
[project.urls]
homepage = "https://github.com/bringout/0"
repository = "https://github.com/bringout/0"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["stock_inventory"]
[tool.rye]
managed = true
dev-dependencies = [
"pytest>=8.4.1",
]

View file

@ -0,0 +1,97 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association
==========================
Stock Inventory Adjustment
==========================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:bf53f43752ec0b39b9d3ce764c4de4bd67acef45ae9925999ecd26eec4becd82
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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/license-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-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/16.0/stock_inventory
: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-16-0/stock-logistics-warehouse-16-0-stock_inventory
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-warehouse&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module allows to group Inventory Adjustments and have a group traceability (like before Odoo 15.0).
**Table of contents**
.. contents::
:local:
Usage
=====
Go to Inventory / Operations / Inventory Adjustments. Here you can see the list of Adjustment Grouped.
If you create a new Group, you can choose 2 types of product selection:
- All Products (all products from theselected locations).
- Manual Selection (choose manually each product in location).
- One Product (choose only one product in locations).
- Lot Serial Number (choose one product, any lots and locations).
- Product Category (choose one product category [childs also taken into account]).
When you start the adjustment (only one at a time) clicking on adjustments gets you to the view where adjustments are made.
From the group view, if you click on Stock Moves you can see the movements done (includes the 0 qty moves).
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/stock-logistics-warehouse/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/stock-logistics-warehouse/issues/new?body=module:%20stock_inventory%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* ForgeFlow
Contributors
~~~~~~~~~~~~
* `ForgeFlow <https://www.forgeflow.com>`_:
* David Jiménez <david.jimenez@forgeflow.com>
* Guillem Casassas <guillem.casassas@forgeflow.com>
* Urvisha Desai <gudesai@opensourceintegrators.com>
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 <https://github.com/OCA/stock-logistics-warehouse/tree/16.0/stock_inventory>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View file

@ -0,0 +1 @@
from . import models

View file

@ -0,0 +1,22 @@
{
"name": "Stock Inventory Adjustment",
"version": "16.0.2.6.0",
"license": "LGPL-3",
"maintainer": ["DavidJForgeFlow"],
"development_status": "Beta",
"category": "Inventory/Inventory",
"summary": "Allows to do an easier follow up of the Inventory Adjustments",
"author": "ForgeFlow, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/stock-logistics-warehouse",
"depends": ["stock"],
"data": [
"security/ir.model.access.csv",
"security/security.xml",
"views/stock_inventory.xml",
"views/stock_quant.xml",
"views/stock_move_line.xml",
"views/res_config_settings_view.xml",
],
"installable": True,
"application": False,
}

View file

@ -0,0 +1,458 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.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
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants
msgid "# Adjustments"
msgstr "# Prilagodbi"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction
msgid "Action Needed"
msgstr "Potrebna akcija"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__action_state_to_cancel_allowed
msgid "Action State To Cancel Allowed"
msgstr "Akcija stanja na otkazivanje dozvoljeno"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants_string
msgid "Adjustments"
msgstr "Prilagodbe"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__all
msgid "All Products"
msgstr "Svi artikli"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__responsible_id
msgid "Assigned to"
msgstr "Dodjeljeno"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_attachment_count
msgid "Attachment Count"
msgstr "Broj priloga"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Back to Draft"
msgstr "Nazad u nacrt"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Begin Adjustments"
msgstr "Počni prilagodbe"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Cancel"
msgstr "Otkaži"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__cancel
msgid "Cancelled"
msgstr "Otkazan"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"Cannot have more than one in-progress inventory adjustment affecting the "
"same location or product at the same time."
msgstr ""
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_company
msgid "Companies"
msgstr "Kompanije"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__company_id
msgid "Company"
msgstr "Preduzeće"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_config_settings
msgid "Config Settings"
msgstr "Postavke"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_uid
msgid "Created by"
msgstr "Kreirao"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_date
msgid "Created on"
msgstr "Kreirano"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__current_inventory_id
msgid "Current Inventory"
msgstr "Trenutni inventar"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__date
msgid "Date"
msgstr "Datum"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__display_name
msgid "Display Name"
msgstr "Prikazani naziv"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__done
msgid "Done"
msgstr "Gotovo"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__draft
msgid "Draft"
msgstr "U pripremi"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__exclude_sublocation
msgid "Exclude Sublocation"
msgstr "Isključi podlokaciju"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_follower_ids
msgid "Followers"
msgstr "Pratioci"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_partner_ids
msgid "Followers (Partners)"
msgstr "Pratioci (Partneri)"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__has_message
msgid "Has Message"
msgstr "Ima poruku"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__id
msgid "ID"
msgstr "ID"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction
msgid "If checked, new messages require your attention."
msgstr "Ako je zakačeno, nove poruke će zahtjevati vašu pažnju"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr "Ako je označeno neke poruke mogu imati grešku u dostavi."
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__exclude_sublocation
msgid ""
"If enabled, it will only take into account the locations selected, and not "
"their children."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,help:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid ""
"If enabled, when all the quants prepared for the adjustment are done, the "
"adjustment is automatically set to done."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__in_progress
msgid "In Progress"
msgstr "U Toku"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_quant_ids
#: model:ir.model.fields,field_description:stock_inventory.field_stock_move_line__inventory_adjustment_id
msgid "Inventory Adjustment"
msgstr "Inventurisanje"
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_inventory_group_form
#: model:ir.model,name:stock_inventory.model_stock_inventory
msgid "Inventory Adjustment Group"
msgstr "Grupa prilagodbe inventara"
#. module: stock_inventory
#: model:ir.ui.menu,name:stock_inventory.menu_action_inventory_tree
msgid "Inventory Adjustments"
msgstr "Inventure"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_move_ids
msgid "Inventory Adjustments Done"
msgstr "Završene prilagodbe inventara"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__name
msgid "Inventory Reference"
msgstr "Referenca inventara"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_is_follower
msgid "Is Follower"
msgstr "Pratilac"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory____last_update
msgid "Last Modified on"
msgstr "Zadnje mijenjano"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_uid
msgid "Last Updated by"
msgstr "Zadnji ažurirao"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_date
msgid "Last Updated on"
msgstr "Zadnje ažurirano"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__location_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Locations"
msgstr "Lokacije"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__lot
msgid "Lot/Serial Number"
msgstr "Lot/Serijski broj"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__lot_ids
msgid "Lot/Serial Numbers"
msgstr "LOT/SN"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_main_attachment_id
msgid "Main Attachment"
msgstr "Glavna zakačka"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__manual
msgid "Manual Selection"
msgstr "Ručni odabir"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error
msgid "Message Delivery error"
msgstr "Greška pri isporuci poruke"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_ids
msgid "Messages"
msgstr "Poruke"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_quant.py:0
#, python-format
msgid "No move lines have been created"
msgstr "Nisu kreirane linije pokreta"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of Actions"
msgstr "Broj akcija"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of errors"
msgstr "Broj grešaka"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of messages requiring action"
msgstr "Broj poruka koje zahtijevaju aktivnost"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr "Broj poruka sa greškama pri isporuci"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__one
msgid "One Product"
msgstr "Jedan proizvod"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__owner_id
msgid "Owner"
msgstr "Vlasnik"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Product"
msgstr "Artikal"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__category_id
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__category
msgid "Product Category"
msgstr "Kategorija proizvoda"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr "Skladišna kretanja proizvoda(stavke)"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_selection
msgid "Product Selection"
msgstr "Odabir proizvoda"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_ids
msgid "Products"
msgstr "Artikli"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__products_under_review_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Products Under Review"
msgstr "Proizvodi u pregledu"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_quant
msgid "Quants"
msgstr "Količine"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Set to Done"
msgstr "Postaviti na završeno"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__responsible_id
msgid "Specific responsible of Inventory Adjustment."
msgstr "Specifičan odgovorni za prilagodbu inventara."
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__state
msgid "State"
msgstr "Status"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__stock_inventory_ids
msgid "Stock Inventories"
msgstr "Inventari skladišta"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid "Stock Inventory"
msgstr "Inventar skladišta"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,field_description:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
msgid "Stock Inventory Auto Complete"
msgstr "Automatsko dopunjavanje inventara skladišta"
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_stock_move_line_inventory_tree
msgid "Stock Move Lines"
msgstr "Linije pokreta skladišta"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_moves
msgid "Stock Moves Lines"
msgstr "Linije pokreta skladišta"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There are active adjustments for the requested products: %(names)s. Blocking"
" adjustments: %(blocking_names)s"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There's already an Adjustment in Process using one requested Location: "
"%(names)s. Blocking adjustments: %(blocking_names)s"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__owner_id
msgid "This is the owner of the inventory adjustment"
msgstr "Ovo je vlasnik prilagodbe inventara"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__to_do
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_stock_quant_search_not_done
msgid "To Do"
msgstr "Za uraditi"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website Messages"
msgstr "Poruke sa website-a"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website communication history"
msgstr "Povijest komunikacije Web stranice"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: Lot Serial Number' is selected you are only able to"
" add one product."
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: One Product' is selected you are only able to add "
"one product."
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can only delete inventory adjustments groups in draft state."
msgstr "Možete obrisati grupe prilagodbi inventara samo u stanju nacrta."
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can't cancel this inventory %(display_name)s."
msgstr "Ne možete otkazati ovaj inventar %(display_name)s."
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "e.g. Annual inventory"
msgstr "npr. Godišnji inventar"

View file

@ -0,0 +1,476 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-05-14 08:27+0000\n"
"Last-Translator: davidbeckercbl <becker@cbl-computer.de>\n"
"Language-Team: none\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"
"X-Generator: Weblate 5.10.4\n"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants
msgid "# Adjustments"
msgstr "# Anpassungen"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction
msgid "Action Needed"
msgstr "Aktion Erforderlich"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__action_state_to_cancel_allowed
msgid "Action State To Cancel Allowed"
msgstr "Aktion Status zu abgebrochen erlaubt"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants_string
msgid "Adjustments"
msgstr "Anpassungen"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__all
msgid "All Products"
msgstr "Alle Produkte"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__responsible_id
msgid "Assigned to"
msgstr "Zugewiesen an"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_attachment_count
msgid "Attachment Count"
msgstr "Anzahl Anhänge"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Back to Draft"
msgstr "Zurück auf Entwurf"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Begin Adjustments"
msgstr "Beginne mit Anpassungen"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Cancel"
msgstr "Abbrechen"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__cancel
msgid "Cancelled"
msgstr "Abgebrochen"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"Cannot have more than one in-progress inventory adjustment affecting the "
"same location or product at the same time."
msgstr ""
"Es kann nicht mehr als eine Inventaranpassung in Bearbeitung geben, die den "
"gleichen Lagerplatz oder das gleiche Produkt anpasst."
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_company
msgid "Companies"
msgstr "Firmen"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__company_id
msgid "Company"
msgstr "Firma"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_config_settings
msgid "Config Settings"
msgstr "Einstellungen"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_uid
msgid "Created by"
msgstr "Erstellt von"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_date
msgid "Created on"
msgstr "Erstellt am"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__current_inventory_id
msgid "Current Inventory"
msgstr "Aktuelle Inventur"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__date
msgid "Date"
msgstr "Datum"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__display_name
msgid "Display Name"
msgstr "Anzeigname"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__done
msgid "Done"
msgstr "Erledigt"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__draft
msgid "Draft"
msgstr "Entwurf"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__exclude_sublocation
msgid "Exclude Sublocation"
msgstr "Unterorte ausschließen"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_follower_ids
msgid "Followers"
msgstr "Beobachter"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_partner_ids
msgid "Followers (Partners)"
msgstr "Beobachter (Partner)"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__has_message
msgid "Has Message"
msgstr "Hat Nachricht"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__id
msgid "ID"
msgstr "ID"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction
msgid "If checked, new messages require your attention."
msgstr "Wenn angehakt, erfordern neue Nachrichten Ihre Aufmerksamkeit."
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
"Wenn angewählt gibt es Nachrichten, die nicht zugestellt werden konnten."
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__exclude_sublocation
msgid ""
"If enabled, it will only take into account the locations selected, and not "
"their children."
msgstr ""
"Wenn aktiviert, werden nur die ausgewählten Orte berücksichtigt, nicht ihre "
"Kinder."
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,help:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid ""
"If enabled, when all the quants prepared for the adjustment are done, the "
"adjustment is automatically set to done."
msgstr ""
"Wenn ausgewählt, wird die Anpassung automatisch auf erledigt gesetzt, wenn "
"alle für die Anpassung vorbereiteten Quants erledigt sind."
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__in_progress
msgid "In Progress"
msgstr "In Bearbeitung"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_quant_ids
#: model:ir.model.fields,field_description:stock_inventory.field_stock_move_line__inventory_adjustment_id
msgid "Inventory Adjustment"
msgstr "Inventuranpassung"
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_inventory_group_form
#: model:ir.model,name:stock_inventory.model_stock_inventory
msgid "Inventory Adjustment Group"
msgstr "Inventuranpassungsgruppe"
#. module: stock_inventory
#: model:ir.ui.menu,name:stock_inventory.menu_action_inventory_tree
msgid "Inventory Adjustments"
msgstr "Inventuranpassungen"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_move_ids
msgid "Inventory Adjustments Done"
msgstr "Inventuranpassungen Erledigt"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__name
msgid "Inventory Reference"
msgstr "Inventur Referenz"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_is_follower
msgid "Is Follower"
msgstr "Ist Beobachter"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory____last_update
msgid "Last Modified on"
msgstr "Zuletzt bearbeitet am"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_uid
msgid "Last Updated by"
msgstr "Zuletzt bearbeitet von"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_date
msgid "Last Updated on"
msgstr "Zuletzt akualisiert am"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__location_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Locations"
msgstr "Lagerorte"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__lot
msgid "Lot/Serial Number"
msgstr "Los-/Seriennummer"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__lot_ids
msgid "Lot/Serial Numbers"
msgstr "Los-/Seriennummern"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_main_attachment_id
msgid "Main Attachment"
msgstr "Hauptanhang"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__manual
msgid "Manual Selection"
msgstr "Manuelle Auswahl"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error
msgid "Message Delivery error"
msgstr "Nachrichtenübertragungsfehler"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_ids
msgid "Messages"
msgstr "Nachrichten"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_quant.py:0
#, python-format
msgid "No move lines have been created"
msgstr "Keine Warenbewegungszeilen wurden erstellt"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of Actions"
msgstr "Anzahl Aktionen"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of errors"
msgstr "Anzahl der Fehler"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of messages requiring action"
msgstr "Anzahl der Nachrichten, die eine Aktion erfordern"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr "Anzahl der Nachrichten mit einem Zustellungsfehler"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__one
msgid "One Product"
msgstr "Ein Produkt"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__owner_id
msgid "Owner"
msgstr "Eigentümer"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Product"
msgstr "Produkt"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__category_id
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__category
msgid "Product Category"
msgstr "Produktkategorie"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr "Produktbewegungen (Lagerbewegungszeile)"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_selection
msgid "Product Selection"
msgstr "Produktauswahl"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_ids
msgid "Products"
msgstr "Produkte"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__products_under_review_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Products Under Review"
msgstr "Produkte in Prüfung"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_quant
msgid "Quants"
msgstr "Quants"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Set to Done"
msgstr "Als Erledigt markieren"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__responsible_id
msgid "Specific responsible of Inventory Adjustment."
msgstr "Speziell für Inventuranpassungen verantwortlich."
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__state
msgid "State"
msgstr "Satus"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__stock_inventory_ids
msgid "Stock Inventories"
msgstr "Inventuren"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid "Stock Inventory"
msgstr "Inventur"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,field_description:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
msgid "Stock Inventory Auto Complete"
msgstr "Inventur automatisch abschließen"
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_stock_move_line_inventory_tree
msgid "Stock Move Lines"
msgstr "Lagerbewegungszeilen"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_moves
msgid "Stock Moves Lines"
msgstr "Lagerbewegungszeilen"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There are active adjustments for the requested products: %(names)s. Blocking "
"adjustments: %(blocking_names)s"
msgstr ""
"Es gibt aktive Anpassungen für die angefragten Produkte: %(names)s. "
"Blockierende Anpassungen: %(blocking_names)s"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There's already an Adjustment in Process using one requested Location: "
"%(names)s. Blocking adjustments: %(blocking_names)s"
msgstr ""
"Es gibt bereits eine aktive Anpassung für den angefragten Lagerort: "
"%(names)s. Blockierende Anpassungen: %(blocking_names)s"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__owner_id
msgid "This is the owner of the inventory adjustment"
msgstr "Dies ist der Besitzer der Inventuranpassung"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__to_do
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_stock_quant_search_not_done
msgid "To Do"
msgstr "Zu Erledigen"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website Messages"
msgstr "Webseiten-Nachrichten"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website communication history"
msgstr "Webseiten Kommunikationshistorie"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: Lot Serial Number' is selected you are only able to "
"add one product."
msgstr ""
"Wenn 'Produktauswahl: Los-/Seriennummer' ausgewählt ist, so können Sie nur "
"ein Produkt hinzufügen."
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: One Product' is selected you are only able to add "
"one product."
msgstr ""
"Wenn 'Produktauswahl: Ein Produkt' ausgewählt ist, so können Sie nur ein "
"Produkt hinzufügen."
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can only delete inventory adjustments groups in draft state."
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can't cancel this inventory %(display_name)s."
msgstr "Sie können diese Inventur %(display_name)s nicht abbrechen."
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "e.g. Annual inventory"
msgstr "z.B. Jährliche Inventur"

View file

@ -0,0 +1,459 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: de_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
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants
msgid "# Adjustments"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction
msgid "Action Needed"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__action_state_to_cancel_allowed
msgid "Action State To Cancel Allowed"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants_string
msgid "Adjustments"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__all
msgid "All Products"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__responsible_id
msgid "Assigned to"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Back to Draft"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Begin Adjustments"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Cancel"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__cancel
msgid "Cancelled"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"Cannot have more than one in-progress inventory adjustment affecting the "
"same location or product at the same time."
msgstr ""
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_company
msgid "Companies"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__company_id
msgid "Company"
msgstr ""
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_uid
msgid "Created by"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_date
msgid "Created on"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__current_inventory_id
msgid "Current Inventory"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__date
msgid "Date"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__display_name
msgid "Display Name"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__done
msgid "Done"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__draft
msgid "Draft"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__exclude_sublocation
msgid "Exclude Sublocation"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_follower_ids
msgid "Followers"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__has_message
msgid "Has Message"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__id
msgid "ID"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__exclude_sublocation
msgid ""
"If enabled, it will only take into account the locations selected, and not "
"their children."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,help:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid ""
"If enabled, when all the quants prepared for the adjustment are done, the "
"adjustment is automatically set to done."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__in_progress
msgid "In Progress"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_quant_ids
#: model:ir.model.fields,field_description:stock_inventory.field_stock_move_line__inventory_adjustment_id
msgid "Inventory Adjustment"
msgstr ""
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_inventory_group_form
#: model:ir.model,name:stock_inventory.model_stock_inventory
msgid "Inventory Adjustment Group"
msgstr ""
#. module: stock_inventory
#: model:ir.ui.menu,name:stock_inventory.menu_action_inventory_tree
msgid "Inventory Adjustments"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_move_ids
msgid "Inventory Adjustments Done"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__name
msgid "Inventory Reference"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory____last_update
msgid "Last Modified on"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_uid
msgid "Last Updated by"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_date
msgid "Last Updated on"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__location_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Locations"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__lot
msgid "Lot/Serial Number"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__lot_ids
msgid "Lot/Serial Numbers"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__manual
msgid "Manual Selection"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_ids
msgid "Messages"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_quant.py:0
#, python-format
msgid "No move lines have been created"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of errors"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of messages requiring action"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__one
msgid "One Product"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__owner_id
msgid "Owner"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Product"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__category_id
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__category
msgid "Product Category"
msgstr ""
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_selection
msgid "Product Selection"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_ids
msgid "Products"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__products_under_review_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Products Under Review"
msgstr ""
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_quant
msgid "Quants"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Set to Done"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__responsible_id
msgid "Specific responsible of Inventory Adjustment."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__state
msgid "State"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__stock_inventory_ids
msgid "Stock Inventories"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid "Stock Inventory"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,field_description:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
msgid "Stock Inventory Auto Complete"
msgstr ""
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_stock_move_line_inventory_tree
msgid "Stock Move Lines"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_moves
msgid "Stock Moves Lines"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There are active adjustments for the requested products: %(names)s. Blocking "
"adjustments: %(blocking_names)s"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There's already an Adjustment in Process using one requested Location: "
"%(names)s. Blocking adjustments: %(blocking_names)s"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__owner_id
msgid "This is the owner of the inventory adjustment"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__to_do
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_stock_quant_search_not_done
msgid "To Do"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website Messages"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website communication history"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: Lot Serial Number' is selected you are only able to "
"add one product."
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: One Product' is selected you are only able to add "
"one product."
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can only delete inventory adjustments groups in draft state."
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can't cancel this inventory %(display_name)s."
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "e.g. Annual inventory"
msgstr ""

View file

@ -0,0 +1,472 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-04-25 15:38+0000\n"
"Last-Translator: JHernandezConinpe <jhernandez@coninpe.es>\n"
"Language-Team: none\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"
"X-Generator: Weblate 4.17\n"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants
msgid "# Adjustments"
msgstr "# Ajustes"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction
msgid "Action Needed"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__action_state_to_cancel_allowed
msgid "Action State To Cancel Allowed"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants_string
msgid "Adjustments"
msgstr "Ajustes"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__all
msgid "All Products"
msgstr "Todos los productos"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__responsible_id
msgid "Assigned to"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Back to Draft"
msgstr "Devolver a borrador"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Begin Adjustments"
msgstr "Iniciar ajuste"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Cancel"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__cancel
msgid "Cancelled"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"Cannot have more than one in-progress inventory adjustment affecting the "
"same location or product at the same time."
msgstr ""
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_company
msgid "Companies"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__company_id
msgid "Company"
msgstr ""
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_uid
msgid "Created by"
msgstr "Creado por"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_date
msgid "Created on"
msgstr "Creado el"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__current_inventory_id
msgid "Current Inventory"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__date
msgid "Date"
msgstr "Fecha"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__display_name
msgid "Display Name"
msgstr "Mostrar nombre"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__done
msgid "Done"
msgstr "Hecho"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__draft
msgid "Draft"
msgstr "Borrador"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__exclude_sublocation
msgid "Exclude Sublocation"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_follower_ids
msgid "Followers"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__has_message
msgid "Has Message"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__id
msgid "ID"
msgstr "ID"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__exclude_sublocation
msgid ""
"If enabled, it will only take into account the locations selected, and not "
"their children."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,help:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid ""
"If enabled, when all the quants prepared for the adjustment are done, the "
"adjustment is automatically set to done."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__in_progress
msgid "In Progress"
msgstr "En progreso"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_quant_ids
#: model:ir.model.fields,field_description:stock_inventory.field_stock_move_line__inventory_adjustment_id
msgid "Inventory Adjustment"
msgstr "Ajuste de inventario"
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_inventory_group_form
#: model:ir.model,name:stock_inventory.model_stock_inventory
msgid "Inventory Adjustment Group"
msgstr "Grupo de ajuste de inventario"
#. module: stock_inventory
#: model:ir.ui.menu,name:stock_inventory.menu_action_inventory_tree
msgid "Inventory Adjustments"
msgstr "Ajustes de inventario"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_move_ids
msgid "Inventory Adjustments Done"
msgstr "Ajustes de inventario realizados"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__name
msgid "Inventory Reference"
msgstr "Referencia de inventario"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory____last_update
msgid "Last Modified on"
msgstr "Última modificación"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_uid
msgid "Last Updated by"
msgstr "Última actualización"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_date
msgid "Last Updated on"
msgstr "Última actualización"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__location_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Locations"
msgstr "Ubicaciones"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__lot
msgid "Lot/Serial Number"
msgstr "Lote/Número de serie"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__lot_ids
msgid "Lot/Serial Numbers"
msgstr "Lote/Número de serie"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__manual
msgid "Manual Selection"
msgstr "Selección manual"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_ids
msgid "Messages"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_quant.py:0
#, python-format
msgid "No move lines have been created"
msgstr "No se han creado líneas de movimiento"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of errors"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of messages requiring action"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__one
msgid "One Product"
msgstr "Un producto"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__owner_id
msgid "Owner"
msgstr "Propietario"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Product"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__category_id
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__category
msgid "Product Category"
msgstr "Categoría de productos"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr "Movimientos de productos (línea de movimiento de existencias)"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_selection
msgid "Product Selection"
msgstr "Selección de productos"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_ids
msgid "Products"
msgstr "Productos"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__products_under_review_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Products Under Review"
msgstr ""
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_quant
msgid "Quants"
msgstr "Cantidades"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Set to Done"
msgstr "Pasar a hecho"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__responsible_id
msgid "Specific responsible of Inventory Adjustment."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__state
msgid "State"
msgstr "Estado"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__stock_inventory_ids
msgid "Stock Inventories"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid "Stock Inventory"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,field_description:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
msgid "Stock Inventory Auto Complete"
msgstr ""
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_stock_move_line_inventory_tree
msgid "Stock Move Lines"
msgstr "Líneas de movimiento de existencias"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_moves
msgid "Stock Moves Lines"
msgstr "Líneas de movimiento de existencias"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There are active adjustments for the requested products: %(names)s. Blocking "
"adjustments: %(blocking_names)s"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There's already an Adjustment in Process using one requested Location: "
"%(names)s. Blocking adjustments: %(blocking_names)s"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__owner_id
msgid "This is the owner of the inventory adjustment"
msgstr "Este es el propietario del ajuste de inventario"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__to_do
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_stock_quant_search_not_done
msgid "To Do"
msgstr "Aplicar"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website Messages"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website communication history"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: Lot Serial Number' is selected you are only able to "
"add one product."
msgstr ""
"Cuando selecciona 'Selección de productos: Número de serie del lote' sólo "
"puede añadir un producto."
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: One Product' is selected you are only able to add "
"one product."
msgstr ""
"Cuando selecciona 'Selección de productos: Número de serie del lote' sólo "
"puede añadir un producto."
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can only delete inventory adjustments groups in draft state."
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can't cancel this inventory %(display_name)s."
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "e.g. Annual inventory"
msgstr "Por ejemplo, inventario anual"
#, python-format
#~ msgid ""
#~ "There's already an Adjustment in Process using one requested Location: %s"
#~ msgstr ""
#~ "Ya hay un ajuste de inventario en progreso utilizando una ubicación "
#~ "solicitada: %s"

View file

@ -0,0 +1,481 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-08-01 09:58+0000\n"
"Last-Translator: \"Benjamin Willig (ACSONE)\" <benjamin.willig@acsone.eu>\n"
"Language-Team: none\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"
"X-Generator: Weblate 5.6.2\n"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants
msgid "# Adjustments"
msgstr "# Ajustements"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction
msgid "Action Needed"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__action_state_to_cancel_allowed
msgid "Action State To Cancel Allowed"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants_string
msgid "Adjustments"
msgstr "Ajustements"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__all
msgid "All Products"
msgstr "Tous les articles"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__responsible_id
msgid "Assigned to"
msgstr "Assigné à"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Back to Draft"
msgstr "Remettre en brouillon"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Begin Adjustments"
msgstr "Commencer les ajustements"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Cancel"
msgstr "Annuler"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__cancel
msgid "Cancelled"
msgstr "Annulé"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"Cannot have more than one in-progress inventory adjustment affecting the "
"same location or product at the same time."
msgstr ""
"Il n'est pas possible d'avoir plus d'un inventaire en cours qui affecte le "
"même emplacement ou produit au même moment."
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_company
msgid "Companies"
msgstr "Sociétés"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__company_id
msgid "Company"
msgstr "Société"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_uid
msgid "Created by"
msgstr "Créé par"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_date
msgid "Created on"
msgstr "Créé le"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__current_inventory_id
msgid "Current Inventory"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__date
msgid "Date"
msgstr "Date"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__display_name
msgid "Display Name"
msgstr "Nom d'affichage"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__done
msgid "Done"
msgstr "Terminé"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__draft
msgid "Draft"
msgstr "Brouillon"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__exclude_sublocation
msgid "Exclude Sublocation"
msgstr "Exclure les sous locations"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_follower_ids
msgid "Followers"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__has_message
msgid "Has Message"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__id
msgid "ID"
msgstr "ID"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__exclude_sublocation
msgid ""
"If enabled, it will only take into account the locations selected, and not "
"their children."
msgstr ""
"Si activé, l'inventaire prendra en compte seul les emplacements "
"sélectionnés, et pas leurs enfants."
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,help:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid ""
"If enabled, when all the quants prepared for the adjustment are done, the "
"adjustment is automatically set to done."
msgstr ""
"Si activé, lorsque tout les quants préparés pour l'ajustement sont finis, "
"l'inventaire sera automatiquement marqué comme terminé."
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__in_progress
msgid "In Progress"
msgstr "En cours"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_quant_ids
#: model:ir.model.fields,field_description:stock_inventory.field_stock_move_line__inventory_adjustment_id
msgid "Inventory Adjustment"
msgstr "Ajustement de stock"
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_inventory_group_form
#: model:ir.model,name:stock_inventory.model_stock_inventory
msgid "Inventory Adjustment Group"
msgstr "Groupe Ajustement de Stock"
#. module: stock_inventory
#: model:ir.ui.menu,name:stock_inventory.menu_action_inventory_tree
msgid "Inventory Adjustments"
msgstr "Ajustements de stock"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_move_ids
msgid "Inventory Adjustments Done"
msgstr "Ajustement de stock terminé"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__name
msgid "Inventory Reference"
msgstr "Référence d'inventaire"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory____last_update
msgid "Last Modified on"
msgstr "Dernière modification le"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_uid
msgid "Last Updated by"
msgstr "Dernière modification par"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_date
msgid "Last Updated on"
msgstr "Dernière mise à jour le"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__location_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Locations"
msgstr "Emplacements"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__lot
msgid "Lot/Serial Number"
msgstr "Lot/Numéro de série"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__lot_ids
msgid "Lot/Serial Numbers"
msgstr "Lot/Numéros de série"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__manual
msgid "Manual Selection"
msgstr "Sélection manuelle"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_ids
msgid "Messages"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_quant.py:0
#, python-format
msgid "No move lines have been created"
msgstr "Aucune ligne de mouvement de stock n'a été créée"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of errors"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of messages requiring action"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__one
msgid "One Product"
msgstr "Produit unique"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__owner_id
msgid "Owner"
msgstr "Propriétaire"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Product"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__category_id
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__category
msgid "Product Category"
msgstr "Catégorie d'article"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr "Mouvements de stock"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_selection
msgid "Product Selection"
msgstr "Sélection d'article"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_ids
msgid "Products"
msgstr "Articles"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__products_under_review_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Products Under Review"
msgstr ""
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_quant
msgid "Quants"
msgstr "Quants"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Set to Done"
msgstr "Terminer"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__responsible_id
msgid "Specific responsible of Inventory Adjustment."
msgstr "Responsable spécifique de l'ajustement d'inventaire."
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__state
msgid "State"
msgstr "Statut"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__stock_inventory_ids
msgid "Stock Inventories"
msgstr "Inventaires de stock"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid "Stock Inventory"
msgstr "Inventaire de stock"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,field_description:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
msgid "Stock Inventory Auto Complete"
msgstr "Fermeture automatique des inventaires"
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_stock_move_line_inventory_tree
msgid "Stock Move Lines"
msgstr "Lignes de mouvement de stock"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_moves
msgid "Stock Moves Lines"
msgstr "Lignes de mouvement de stock"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There are active adjustments for the requested products: %(names)s. Blocking "
"adjustments: %(blocking_names)s"
msgstr ""
"Il y a des ajustements actifs pour les produits demandées : %(names)s. "
"Ajustements bloquants: %(blocking_names)s"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There's already an Adjustment in Process using one requested Location: "
"%(names)s. Blocking adjustments: %(blocking_names)s"
msgstr ""
"Il y a déjà des ajustements en cours sur un des emplacements demandés: "
"%(names)s. Ajustements bloquants: %(blocking_names)s"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__owner_id
msgid "This is the owner of the inventory adjustment"
msgstr "C'est le propriétaire de l'ajustement de stock"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__to_do
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_stock_quant_search_not_done
msgid "To Do"
msgstr "A faire"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website Messages"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website communication history"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: Lot Serial Number' is selected you are only able to "
"add one product."
msgstr ""
"Quand 'Sélection d'article : Lot/Numéro de série' est sélectionné, vous "
"n'êtes en mesure d'ajouter qu'un seul article."
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: One Product' is selected you are only able to add "
"one product."
msgstr ""
"Quand 'Sélection d'article : article unique' est sélectionné, vous n'êtes en "
"mesure d'ajouter qu'un seul article."
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can only delete inventory adjustments groups in draft state."
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can't cancel this inventory %(display_name)s."
msgstr "Vous ne pouvez pas annuler cet inventaire %(display_name)s."
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "e.g. Annual inventory"
msgstr "par ex. Inventaire annuel"
#, python-format
#~ msgid ""
#~ "There's already an Adjustment in Process using one requested Location: %s"
#~ msgstr ""
#~ "Il y a déjà un ajustement en cours qui utilise l'emplacement demandé : %s"

View file

@ -0,0 +1,494 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-08-07 14:25+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\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"
"X-Generator: Weblate 5.10.4\n"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants
msgid "# Adjustments"
msgstr "N° correzioni"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction
msgid "Action Needed"
msgstr "Azione richiesta"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__action_state_to_cancel_allowed
msgid "Action State To Cancel Allowed"
msgstr "Consentita azione stato da annullare"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants_string
msgid "Adjustments"
msgstr "Correzioni"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__all
msgid "All Products"
msgstr "Tutti i prodotti"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__responsible_id
msgid "Assigned to"
msgstr "Assegnato a"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_attachment_count
msgid "Attachment Count"
msgstr "Conteggio allegati"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Back to Draft"
msgstr "Reimposta a bozza"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Begin Adjustments"
msgstr "Inizia rettifiche"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Cancel"
msgstr "Annulla"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__cancel
msgid "Cancelled"
msgstr "Annullato"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"Cannot have more than one in-progress inventory adjustment affecting the "
"same location or product at the same time."
msgstr ""
"Non ci può essere più di una rettifica di inventario di in corso che "
"modifica la stessa ubicazione o prodotto nello stesso momento."
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_company
msgid "Companies"
msgstr "Aziende"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__company_id
msgid "Company"
msgstr "Azienda"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_config_settings
msgid "Config Settings"
msgstr "Impostazioni configurazione"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_uid
msgid "Created by"
msgstr "Creato da"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_date
msgid "Created on"
msgstr "Creato il"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__current_inventory_id
msgid "Current Inventory"
msgstr "Inventario corrente"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__date
msgid "Date"
msgstr "Data"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__display_name
msgid "Display Name"
msgstr "Nome visualizzato"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__done
msgid "Done"
msgstr "Completato"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__draft
msgid "Draft"
msgstr "Bozza"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__exclude_sublocation
msgid "Exclude Sublocation"
msgstr "Esclude sottoubicazioni"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_follower_ids
msgid "Followers"
msgstr "Seguito da"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_partner_ids
msgid "Followers (Partners)"
msgstr "Seguito da (partner)"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__has_message
msgid "Has Message"
msgstr "Ha un messaggio"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__id
msgid "ID"
msgstr "ID"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction
msgid "If checked, new messages require your attention."
msgstr "Se selezionata, nuovi messaggi richiedono attenzione."
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr "Se selezionata, alcuni messaggi hanno un errore di consegna."
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__exclude_sublocation
msgid ""
"If enabled, it will only take into account the locations selected, and not "
"their children."
msgstr ""
"Se abilitata, verrà presa in considerazione solo l'ubicazioni selezionate e "
"non le figlie."
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,help:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid ""
"If enabled, when all the quants prepared for the adjustment are done, the "
"adjustment is automatically set to done."
msgstr ""
"Se abilitata, quando tutti i quanti preparati per la rettifica sono "
"completati, la rettifica è automaticamente impostata ad eseguita."
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__in_progress
msgid "In Progress"
msgstr "In corso"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_quant_ids
#: model:ir.model.fields,field_description:stock_inventory.field_stock_move_line__inventory_adjustment_id
msgid "Inventory Adjustment"
msgstr "Rettifica d'inventario"
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_inventory_group_form
#: model:ir.model,name:stock_inventory.model_stock_inventory
msgid "Inventory Adjustment Group"
msgstr "Gruppo rettifiche d'inventario"
#. module: stock_inventory
#: model:ir.ui.menu,name:stock_inventory.menu_action_inventory_tree
msgid "Inventory Adjustments"
msgstr "Rettifiche d'inventario"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_move_ids
msgid "Inventory Adjustments Done"
msgstr "Rettifiche d'inventario completate"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__name
msgid "Inventory Reference"
msgstr "Riferimento inventario"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_is_follower
msgid "Is Follower"
msgstr "Segue"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory____last_update
msgid "Last Modified on"
msgstr "Ultima modifica il"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_uid
msgid "Last Updated by"
msgstr "Ultimo aggiornamento di"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_date
msgid "Last Updated on"
msgstr "Ultimo aggiornamento il"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__location_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Locations"
msgstr "Ubicazioni"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__lot
msgid "Lot/Serial Number"
msgstr "Numero di lotto/serie"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__lot_ids
msgid "Lot/Serial Numbers"
msgstr "Numeri di lotto/serie"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_main_attachment_id
msgid "Main Attachment"
msgstr "Allegato principale"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__manual
msgid "Manual Selection"
msgstr "Selezione manuale"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error
msgid "Message Delivery error"
msgstr "Errore di consegna messaggio"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_ids
msgid "Messages"
msgstr "Messaggi"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_quant.py:0
#, python-format
msgid "No move lines have been created"
msgstr "Non sono state create righe di movimento"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of Actions"
msgstr "Numero di azioni"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of errors"
msgstr "Numero di errori"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of messages requiring action"
msgstr "Numero di messaggi che richiedono un'azione"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr "Numero di messaggi con errore di consegna"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__one
msgid "One Product"
msgstr "Un prodotto"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__owner_id
msgid "Owner"
msgstr "Proprietario"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Product"
msgstr "Prodotto"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__category_id
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__category
msgid "Product Category"
msgstr "Categoria prodotto"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr "Movimenti prodotto (riga movimento di magazzino)"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_selection
msgid "Product Selection"
msgstr "Selezone prodotto"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_ids
msgid "Products"
msgstr "Prodotti"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__products_under_review_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Products Under Review"
msgstr "Prodotto in revisione"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_quant
msgid "Quants"
msgstr "Quanti"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Set to Done"
msgstr "Imposta a eseguito"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__responsible_id
msgid "Specific responsible of Inventory Adjustment."
msgstr "Responsabile specifico rettifiche di magazzino."
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__state
msgid "State"
msgstr "Stato"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__stock_inventory_ids
msgid "Stock Inventories"
msgstr "Inventari di magazzino"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid "Stock Inventory"
msgstr "Inventario di magazzino"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,field_description:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
msgid "Stock Inventory Auto Complete"
msgstr "Auto completamento inventario di magazzino"
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_stock_move_line_inventory_tree
msgid "Stock Move Lines"
msgstr "Righe movimento di magazzino"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_moves
msgid "Stock Moves Lines"
msgstr "Righe movimenti di magazzino"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There are active adjustments for the requested products: %(names)s. Blocking "
"adjustments: %(blocking_names)s"
msgstr ""
"Ci sono delle rettifiche attive per il prodotto %(names)s. Rettifiche "
"bloccanti: %(blocking_names)s"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There's already an Adjustment in Process using one requested Location: "
"%(names)s. Blocking adjustments: %(blocking_names)s"
msgstr ""
"C'è già una rettifica in corso che utilizza l'ubicazione richiesta: "
"%(names)s. Rettifiche bloccanti: %(blocking_names)s"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__owner_id
msgid "This is the owner of the inventory adjustment"
msgstr "Questo è il proprietario della rettifica di inventario"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__to_do
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_stock_quant_search_not_done
msgid "To Do"
msgstr "Da fare"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website Messages"
msgstr "Messaggi sito web"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website communication history"
msgstr "Cronologia comunicazioni sito web"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: Lot Serial Number' is selected you are only able to "
"add one product."
msgstr ""
"Quando è selezionata 'Selezione prodotto: numero lotto seriale' è possibile "
"aggiungere un solo prodotto."
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: One Product' is selected you are only able to add "
"one product."
msgstr ""
"Quando è selezionata 'Selezione prodotto: n prodotto' è possibile aggiungere "
"un solo prodotto."
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can only delete inventory adjustments groups in draft state."
msgstr ""
"Si possono cancellare solo i gruppi di rettifica inventariale in stato bozza."
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can't cancel this inventory %(display_name)s."
msgstr "Non si può annullare questo inventario %(display_name)s."
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "e.g. Annual inventory"
msgstr "es. invntario annuale"
#, python-format
#~ msgid "There are active adjustments for the requested products: %s"
#~ msgstr "Ci sono delle rettifiche attive per il prodotto richiesto: %s"
#, python-format
#~ msgid ""
#~ "There's already an Adjustment in Process using one requested Location: %s"
#~ msgstr ""
#~ "Esiste già un processo di rettifica in corso che utilizza l'ubicazione: %s"
#, python-format
#~ msgid ""
#~ "Cannot be more than one in progress inventory adjustment affecting the "
#~ "same location at the same time."
#~ msgstr ""
#~ "Non ci può essere più di una rettifica di inventario di in corso che "
#~ "modifica la stessa ubicazioe nello stesso momento."

View file

@ -0,0 +1,458 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.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
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants
msgid "# Adjustments"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction
msgid "Action Needed"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__action_state_to_cancel_allowed
msgid "Action State To Cancel Allowed"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants_string
msgid "Adjustments"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__all
msgid "All Products"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__responsible_id
msgid "Assigned to"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Back to Draft"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Begin Adjustments"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Cancel"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__cancel
msgid "Cancelled"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"Cannot have more than one in-progress inventory adjustment affecting the "
"same location or product at the same time."
msgstr ""
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_company
msgid "Companies"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__company_id
msgid "Company"
msgstr ""
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_uid
msgid "Created by"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_date
msgid "Created on"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__current_inventory_id
msgid "Current Inventory"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__date
msgid "Date"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__display_name
msgid "Display Name"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__done
msgid "Done"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__draft
msgid "Draft"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__exclude_sublocation
msgid "Exclude Sublocation"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_follower_ids
msgid "Followers"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__has_message
msgid "Has Message"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__id
msgid "ID"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__exclude_sublocation
msgid ""
"If enabled, it will only take into account the locations selected, and not "
"their children."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,help:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid ""
"If enabled, when all the quants prepared for the adjustment are done, the "
"adjustment is automatically set to done."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__in_progress
msgid "In Progress"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_quant_ids
#: model:ir.model.fields,field_description:stock_inventory.field_stock_move_line__inventory_adjustment_id
msgid "Inventory Adjustment"
msgstr ""
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_inventory_group_form
#: model:ir.model,name:stock_inventory.model_stock_inventory
msgid "Inventory Adjustment Group"
msgstr ""
#. module: stock_inventory
#: model:ir.ui.menu,name:stock_inventory.menu_action_inventory_tree
msgid "Inventory Adjustments"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_move_ids
msgid "Inventory Adjustments Done"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__name
msgid "Inventory Reference"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory____last_update
msgid "Last Modified on"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_uid
msgid "Last Updated by"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_date
msgid "Last Updated on"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__location_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Locations"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__lot
msgid "Lot/Serial Number"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__lot_ids
msgid "Lot/Serial Numbers"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__manual
msgid "Manual Selection"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_ids
msgid "Messages"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_quant.py:0
#, python-format
msgid "No move lines have been created"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of errors"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of messages requiring action"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__one
msgid "One Product"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__owner_id
msgid "Owner"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Product"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__category_id
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__category
msgid "Product Category"
msgstr ""
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_selection
msgid "Product Selection"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_ids
msgid "Products"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__products_under_review_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Products Under Review"
msgstr ""
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_quant
msgid "Quants"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Set to Done"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__responsible_id
msgid "Specific responsible of Inventory Adjustment."
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__state
msgid "State"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__stock_inventory_ids
msgid "Stock Inventories"
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid "Stock Inventory"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,field_description:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
msgid "Stock Inventory Auto Complete"
msgstr ""
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_stock_move_line_inventory_tree
msgid "Stock Move Lines"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_moves
msgid "Stock Moves Lines"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There are active adjustments for the requested products: %(names)s. Blocking"
" adjustments: %(blocking_names)s"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There's already an Adjustment in Process using one requested Location: "
"%(names)s. Blocking adjustments: %(blocking_names)s"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__owner_id
msgid "This is the owner of the inventory adjustment"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__to_do
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_stock_quant_search_not_done
msgid "To Do"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website Messages"
msgstr ""
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website communication history"
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: Lot Serial Number' is selected you are only able to"
" add one product."
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: One Product' is selected you are only able to add "
"one product."
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can only delete inventory adjustments groups in draft state."
msgstr ""
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can't cancel this inventory %(display_name)s."
msgstr ""
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "e.g. Annual inventory"
msgstr ""

View file

@ -0,0 +1,475 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_inventory
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-08-20 08:55+0000\n"
"Last-Translator: Betül Öğmen <betulo@eska.biz>\n"
"Language-Team: none\n"
"Language: tr\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"
"X-Generator: Weblate 5.10.4\n"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants
msgid "# Adjustments"
msgstr "# Ayarlamalar"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction
msgid "Action Needed"
msgstr "Eylem Gerekiyor"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__action_state_to_cancel_allowed
msgid "Action State To Cancel Allowed"
msgstr "Eylem Durumu İptal Edilebilir"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_quants_string
msgid "Adjustments"
msgstr "Ayarlamalar"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__all
msgid "All Products"
msgstr "Tüm Ürünler"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__responsible_id
msgid "Assigned to"
msgstr "Atanan Kişi"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_attachment_count
msgid "Attachment Count"
msgstr "Eklenti Sayısı"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Back to Draft"
msgstr "Taslağa Geri Dön"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Begin Adjustments"
msgstr "Ayarlamalara Başla"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Cancel"
msgstr "İptal Et"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__cancel
msgid "Cancelled"
msgstr "İptal Edildi"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"Cannot have more than one in-progress inventory adjustment affecting the "
"same location or product at the same time."
msgstr ""
"Aynı konumu veya ürünü aynı anda etkileyen birden fazla devam eden envanter "
"düzenlemesi olamaz."
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_company
msgid "Companies"
msgstr "Şirketler"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__company_id
msgid "Company"
msgstr "Şirket"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_res_config_settings
msgid "Config Settings"
msgstr "Yapılandırma Ayarları"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_uid
msgid "Created by"
msgstr "Tarafından oluşturuldu"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__create_date
msgid "Created on"
msgstr "Tarihinde oluşturuldu"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__current_inventory_id
msgid "Current Inventory"
msgstr "Mevcut Envanter"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__date
msgid "Date"
msgstr "Tarih"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__display_name
msgid "Display Name"
msgstr "Görünür İsim"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__done
msgid "Done"
msgstr "Tamamlandı"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__draft
msgid "Draft"
msgstr "Taslak"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__exclude_sublocation
msgid "Exclude Sublocation"
msgstr "Alt Konumu Hariç Tut"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_follower_ids
msgid "Followers"
msgstr "Takipçiler"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_partner_ids
msgid "Followers (Partners)"
msgstr "Takipçiler (İş Ortakları)"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__has_message
msgid "Has Message"
msgstr "Mesaj Var"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__id
msgid "ID"
msgstr "ID"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction
msgid "If checked, new messages require your attention."
msgstr "İşaretlenirse yeni iletilerle ilgilenmeniz gerekir."
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr "İşaretlenirse bazı iletilerde teslimat hatası olur."
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__exclude_sublocation
msgid ""
"If enabled, it will only take into account the locations selected, and not "
"their children."
msgstr ""
"Etkinleştirilirse, yalnızca seçilen konumlar dikkate alınır, alt konumları "
"dikkate alınmaz."
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,help:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid ""
"If enabled, when all the quants prepared for the adjustment are done, the "
"adjustment is automatically set to done."
msgstr ""
"Etkinleştirilirse, ayarlama için hazırlanan tüm miktarlar tamamlandığında "
"ayarlama otomatik olarak tamamlandı olarak ayarlanır."
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__state__in_progress
msgid "In Progress"
msgstr "Devam Eden"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_quant_ids
#: model:ir.model.fields,field_description:stock_inventory.field_stock_move_line__inventory_adjustment_id
msgid "Inventory Adjustment"
msgstr "Envanter Düzenlemesi"
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_inventory_group_form
#: model:ir.model,name:stock_inventory.model_stock_inventory
msgid "Inventory Adjustment Group"
msgstr "Envanter Düzenleme Grubu"
#. module: stock_inventory
#: model:ir.ui.menu,name:stock_inventory.menu_action_inventory_tree
msgid "Inventory Adjustments"
msgstr "Envanter Düzenlemeleri"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__stock_move_ids
msgid "Inventory Adjustments Done"
msgstr "Biten Envanter Düzenlemeleri"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__name
msgid "Inventory Reference"
msgstr "Envanter Referansı"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_is_follower
msgid "Is Follower"
msgstr "Takipçi Mi"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory____last_update
msgid "Last Modified on"
msgstr "Son Değiştirilme tarihi"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_uid
msgid "Last Updated by"
msgstr "Son Güncelleyen"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__write_date
msgid "Last Updated on"
msgstr "Son Güncelleme Tarihi"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__location_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Locations"
msgstr "Konumlar"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__lot
msgid "Lot/Serial Number"
msgstr "Parti/Seri Numarası"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__lot_ids
msgid "Lot/Serial Numbers"
msgstr "Parti/Seri Numaraları"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_main_attachment_id
msgid "Main Attachment"
msgstr "Ana Eklenti"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__manual
msgid "Manual Selection"
msgstr "Manuel Seçim"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error
msgid "Message Delivery error"
msgstr "Mesaj İletim hatası"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_ids
msgid "Messages"
msgstr "Mesajlar"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_quant.py:0
#, python-format
msgid "No move lines have been created"
msgstr "Hiçbir yevmiye satırı oluşturulmadı"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of Actions"
msgstr "Eylem Sayısı"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of errors"
msgstr "Hata sayısı"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_needaction_counter
msgid "Number of messages requiring action"
msgstr "Eylem gerektiren mesaj sayısı"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr "Sevk hatası olan mesaj sayısı"
#. module: stock_inventory
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__one
msgid "One Product"
msgstr "Bir Ürün"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__owner_id
msgid "Owner"
msgstr "Sahibi"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Product"
msgstr "Ürün"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__category_id
#: model:ir.model.fields.selection,name:stock_inventory.selection__stock_inventory__product_selection__category
msgid "Product Category"
msgstr "Ürün Kategorisi"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr "Ürün Hareketleri (Stok Hareket Satırı)"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_selection
msgid "Product Selection"
msgstr "Ürün Seçimi"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__product_ids
msgid "Products"
msgstr "Ürünler"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__products_under_review_ids
#: model_terms:ir.ui.view,arch_db:stock_inventory.stock_inventory_search_view
msgid "Products Under Review"
msgstr "İncelemedeki Ürünler"
#. module: stock_inventory
#: model:ir.model,name:stock_inventory.model_stock_quant
msgid "Quants"
msgstr "Miktarlar"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "Set to Done"
msgstr "Tamamlandı Olarak Ayarla"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__responsible_id
msgid "Specific responsible of Inventory Adjustment."
msgstr "Envanter Ayarlamasından özel sorumlu."
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__state
msgid "State"
msgstr "Durumu"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__stock_inventory_ids
msgid "Stock Inventories"
msgstr "Stok Envanterleri"
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.res_config_settings_view_form
msgid "Stock Inventory"
msgstr "Stok Envanteri"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_res_company__stock_inventory_auto_complete
#: model:ir.model.fields,field_description:stock_inventory.field_res_config_settings__stock_inventory_auto_complete
msgid "Stock Inventory Auto Complete"
msgstr "Stok Envanteri Otomatik Tamamla"
#. module: stock_inventory
#: model:ir.actions.act_window,name:stock_inventory.action_view_stock_move_line_inventory_tree
msgid "Stock Move Lines"
msgstr "Stok Hareket Satırları"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__count_stock_moves
msgid "Stock Moves Lines"
msgstr "Stok Hareketleri Satırları"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There are active adjustments for the requested products: %(names)s. Blocking "
"adjustments: %(blocking_names)s"
msgstr ""
"İstenen ürünler için etkin ayarlamalar mevcut: %(names)s. Engelleme "
"ayarlamaları: %(blocking_names)s"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"There's already an Adjustment in Process using one requested Location: "
"%(names)s. Blocking adjustments: %(blocking_names)s"
msgstr ""
"İstenen bir Konum kullanılarak halihazırda İşlemde olan bir Düzenleme var: "
"%(names)s. Engelleme ayarlamaları: %(blocking_names)s"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__owner_id
msgid "This is the owner of the inventory adjustment"
msgstr "Bu, envanter düzenlemesinin sahibidir"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_quant__to_do
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_stock_quant_search_not_done
msgid "To Do"
msgstr "Yapılacak"
#. module: stock_inventory
#: model:ir.model.fields,field_description:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website Messages"
msgstr "Website Mesajları"
#. module: stock_inventory
#: model:ir.model.fields,help:stock_inventory.field_stock_inventory__website_message_ids
msgid "Website communication history"
msgstr "Website iletişim geçmişi"
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: Lot Serial Number' is selected you are only able to "
"add one product."
msgstr ""
"'Ürün Seçimi: Parti Seri Numarası' seçildiğinde sadece bir ürün "
"ekleyebilirsiniz."
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid ""
"When 'Product Selection: One Product' is selected you are only able to add "
"one product."
msgstr ""
"'Ürün Seçimi: Tek Ürün' seçildiğinde yalnızca bir ürün ekleyebilirsiniz."
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can only delete inventory adjustments groups in draft state."
msgstr ""
"Sadece taslak durumundaki envanter düzenlemesi gruplarını silebilirsiniz."
#. module: stock_inventory
#. odoo-python
#: code:addons/stock_inventory/models/stock_inventory.py:0
#, python-format
msgid "You can't cancel this inventory %(display_name)s."
msgstr "Bu envanter %(display_name)s'i iptal edemezsiniz."
#. module: stock_inventory
#: model_terms:ir.ui.view,arch_db:stock_inventory.view_inventory_group_form
msgid "e.g. Annual inventory"
msgstr "örn. Yıllık envanter"

View file

@ -0,0 +1,5 @@
from . import stock_inventory
from . import stock_quant
from . import stock_move_line
from . import res_company
from . import res_config_settings

View file

@ -0,0 +1,15 @@
# Copyright 2024 ForgeFlow S.L. (http://www.forgeflow.com)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import fields, models
class ResCompany(models.Model):
_inherit = "res.company"
stock_inventory_auto_complete = fields.Boolean(
help="If enabled, when all the quants prepared for the adjustment "
"are done, the adjustment is automatically set to done.",
default=False,
)

View file

@ -0,0 +1,12 @@
# Copyright 2024 ForgeFlow S.L. (http://www.forgeflow.com)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import fields, models
class ResConfigSettings(models.TransientModel):
_inherit = "res.config.settings"
stock_inventory_auto_complete = fields.Boolean(
related="company_id.stock_inventory_auto_complete", readonly=False
)

View file

@ -0,0 +1,496 @@
from odoo import _, api, fields, models
from odoo.exceptions import UserError, ValidationError
from odoo.osv import expression
READONLY_STATES = {
"draft": [("readonly", False)],
}
class InventoryAdjustmentsGroup(models.Model):
_name = "stock.inventory"
_description = "Inventory Adjustment Group"
_order = "date desc, id desc"
_inherit = [
"mail.thread",
]
name = fields.Char(
required=True,
default="Inventory",
string="Inventory Reference",
readonly=True,
states=READONLY_STATES,
)
date = fields.Datetime(
default=lambda self: fields.Datetime.now(),
readonly=True,
states=READONLY_STATES,
)
company_id = fields.Many2one(
comodel_name="res.company",
readonly=True,
index=True,
states={"draft": [("readonly", False)]},
default=lambda self: self.env.company,
required=True,
)
state = fields.Selection(
[
("draft", "Draft"),
("in_progress", "In Progress"),
("done", "Done"),
("cancel", "Cancelled"),
],
default="draft",
tracking=True,
)
owner_id = fields.Many2one(
"res.partner",
"Owner",
help="This is the owner of the inventory adjustment",
readonly=True,
states=READONLY_STATES,
)
location_ids = fields.Many2many(
"stock.location",
string="Locations",
domain="[('usage', '=', 'internal'), "
"'|', ('company_id', '=', company_id), ('company_id', '=', False)]",
readonly=True,
states=READONLY_STATES,
)
product_selection = fields.Selection(
[
("all", "All Products"),
("manual", "Manual Selection"),
("category", "Product Category"),
("one", "One Product"),
("lot", "Lot/Serial Number"),
],
default="all",
required=True,
readonly=True,
states=READONLY_STATES,
)
product_ids = fields.Many2many(
"product.product",
string="Products",
domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]",
readonly=True,
states=READONLY_STATES,
)
stock_quant_ids = fields.Many2many(
"stock.quant",
string="Inventory Adjustment",
domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]",
readonly=True,
states=READONLY_STATES,
)
category_id = fields.Many2one(
"product.category",
string="Product Category",
readonly=True,
states=READONLY_STATES,
)
lot_ids = fields.Many2many(
"stock.lot",
string="Lot/Serial Numbers",
domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]",
readonly=True,
states=READONLY_STATES,
)
stock_move_ids = fields.One2many(
"stock.move.line",
"inventory_adjustment_id",
string="Inventory Adjustments Done",
readonly=True,
states=READONLY_STATES,
)
count_stock_quants = fields.Integer(
compute="_compute_count_stock_quants", string="# Adjustments"
)
count_stock_quants_string = fields.Char(
compute="_compute_count_stock_quants", string="Adjustments"
)
count_stock_moves = fields.Integer(
compute="_compute_count_stock_moves", string="Stock Moves Lines"
)
action_state_to_cancel_allowed = fields.Boolean(
compute="_compute_action_state_to_cancel_allowed"
)
exclude_sublocation = fields.Boolean(
help="If enabled, it will only take into account "
"the locations selected, and not their children."
)
responsible_id = fields.Many2one(
comodel_name="res.users",
string="Assigned to",
states={"draft": [("readonly", False)]},
readonly=True,
help="Specific responsible of Inventory Adjustment.",
)
products_under_review_ids = fields.Many2many(
comodel_name="product.product",
compute="_compute_products_under_review_ids",
search="_search_products_under_review_ids",
string="Products Under Review",
relation="stock_inventory_product_review_rel",
)
def _search_products_under_review_ids(self, operator, value):
quants = self.env["stock.quant"].search(
[("to_do", "=", True), ("product_id", operator, value)]
)
inventories = quants.mapped("stock_inventory_ids")
return [("id", "in", inventories.ids), ("state", "=", "in_progress")]
@api.depends("stock_quant_ids", "stock_quant_ids.to_do", "state")
def _compute_products_under_review_ids(self):
for record in self:
if record.state == "in_progress":
products = record.stock_quant_ids.filtered(
lambda quant: quant.to_do
).mapped("product_id")
record.products_under_review_ids = (
[(6, 0, products.ids)] if products else [(5, 0, 0)]
)
else:
record.products_under_review_ids = [(5, 0, 0)]
@api.depends("stock_quant_ids")
def _compute_count_stock_quants(self):
for rec in self:
quants = rec.stock_quant_ids
quants_to_do = quants.filtered(lambda q: q.to_do)
quants_pending_to_review = quants_to_do.filtered(
lambda q: q.current_inventory_id.id == rec.id
)
count_pending_to_review = len(quants_pending_to_review)
rec.count_stock_quants = len(quants)
rec.count_stock_quants_string = "{} / {}".format(
count_pending_to_review, rec.count_stock_quants
)
@api.depends("stock_move_ids")
def _compute_count_stock_moves(self):
group_fname = "inventory_adjustment_id"
group_data = self.env["stock.move.line"].read_group(
[
(group_fname, "in", self.ids),
],
[group_fname],
[group_fname],
)
data_by_adj_id = {
row[group_fname][0]: row.get(f"{group_fname}_count", 0)
for row in group_data
}
for rec in self:
rec.count_stock_moves = data_by_adj_id.get(rec.id, 0)
def _compute_action_state_to_cancel_allowed(self):
for rec in self:
rec.action_state_to_cancel_allowed = rec.state == "draft"
def _get_quants(self, locations):
self.ensure_one()
domain = []
base_domain = self._get_base_domain(locations)
if self.product_selection == "all":
domain = self._get_domain_all_quants(base_domain)
elif self.product_selection == "manual":
domain = self._get_domain_manual_quants(base_domain)
elif self.product_selection == "one":
domain = self._get_domain_one_quant(base_domain)
elif self.product_selection == "lot":
domain = self._get_domain_lot_quants(base_domain)
elif self.product_selection == "category":
domain = self._get_domain_category_quants(base_domain)
return self.env["stock.quant"].search(domain)
def _get_base_domain(self, locations):
return (
[
("location_id", "in", locations.mapped("id")),
]
if self.exclude_sublocation
else [
("location_id", "child_of", locations.child_internal_location_ids.ids),
]
)
def _get_domain_all_quants(self, base_domain):
return base_domain
def _get_domain_manual_quants(self, base_domain):
self.ensure_one()
return expression.AND(
[base_domain, [("product_id", "in", self.product_ids.ids)]]
)
def _get_domain_one_quant(self, base_domain):
self.ensure_one()
return expression.AND(
[
base_domain,
[
("product_id", "in", self.product_ids.ids),
],
]
)
def _get_domain_lot_quants(self, base_domain):
self.ensure_one()
return expression.AND(
[
base_domain,
[
("product_id", "in", self.product_ids.ids),
("lot_id", "in", self.lot_ids.ids),
],
]
)
def _get_domain_category_quants(self, base_domain):
self.ensure_one()
return expression.AND(
[
base_domain,
[
"|",
("product_id.categ_id", "=", self.category_id.id),
("product_id.categ_id", "in", self.category_id.child_id.ids),
],
]
)
def refresh_stock_quant_ids(self):
for rec in self:
rec.stock_quant_ids = rec._get_quants(rec.location_ids)
def _get_quant_joined_names(self, quants, field):
return ", ".join(quants.mapped(f"{field}.display_name"))
def action_state_to_in_progress(self):
self.ensure_one()
search_filter = [
(
"location_id",
"child_of" if not self.exclude_sublocation else "in",
self.location_ids.ids,
),
("to_do", "=", True),
]
if self.product_ids:
search_filter.append(("product_id", "in", self.product_ids.ids))
error_field = "product_id"
error_message = _(
"There are active adjustments for the requested products: %(names)s. "
"Blocking adjustments: %(blocking_names)s"
)
else:
error_field = "location_id"
error_message = _(
"There's already an Adjustment in Process "
"using one requested Location: %(names)s. "
"Blocking adjustments: %(blocking_names)s"
)
quants = self.env["stock.quant"].search(search_filter)
if quants:
inventory_ids = self.env["stock.inventory"].search(
[("stock_quant_ids", "in", quants.ids), ("state", "=", "in_progress")]
)
if inventory_ids:
blocking_names = ", ".join(inventory_ids.mapped("name"))
names = self._get_quant_joined_names(quants, error_field)
raise ValidationError(
error_message % {"names": names, "blocking_names": blocking_names}
)
quants = self._get_quants(self.location_ids)
self.write(
{
"state": "in_progress",
"stock_quant_ids": [(6, 0, quants.ids)],
}
)
quants.write(
{
"to_do": True,
"user_id": self.responsible_id,
"inventory_date": self.date,
"current_inventory_id": self.id,
}
)
return
def action_state_to_done(self):
self.ensure_one()
self.state = "done"
self.stock_quant_ids.filtered(
lambda q: q.current_inventory_id.id == self.id
).update(
{
"to_do": False,
"user_id": False,
"inventory_date": False,
"current_inventory_id": False,
}
)
return
def action_auto_state_to_done(self):
self.ensure_one()
if not any(self.stock_quant_ids.filtered(lambda sq: sq.to_do)):
self.action_state_to_done()
return
def action_state_to_draft(self):
self.ensure_one()
self.state = "draft"
self.stock_quant_ids.filtered(
lambda q: q.current_inventory_id.id == self.id
).update(
{
"to_do": False,
"user_id": False,
"inventory_date": False,
"current_inventory_id": False,
}
)
self.stock_quant_ids = None
return
def action_state_to_cancel(self):
self.ensure_one()
self._check_action_state_to_cancel()
self.write(
{
"state": "cancel",
}
)
def _check_action_state_to_cancel(self):
for rec in self:
if not rec.action_state_to_cancel_allowed:
raise UserError(
_(
"You can't cancel this inventory %(display_name)s.",
display_name=rec.display_name,
)
)
def action_view_inventory_adjustment(self):
self.ensure_one()
result = self.env["stock.quant"].action_view_inventory()
context = result.get("context", {})
context.update(
{
"search_default_to_do": 1,
"inventory_id": self.id,
"default_to_do": True,
}
)
result.update(
{
"domain": [
("id", "in", self.stock_quant_ids.ids),
("current_inventory_id", "=", self.id),
],
"search_view_id": self.env.ref("stock.quant_search_view").id,
"context": context,
}
)
return result
def action_view_stock_moves(self):
self.ensure_one()
result = self.env["ir.actions.act_window"]._for_xml_id(
"stock_inventory.action_view_stock_move_line_inventory_tree"
)
result["domain"] = [("inventory_adjustment_id", "=", self.id)]
result["context"] = {}
return result
def _check_inventory_in_progress_not_override(self):
for rec in self:
if rec.state == "in_progress":
location_condition = [
(
"location_ids",
"child_of" if not rec.exclude_sublocation else "in",
rec.location_ids.ids,
)
]
if rec.product_ids:
product_condition = [
("state", "=", "in_progress"),
("id", "!=", rec.id),
("product_ids", "in", rec.product_ids.ids),
] + location_condition
inventories = self.search(product_condition)
else:
inventories = self.search(
[("state", "=", "in_progress"), ("id", "!=", rec.id)]
+ location_condition
)
for inventory in inventories:
if any(
i in inventory.location_ids.ids for i in rec.location_ids.ids
):
raise ValidationError(
_(
"Cannot have more than one in-progress inventory adjustment "
"affecting the same location or product at the same time."
)
)
@api.constrains("product_selection", "product_ids")
def _check_one_product_in_product_selection(self):
for rec in self:
if len(rec.product_ids) > 1:
if rec.product_selection == "one":
raise ValidationError(
_(
"When 'Product Selection: One Product' is selected"
" you are only able to add one product."
)
)
elif rec.product_selection == "lot":
raise ValidationError(
_(
"When 'Product Selection: Lot Serial Number' is selected"
" you are only able to add one product."
)
)
def unlink(self):
for adjustment in self:
if adjustment.state != "draft":
raise UserError(
_(
"You can only delete inventory adjustments groups in"
" draft state."
)
)
return super().unlink()

View file

@ -0,0 +1,9 @@
from odoo import fields, models
class StockMoveLine(models.Model):
_inherit = "stock.move.line"
inventory_adjustment_id = fields.Many2one(
"stock.inventory", ondelete="restrict", index=True
)

View file

@ -0,0 +1,74 @@
from odoo import _, api, fields, models
class StockQuant(models.Model):
_inherit = "stock.quant"
to_do = fields.Boolean(default=False)
stock_inventory_ids = fields.Many2many(
"stock.inventory",
"stock_inventory_stock_quant_rel",
string="Stock Inventories",
copy=False,
)
current_inventory_id = fields.Many2one(
"stock.inventory",
string="Current Inventory",
store=True,
)
def _apply_inventory(self):
res = super()._apply_inventory()
record_moves = self.env["stock.move.line"]
adjustment = self.env["stock.inventory"].browse()
for rec in self:
adjustment = rec.current_inventory_id
moves = record_moves.search(
[
("product_id", "=", rec.product_id.id),
("lot_id", "=", rec.lot_id.id),
"|",
("location_id", "=", rec.location_id.id),
("location_dest_id", "=", rec.location_id.id),
],
order="create_date asc",
).filtered(
lambda x: not x.company_id.id
or not rec.company_id.id
or rec.company_id.id == x.company_id.id
)
if len(moves) == 0:
raise ValueError(_("No move lines have been created"))
move = moves[len(moves) - 1]
adjustment.stock_move_ids |= move
reference = move.reference
if adjustment.name and move.reference:
reference = adjustment.name + ": " + move.reference
elif adjustment.name:
reference = adjustment.name
move.write(
{
"inventory_adjustment_id": adjustment.id,
"reference": reference,
}
)
rec.to_do = False
rec.current_inventory_id = False
if adjustment and self.env.company.stock_inventory_auto_complete:
adjustment.action_auto_state_to_done()
return res
def _get_inventory_fields_write(self):
return super()._get_inventory_fields_write() + ["to_do"]
@api.model_create_multi
def create(self, vals_list):
res = super().create(vals_list)
if self.env.context.get(
"active_model", False
) == "stock.inventory" and self.env.context.get("active_id", False):
self.env["stock.inventory"].browse(
self.env.context.get("active_id")
).refresh_stock_quant_ids()
return res

View file

@ -0,0 +1,5 @@
* `ForgeFlow <https://www.forgeflow.com>`_:
* David Jiménez <david.jimenez@forgeflow.com>
* Guillem Casassas <guillem.casassas@forgeflow.com>
* Urvisha Desai <gudesai@opensourceintegrators.com>

View file

@ -0,0 +1 @@
This module allows to group Inventory Adjustments and have a group traceability (like before Odoo 15.0).

View file

@ -0,0 +1,9 @@
Go to Inventory / Operations / Inventory Adjustments. Here you can see the list of Adjustment Grouped.
If you create a new Group, you can choose 2 types of product selection:
- All Products (all products from theselected locations).
- Manual Selection (choose manually each product in location).
- One Product (choose only one product in locations).
- Lot Serial Number (choose one product, any lots and locations).
- Product Category (choose one product category [childs also taken into account]).
When you start the adjustment (only one at a time) clicking on adjustments gets you to the view where adjustments are made.
From the group view, if you click on Stock Moves you can see the movements done (includes the 0 qty moves).

View file

@ -0,0 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_stock_inventory_user,stock.inventory,model_stock_inventory,stock.group_stock_user,1,1,1,0
access_stock_inventory_manager,stock.inventory,model_stock_inventory,stock.group_stock_manager,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_stock_inventory_user stock.inventory model_stock_inventory stock.group_stock_user 1 1 1 0
3 access_stock_inventory_manager stock.inventory model_stock_inventory stock.group_stock_manager 1 1 1 1

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="0">
<record model="ir.rule" id="stock_inventory_comp_rule">
<field name="name">Stock Inventory multi-company</field>
<field name="model_id" ref="model_stock_inventory" />
<field name="global" eval="True" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
</odoo>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

@ -0,0 +1,447 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>README.rst</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic, pre.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document">
<a class="reference external image-reference" href="https://odoo-community.org/get-involved?utm_source=readme">
<img alt="Odoo Community Association" src="https://odoo-community.org/readme-banner-image" />
</a>
<div class="section" id="stock-inventory-adjustment">
<h1>Stock Inventory Adjustment</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:bf53f43752ec0b39b9d3ce764c4de4bd67acef45ae9925999ecd26eec4becd82
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/license-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/stock-logistics-warehouse/tree/16.0/stock_inventory"><img alt="OCA/stock-logistics-warehouse" src="https://img.shields.io/badge/github-OCA%2Fstock--logistics--warehouse-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/stock-logistics-warehouse-16-0/stock-logistics-warehouse-16-0-stock_inventory"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-warehouse&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module allows to group Inventory Adjustments and have a group traceability (like before Odoo 15.0).</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="usage">
<h2><a class="toc-backref" href="#toc-entry-1">Usage</a></h2>
<p>Go to Inventory / Operations / Inventory Adjustments. Here you can see the list of Adjustment Grouped.
If you create a new Group, you can choose 2 types of product selection:
- All Products (all products from theselected locations).
- Manual Selection (choose manually each product in location).
- One Product (choose only one product in locations).
- Lot Serial Number (choose one product, any lots and locations).
- Product Category (choose one product category [childs also taken into account]).
When you start the adjustment (only one at a time) clicking on adjustments gets you to the view where adjustments are made.
From the group view, if you click on Stock Moves you can see the movements done (includes the 0 qty moves).</p>
</div>
<div class="section" id="bug-tracker">
<h2><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h2>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/stock-logistics-warehouse/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/stock-logistics-warehouse/issues/new?body=module:%20stock_inventory%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h2><a class="toc-backref" href="#toc-entry-3">Credits</a></h2>
<div class="section" id="authors">
<h3><a class="toc-backref" href="#toc-entry-4">Authors</a></h3>
<ul class="simple">
<li>ForgeFlow</li>
</ul>
</div>
<div class="section" id="contributors">
<h3><a class="toc-backref" href="#toc-entry-5">Contributors</a></h3>
<ul class="simple">
<li><a class="reference external" href="https://www.forgeflow.com">ForgeFlow</a>:<ul>
<li>David Jiménez &lt;<a class="reference external" href="mailto:david.jimenez&#64;forgeflow.com">david.jimenez&#64;forgeflow.com</a>&gt;</li>
<li>Guillem Casassas &lt;<a class="reference external" href="mailto:guillem.casassas&#64;forgeflow.com">guillem.casassas&#64;forgeflow.com</a>&gt;</li>
<li>Urvisha Desai &lt;<a class="reference external" href="mailto:gudesai&#64;opensourceintegrators.com">gudesai&#64;opensourceintegrators.com</a>&gt;</li>
</ul>
</li>
</ul>
</div>
<div class="section" id="maintainers">
<h3><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h3>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>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.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/stock-logistics-warehouse/tree/16.0/stock_inventory">OCA/stock-logistics-warehouse</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1 @@
from . import test_stock_inventory

View file

@ -0,0 +1,591 @@
# Copyright 2022 ForgeFlow S.L
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
from odoo.exceptions import UserError, ValidationError
from odoo.tests.common import TransactionCase
class TestStockInventory(TransactionCase):
def setUp(self):
super(TestStockInventory, self).setUp()
self.env.company.stock_inventory_auto_complete = False
self.quant_model = self.env["stock.quant"]
self.move_model = self.env["stock.move.line"]
self.inventory_model = self.env["stock.inventory"]
self.location_model = self.env["stock.location"]
self.product_categ = self.env["product.category"].create({"name": "Test Categ"})
self.product = self.env["product.product"].create(
{
"name": "Product 1 test",
"type": "product",
"tracking": "lot",
}
)
self.product2 = self.env["product.product"].create(
{
"name": "Product 1 test",
"type": "product",
"categ_id": self.product_categ.id,
}
)
self.lot_1 = self.env["stock.lot"].create(
{
"product_id": self.product.id,
"name": "Lot 1",
"company_id": self.env.company.id,
}
)
self.lot_2 = self.env["stock.lot"].create(
{
"product_id": self.product.id,
"name": "Lot 2",
"company_id": self.env.company.id,
}
)
self.lot_3 = self.env["stock.lot"].create(
{
"product_id": self.product.id,
"name": "Lot 3",
"company_id": self.env.company.id,
}
)
self.location_src = self.env.ref("stock.stock_location_locations_virtual")
self.location_dst = self.env.ref("stock.stock_location_customers")
self.location1 = self.location_model.create(
{
"name": "Location 1",
"usage": "internal",
"location_id": self.location_src.id,
}
)
self.location2 = self.location_model.create(
{
"name": "Location 2",
"usage": "internal",
"location_id": self.location_dst.id,
}
)
self.location3 = self.location_model.create(
{
"name": "Location 3",
"usage": "internal",
"location_id": self.location1.id,
}
)
self.quant1 = self.quant_model.sudo().create(
{
"product_id": self.product.id,
"lot_id": self.lot_1.id,
"quantity": 100.0,
"location_id": self.location1.id,
}
)
self.quant2 = self.quant_model.sudo().create(
{
"product_id": self.product.id,
"lot_id": self.lot_2.id,
"quantity": 100.0,
"location_id": self.location2.id,
}
)
self.quant3 = self.quant_model.sudo().create(
{
"product_id": self.product.id,
"lot_id": self.lot_3.id,
"quantity": 100.0,
"location_id": self.location3.id,
}
)
self.quant4 = self.quant_model.sudo().create(
{
"product_id": self.product2.id,
"quantity": 100.0,
"location_id": self.location3.id,
}
)
def test_01_all_locations(self):
inventory1 = self.inventory_model.create(
{
"name": "Inventory_Test_1",
"product_selection": "all",
"location_ids": [self.location1.id],
}
)
inventory1.action_state_to_in_progress()
inventory2 = self.inventory_model.create(
{
"name": "Inventory_Test_2",
"product_selection": "all",
"location_ids": [self.location1.id],
}
)
with self.assertRaises(UserError), self.cr.savepoint():
inventory2.action_state_to_in_progress()
self.assertEqual(inventory1.state, "in_progress")
self.assertEqual(
inventory1.stock_quant_ids.ids,
[self.quant1.id, self.quant3.id, self.quant4.id],
)
inventory1.action_state_to_draft()
self.assertEqual(inventory1.stock_quant_ids.ids, [])
inventory1.action_state_to_in_progress()
self.assertEqual(inventory1.count_stock_moves, 0)
self.assertEqual(inventory1.count_stock_quants, 3)
self.assertEqual(inventory1.count_stock_quants_string, "3 / 3")
inventory1.action_view_inventory_adjustment()
self.quant1.inventory_quantity = 92
self.quant1.action_apply_inventory()
inventory1.invalidate_recordset()
inventory1.action_view_stock_moves()
self.assertEqual(inventory1.count_stock_moves, 1)
self.assertEqual(inventory1.count_stock_quants, 3)
self.assertEqual(inventory1.count_stock_quants_string, "2 / 3")
self.assertEqual(inventory1.stock_move_ids.qty_done, 8)
self.assertEqual(inventory1.stock_move_ids.product_id.id, self.product.id)
self.assertEqual(inventory1.stock_move_ids.lot_id.id, self.lot_1.id)
self.assertEqual(inventory1.stock_move_ids.location_id.id, self.location1.id)
inventory1.action_state_to_done()
def test_02_manual_selection(self):
inventory1 = self.inventory_model.create(
{
"name": "Inventory_Test_3",
"product_selection": "manual",
"location_ids": [self.location1.id],
"product_ids": [self.product.id],
}
)
inventory1.action_state_to_in_progress()
self.assertEqual(inventory1.state, "in_progress")
self.assertEqual(
inventory1.stock_quant_ids.ids, [self.quant1.id, self.quant3.id]
)
inventory1.action_state_to_draft()
self.assertEqual(inventory1.stock_quant_ids.ids, [])
inventory1.action_state_to_in_progress()
self.assertEqual(inventory1.state, "in_progress")
self.assertEqual(inventory1.count_stock_moves, 0)
self.assertEqual(inventory1.count_stock_quants, 2)
self.assertEqual(inventory1.count_stock_quants_string, "2 / 2")
inventory1.action_view_inventory_adjustment()
self.quant3.inventory_quantity = 74
self.quant3.action_apply_inventory()
inventory1.invalidate_recordset()
self.assertEqual(inventory1.count_stock_moves, 1)
self.assertEqual(inventory1.count_stock_quants, 2)
self.assertEqual(inventory1.count_stock_quants_string, "1 / 2")
self.assertEqual(inventory1.stock_move_ids.qty_done, 26)
self.assertEqual(inventory1.stock_move_ids.product_id.id, self.product.id)
self.assertEqual(inventory1.stock_move_ids.lot_id.id, self.lot_3.id)
self.assertEqual(inventory1.stock_move_ids.location_id.id, self.location3.id)
self.quant1.inventory_quantity = 65
self.quant1.action_apply_inventory()
inventory1.invalidate_recordset()
self.assertEqual(inventory1.count_stock_moves, 2)
self.assertEqual(inventory1.count_stock_quants, 2)
self.assertEqual(inventory1.count_stock_quants_string, "0 / 2")
inventory1.action_state_to_done()
def test_03_one_selection(self):
with self.assertRaises(UserError), self.cr.savepoint():
self.inventory_model.create(
{
"name": "Inventory_Test_5",
"product_selection": "one",
"location_ids": [self.location1.id],
"product_ids": [self.product.id, self.product2.id],
}
)
inventory1 = self.inventory_model.create(
{
"name": "Inventory_Test_5",
"product_selection": "one",
"location_ids": [self.location1.id],
"product_ids": [self.product.id],
}
)
inventory1.action_state_to_in_progress()
inventory1.product_ids = [self.product.id]
self.assertEqual(
inventory1.stock_quant_ids.ids, [self.quant1.id, self.quant3.id]
)
inventory1.action_state_to_draft()
self.assertEqual(inventory1.stock_quant_ids.ids, [])
inventory1.action_state_to_in_progress()
self.assertEqual(inventory1.state, "in_progress")
self.assertEqual(inventory1.count_stock_moves, 0)
self.assertEqual(inventory1.count_stock_quants, 2)
self.assertEqual(inventory1.count_stock_quants_string, "2 / 2")
inventory1.action_view_inventory_adjustment()
self.quant3.inventory_quantity = 74
self.quant3.action_apply_inventory()
inventory1.invalidate_recordset()
inventory1.action_view_stock_moves()
self.assertEqual(inventory1.count_stock_moves, 1)
self.assertEqual(inventory1.count_stock_quants, 2)
self.assertEqual(inventory1.count_stock_quants_string, "1 / 2")
self.assertEqual(inventory1.stock_move_ids.qty_done, 26)
self.assertEqual(inventory1.stock_move_ids.product_id.id, self.product.id)
self.assertEqual(inventory1.stock_move_ids.lot_id.id, self.lot_3.id)
self.assertEqual(inventory1.stock_move_ids.location_id.id, self.location3.id)
self.quant1.inventory_quantity = 65
self.quant1.action_apply_inventory()
inventory1.invalidate_recordset()
self.assertEqual(inventory1.count_stock_moves, 2)
self.assertEqual(inventory1.count_stock_quants, 2)
self.assertEqual(inventory1.count_stock_quants_string, "0 / 2")
inventory1.action_state_to_done()
def test_04_lot_selection(self):
with self.assertRaises(UserError), self.cr.savepoint():
self.inventory_model.create(
{
"name": "Inventory_Test_6",
"product_selection": "lot",
"location_ids": [self.location1.id],
"lot_ids": [self.lot_3.id],
"product_ids": [self.product.id, self.product2.id],
}
)
inventory1 = self.inventory_model.create(
{
"name": "Inventory_Test_6",
"product_selection": "lot",
"location_ids": [self.location1.id],
"lot_ids": [self.lot_3.id],
"product_ids": [self.product.id],
}
)
inventory1.product_ids = [self.product.id]
inventory1.action_state_to_in_progress()
self.assertEqual(inventory1.stock_quant_ids.ids, [self.quant3.id])
inventory1.action_state_to_draft()
self.assertEqual(inventory1.stock_quant_ids.ids, [])
inventory1.action_state_to_in_progress()
self.assertEqual(inventory1.state, "in_progress")
self.assertEqual(inventory1.count_stock_moves, 0)
self.assertEqual(inventory1.count_stock_quants, 1)
self.assertEqual(inventory1.count_stock_quants_string, "1 / 1")
inventory1.action_view_inventory_adjustment()
self.quant3.inventory_quantity = 74
self.quant3.action_apply_inventory()
inventory1.invalidate_recordset()
inventory1.action_view_stock_moves()
self.assertEqual(inventory1.count_stock_moves, 1)
self.assertEqual(inventory1.count_stock_quants, 1)
self.assertEqual(inventory1.count_stock_quants_string, "0 / 1")
self.assertEqual(inventory1.stock_move_ids.qty_done, 26)
self.assertEqual(inventory1.stock_move_ids.product_id.id, self.product.id)
self.assertEqual(inventory1.stock_move_ids.lot_id.id, self.lot_3.id)
self.assertEqual(inventory1.stock_move_ids.location_id.id, self.location3.id)
inventory1.action_state_to_done()
def test_05_category_selection(self):
inventory1 = self.inventory_model.create(
{
"name": "Inventory_Test_7",
"product_selection": "category",
"location_ids": [self.location3.id],
"category_id": self.product_categ.id,
}
)
inventory1.action_state_to_in_progress()
# Remove company_id from stock-quant to test it works as expected
inventory1.stock_quant_ids.write({"company_id": False})
self.assertEqual(inventory1.stock_quant_ids.ids, [self.quant4.id])
inventory1.action_state_to_draft()
self.assertEqual(inventory1.stock_quant_ids.ids, [])
inventory1.action_state_to_in_progress()
self.assertEqual(inventory1.state, "in_progress")
self.assertEqual(inventory1.count_stock_moves, 0)
self.assertEqual(inventory1.count_stock_quants, 1)
self.assertEqual(inventory1.count_stock_quants_string, "1 / 1")
inventory1.action_view_inventory_adjustment()
self.quant4.inventory_quantity = 74
self.quant4.action_apply_inventory()
inventory1.invalidate_recordset()
inventory1.action_view_stock_moves()
self.assertEqual(inventory1.count_stock_moves, 1)
self.assertEqual(inventory1.count_stock_quants, 1)
self.assertEqual(inventory1.count_stock_quants_string, "0 / 1")
self.assertEqual(inventory1.stock_move_ids.qty_done, 26)
self.assertEqual(inventory1.stock_move_ids.product_id.id, self.product2.id)
self.assertEqual(inventory1.stock_move_ids.location_id.id, self.location3.id)
inventory1.action_state_to_done()
def test_06_exclude_sub_locations(self):
inventory1 = self.inventory_model.create(
{
"name": "Inventory_Test_1",
"product_selection": "all",
"location_ids": [self.location1.id],
"exclude_sublocation": True,
}
)
inventory1.action_state_to_in_progress()
inventory2 = self.inventory_model.create(
{
"name": "Inventory_Test_2",
"product_selection": "all",
"location_ids": [self.location1.id],
"exclude_sublocation": True,
}
)
with self.assertRaises(UserError), self.cr.savepoint():
inventory2.action_state_to_in_progress()
self.assertEqual(inventory1.state, "in_progress")
self.assertEqual(
inventory1.stock_quant_ids.ids,
[self.quant1.id],
)
inventory1.action_state_to_draft()
self.assertEqual(inventory1.stock_quant_ids.ids, [])
inventory1.action_state_to_in_progress()
self.assertEqual(inventory1.count_stock_moves, 0)
self.assertEqual(inventory1.count_stock_quants, 1)
self.assertEqual(inventory1.count_stock_quants_string, "1 / 1")
inventory1.action_view_inventory_adjustment()
self.quant1.inventory_quantity = 92
self.quant1.action_apply_inventory()
inventory1._compute_count_stock_quants()
inventory1.action_view_stock_moves()
self.assertEqual(inventory1.count_stock_moves, 1)
self.assertEqual(inventory1.count_stock_quants, 1)
self.assertEqual(inventory1.count_stock_quants_string, "0 / 1")
self.assertEqual(inventory1.stock_move_ids.qty_done, 8)
self.assertEqual(inventory1.stock_move_ids.product_id.id, self.product.id)
self.assertEqual(inventory1.stock_move_ids.lot_id.id, self.lot_1.id)
self.assertEqual(inventory1.stock_move_ids.location_id.id, self.location1.id)
inventory1.action_state_to_done()
def test_07_stock_inventory_auto_complete(self):
self.env.company.stock_inventory_auto_complete = True
with self.assertRaises(ValidationError), self.cr.savepoint():
inventory1 = self.inventory_model.create(
{
"name": "Inventory_Test_5",
"product_selection": "one",
"location_ids": [self.location1.id],
"product_ids": [self.product.id, self.product2.id],
}
)
inventory1 = self.inventory_model.create(
{
"name": "Inventory_Test_5",
"product_selection": "one",
"location_ids": [self.location1.id],
"product_ids": [self.product.id],
}
)
inventory1.action_state_to_in_progress()
inventory1.product_ids = [self.product.id]
self.assertEqual(
inventory1.stock_quant_ids.ids, [self.quant1.id, self.quant3.id]
)
inventory1.action_state_to_draft()
self.assertEqual(inventory1.stock_quant_ids.ids, [])
inventory1.action_state_to_in_progress()
self.assertEqual(inventory1.state, "in_progress")
self.assertEqual(inventory1.count_stock_moves, 0)
self.assertEqual(inventory1.count_stock_quants, 2)
self.assertEqual(inventory1.count_stock_quants_string, "2 / 2")
inventory1.action_view_inventory_adjustment()
self.quant3.inventory_quantity = 74
self.quant3.action_apply_inventory()
inventory1._compute_count_stock_quants()
inventory1.action_view_stock_moves()
self.assertEqual(inventory1.count_stock_moves, 1)
self.assertEqual(inventory1.count_stock_quants, 2)
self.assertEqual(inventory1.count_stock_quants_string, "1 / 2")
self.assertEqual(inventory1.stock_move_ids.qty_done, 26)
self.assertEqual(inventory1.stock_move_ids.product_id.id, self.product.id)
self.assertEqual(inventory1.stock_move_ids.lot_id.id, self.lot_3.id)
self.assertEqual(inventory1.stock_move_ids.location_id.id, self.location3.id)
self.quant1.inventory_quantity = 65
self.quant1.action_apply_inventory()
self.assertEqual(inventory1.count_stock_moves, 2)
self.assertEqual(inventory1.count_stock_quants, 2)
self.assertEqual(inventory1.state, "done")
def test_08_multiple_inventories_same_location(self):
quant1 = self.quant_model.search(
[
("product_id", "=", self.product.id),
("location_id", "=", self.location1.id),
]
)
self.assertTrue(quant1)
self.quant_model.sudo().create(
{
"product_id": self.product2.id,
"quantity": 100.0,
"location_id": self.location1.id,
}
)
quant2 = self.quant_model.search(
[
("product_id", "=", self.product2.id),
("location_id", "=", self.location1.id),
]
)
self.assertTrue(quant2)
inventory1 = self.inventory_model.create(
{
"name": "Inventory_Test_8_1",
"product_selection": "manual",
"location_ids": [self.location1.id],
"product_ids": [self.product.id],
}
)
inventory1.action_state_to_in_progress()
self.assertEqual(inventory1.state, "in_progress")
inventory2 = self.inventory_model.create(
{
"name": "Inventory_Test_8_2",
"product_selection": "manual",
"location_ids": [self.location1.id],
"product_ids": [self.product2.id],
}
)
inventory2.action_state_to_in_progress()
self.assertEqual(inventory2.state, "in_progress")
self.assertEqual(inventory1.state, "in_progress")
def test_09_product_inventory_global_and_sublocations_review(self):
self.location4 = self.location_model.create(
{
"name": "Location 4",
"usage": "internal",
"location_id": self.location1.id,
}
)
location_global = self.location_model.create(
{
"name": "Global Location",
"usage": "internal",
}
)
self.location1.location_id = location_global.id
self.location2.location_id = location_global.id
self.location3.location_id = location_global.id
self.location4.location_id = location_global.id
inventory_global = self.inventory_model.create(
{
"name": "Inventory_Global",
"product_selection": "manual",
"location_ids": [location_global.id],
"product_ids": [self.product.id],
}
)
inventory_global.action_state_to_in_progress()
self.assertEqual(inventory_global.state, "in_progress")
inventory_sub_no_product = self.inventory_model.create(
{
"name": "Inventory_Sub_No_Product",
"product_selection": "manual",
"location_ids": [self.location4.id],
}
)
inventory_sub_no_product.action_state_to_in_progress()
self.assertEqual(inventory_sub_no_product.state, "in_progress")
with self.assertRaises(ValidationError), self.cr.savepoint():
inventory_sub_with_product = self.inventory_model.create(
{
"name": "Inventory_Sub_With_Product",
"product_selection": "manual",
"location_ids": [self.location1.id],
}
)
inventory_sub_with_product.action_state_to_in_progress()
def test_10_inventory_quant_to_do_states(self):
inventory = self.inventory_model.create(
{
"name": "Inventory_Test_10",
"product_selection": "manual",
"location_ids": [self.location1.id],
"product_ids": [self.product.id],
}
)
inventory.action_state_to_in_progress()
quants = inventory.stock_quant_ids
self.assertTrue(all(quant.to_do for quant in quants))
inventory.action_state_to_draft()
self.assertFalse(inventory.stock_quant_ids)
self.assertTrue(all(not quant.to_do for quant in quants))
inventory.action_state_to_in_progress()
quants = inventory.stock_quant_ids
self.assertTrue(all(quant.to_do for quant in quants))
self.assertTrue(inventory.stock_quant_ids)
inventory.action_state_to_done()
self.assertTrue(all(not quant.to_do for quant in quants))
def test_11_products_under_review(self):
inventory1 = self.inventory_model.create(
{
"name": "Inventory_Test_Under_Review_1",
"product_selection": "all",
"location_ids": [self.location1.id],
}
)
inventory1.action_state_to_in_progress()
self.assertEqual(inventory1.state, "in_progress")
self.assertIn(self.product, inventory1.products_under_review_ids)
inventory1.action_state_to_done()
self.assertEqual(inventory1.state, "done")
self.assertEqual(inventory1.products_under_review_ids.ids, [])
def test_12_search_products_under_review(self):
inventory = self.inventory_model.create(
{
"name": "Inventory for Search Test",
"product_selection": "all",
"location_ids": [self.location1.id],
}
)
inventory.action_state_to_in_progress()
search_result = self.inventory_model._search_products_under_review_ids(
"=", self.product.id
)
expected_result = [("id", "in", [inventory.id]), ("state", "=", "in_progress")]
self.assertEqual(
search_result,
expected_result,
"The search function did not return the expected results",
)
def test_13_multiple_inventories_different_products_same_location(self):
inventory1 = self.inventory_model.create(
{
"name": "Inventory1 for Product1",
"product_ids": [(6, 0, [self.product.id])],
"location_ids": [(6, 0, [self.location3.id])],
"product_selection": "manual",
}
)
inventory2 = self.inventory_model.create(
{
"name": "Inventory2 for Product2",
"product_ids": [(6, 0, [self.product2.id])],
"location_ids": [(6, 0, [self.location3.id])],
"product_selection": "manual",
}
)
inventory1.action_state_to_in_progress()
inventory2.action_state_to_in_progress()
self.assertEqual(inventory1.state, "in_progress")
self.assertEqual(inventory2.state, "in_progress")
self.assertEqual(
inventory1.stock_quant_ids.filtered(
lambda q: q.product_id == self.product
).current_inventory_id,
inventory1,
)
self.assertEqual(
inventory2.stock_quant_ids.filtered(
lambda q: q.product_id == self.product2
).current_inventory_id,
inventory2,
)

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2019-2023 ForgeFlow S.L.
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record id="res_config_settings_view_form" model="ir.ui.view">
<field name="name">res_config_settings_view_form - stock_inventory</field>
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="stock.res_config_settings_view_form" />
<field name="arch" type="xml">
<xpath expr="//div[@id='production_lot_info']" position='after'>
<h2>Stock Inventory</h2>
<div class="row mt16 o_settings_container">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="stock_inventory_auto_complete" />
</div>
<div class="o_setting_right_pane">
<label for="stock_inventory_auto_complete" />
<div class="text-muted">
If enabled, when all the quants prepared for the adjustment are done, the adjustment is automatically set to done.
</div>
</div>
</div>
</div>
</xpath>
</field>
</record>
</odoo>

View file

@ -0,0 +1,190 @@
<odoo>
<record id="view_inventory_group_form" model="ir.ui.view">
<field name="name">stock.inventory.form.view</field>
<field name="model">stock.inventory</field>
<field name="priority">1000</field>
<field name="arch" type="xml">
<form>
<header>
<button
type="object"
name="action_state_to_in_progress"
class="oe_highlight"
attrs="{'invisible':[('state', 'in', ['in_progress', 'done'])]}"
string="Begin Adjustments"
/>
<button
type="object"
name="action_state_to_draft"
attrs="{'invisible':['|',('state', 'in', ['draft', 'done']), ('count_stock_moves', '!=', 0)]}"
string="Back to Draft"
/>
<field name="action_state_to_cancel_allowed" invisible="1" />
<button
type="object"
name="action_state_to_cancel"
attrs="{'invisible':[('action_state_to_cancel_allowed', '=', False),]}"
string="Cancel"
/>
<button
type="object"
name="action_state_to_done"
class="oe_highlight"
attrs="{'invisible':[('state', 'in', ['draft', 'done'])]}"
string="Set to Done"
/>
<field
name="state"
widget="statusbar"
statusbar_visible="draft,in_progress,done"
/>
</header>
<sheet>
<div class="oe_button_box" name="button_box">
<button
type="object"
name="action_view_inventory_adjustment"
class="oe_stat_button"
icon="fa-pencil-square-o"
attrs="{'invisible':[('state', 'in', ['draft', 'done'])]}"
>
<field
name="count_stock_quants_string"
widget="statinfo"
readonly="1"
/>
<field invisible="True" name="count_stock_quants" />
</button>
<button
type="object"
name="action_view_stock_moves"
class="oe_stat_button"
icon="fa-cubes"
attrs="{'invisible':['|', ('state', '=', 'draft'), ('count_stock_moves', '=', 0)]}"
>
<field
name="count_stock_moves"
widget="statinfo"
readonly="1"
/>
</button>
</div>
<div class="oe_title" name="title">
<label for="name" class="oe_edit_only" />
<h1><field name="name" placeholder="e.g. Annual inventory" /></h1>
</div>
<group>
<group>
<field name="product_selection" widget="radio" />
<field
name="location_ids"
string="Locations"
widget="many2many_tags"
required="1"
/>
<field
name="exclude_sublocation"
attrs="{'readonly':[('state', 'in', ['in_progress', 'done'])]}"
required="1"
/>
</group>
<group>
<field name="date" />
<field name="company_id" />
<field name="responsible_id" />
<field
name="owner_id"
attrs="{'readonly':[('state', '=', 'done')]}"
/>
<field
name="product_ids"
widget="many2many_tags"
attrs="{'required': [('product_selection', 'in', ['manual', 'lot'])],'invisible': [('product_selection', 'in', ['all', 'category', 'one'])]}"
/>
<field
name="product_ids"
widget="many2many_tags"
options="{'limit': 10}"
attrs="{'required': [('product_selection', '=', 'one')],'invisible': [('product_selection', '!=', 'one')]}"
/>
<field
name="category_id"
attrs="{'required': [('product_selection', '=', 'category')],'invisible': [('product_selection', '!=', 'category')]}"
/>
<field
name="lot_ids"
widget="many2many_tags"
domain="[('product_id', 'in', product_ids)]"
attrs="{'required': [('product_selection', '=', 'lot')],'invisible': [('product_selection', '!=', 'lot')]}"
/>
</group>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" />
<field name="message_ids" widget="mail_thread" />
</div>
</form>
</field>
</record>
<record id="view_inventory_group_tree" model="ir.ui.view">
<field name="name">stock.inventory.tree.view</field>
<field name="model">stock.inventory</field>
<field name="priority">1000</field>
<field name="arch" type="xml">
<tree>
<field name="name" />
<field name="product_selection" optional="hide" />
<field name="location_ids" widget="many2many_tags" optional="hide" />
<field name="responsible_id" optional="hide" />
<field
name="state"
widget="badge"
decoration-success="state == 'done'"
decoration-info="state not in ('done', 'draft')"
decoration-muted="state == 'draft'"
/>
<field name="date" />
<field name="company_id" optional="hide" />
</tree>
</field>
</record>
<record model="ir.ui.view" id="stock_inventory_search_view">
<field name="model">stock.inventory</field>
<field name="arch" type="xml">
<search>
<field name="name" />
<field name="location_ids" />
<field name="date" />
<field name="state" />
<field name="product_ids" string="Product" />
<field
name="products_under_review_ids"
string="Products Under Review"
/>
</search>
</field>
</record>
<record id="action_view_inventory_group_form" model="ir.actions.act_window">
<field name="name">Inventory Adjustment Group</field>
<field name="res_model">stock.inventory</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_inventory_group_tree" />
</record>
<menuitem
id="menu_action_inventory_tree"
name="Inventory Adjustments"
parent="stock.menu_stock_warehouse_mgmt"
sequence="30"
action="action_view_inventory_group_form"
/>
<record id="stock.menu_action_inventory_tree" model="ir.ui.menu">
<field name="active" eval="False" />
</record>
</odoo>

View file

@ -0,0 +1,29 @@
<odoo>
<record id="view_stock_move_line_inventory_tree" model="ir.ui.view">
<field name="name">stock.move.line.tree.view.inventory</field>
<field name="model">stock.move.line</field>
<field name="priority">1000</field>
<field name="arch" type="xml">
<tree>
<field name="date" />
<field name="product_id" />
<field name="lot_id" />
<field name="location_id" />
<field name="location_dest_id" />
<field name="qty_done" />
<field name="company_id" optional="hide" />
<field name="reference" optional="show" />
</tree>
</field>
</record>
<record
id="action_view_stock_move_line_inventory_tree"
model="ir.actions.act_window"
>
<field name="name">Stock Move Lines</field>
<field name="res_model">stock.move.line</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_stock_move_line_inventory_tree" />
</record>
</odoo>

View file

@ -0,0 +1,16 @@
<odoo>
<record id="view_stock_quant_search_not_done" model="ir.ui.view">
<field name="name">stock.quant.search.not.done</field>
<field name="model">stock.quant</field>
<field name="inherit_id" ref="stock.quant_search_view" />
<field name="arch" type="xml">
<filter name="to_apply" position="after">
<filter
name='to_do'
string="To Do"
domain="[('to_do', '=', 'True')]"
/>
</filter>
</field>
</record>
</odoo>