Initial commit: OCA Workflow Process packages (456 packages)
|
|
@ -0,0 +1,48 @@
|
|||
# Purchase Blanket Orders
|
||||
|
||||
Odoo addon: purchase_blanket_order
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
pip install odoo-bringout-oca-purchase-workflow-purchase_blanket_order
|
||||
```
|
||||
|
||||
## Dependencies
|
||||
|
||||
This addon depends on:
|
||||
- purchase
|
||||
- web_action_conditionable
|
||||
- base_view_inheritance_extension
|
||||
|
||||
## Manifest Information
|
||||
|
||||
- **Name**: Purchase Blanket Orders
|
||||
- **Version**: 16.0.2.1.0
|
||||
- **Category**: Purchase
|
||||
- **License**: AGPL-3
|
||||
- **Installable**: True
|
||||
|
||||
## Source
|
||||
|
||||
Based on [OCA/purchase-workflow](https://github.com/OCA/purchase-workflow) branch 16.0, addon `purchase_blanket_order`.
|
||||
|
||||
## License
|
||||
|
||||
This package maintains the original AGPL-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
|
||||
|
|
@ -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 Purchase_blanket_order Module - purchase_blanket_order
|
||||
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.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
# Configuration
|
||||
|
||||
Refer to Odoo settings for purchase_blanket_order. Configure related models, access rights, and options as needed.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
# Controllers
|
||||
|
||||
This module does not define custom HTTP controllers.
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
# Dependencies
|
||||
|
||||
This addon depends on:
|
||||
|
||||
- [purchase](../../odoo-bringout-oca-ocb-purchase)
|
||||
- [web_action_conditionable](../../odoo-bringout-oca-web-web_action_conditionable)
|
||||
- [base_view_inheritance_extension](../../odoo-bringout-oca-server-tools-base_view_inheritance_extension)
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# FAQ
|
||||
|
||||
- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged).
|
||||
- Q: How to enable? A: Start server with --addon purchase_blanket_order or install in UI.
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
# Install
|
||||
|
||||
```bash
|
||||
pip install odoo-bringout-oca-purchase-workflow-purchase_blanket_order"
|
||||
# or
|
||||
uv pip install odoo-bringout-oca-purchase-workflow-purchase_blanket_order"
|
||||
```
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
# Models
|
||||
|
||||
Detected core models and extensions in purchase_blanket_order.
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
class purchase_blanket_order
|
||||
class purchase_blanket_order_line
|
||||
class purchase_order
|
||||
class purchase_order_line
|
||||
class res_config_settings
|
||||
```
|
||||
|
||||
Notes
|
||||
- Classes show model technical names; fields omitted for brevity.
|
||||
- Items listed under _inherit are extensions of existing models.
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
# Overview
|
||||
|
||||
Packaged Odoo addon: purchase_blanket_order. Provides features documented in upstream Odoo 16 under this addon.
|
||||
|
||||
- Source: OCA/OCB 16.0, addon purchase_blanket_order
|
||||
- License: LGPL-3
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# Reports
|
||||
|
||||
Report definitions and templates in purchase_blanket_order.
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
```
|
||||
|
||||
## Available Reports
|
||||
|
||||
### PDF/Document Reports
|
||||
- **Purchase Blanket Order** (PDF/Print)
|
||||
|
||||
|
||||
## Report Files
|
||||
|
||||
- **report.xml** (XML template/definition)
|
||||
- **templates.xml** (XML template/definition)
|
||||
|
||||
## Notes
|
||||
- Named reports above are accessible through Odoo's reporting menu
|
||||
- Python files define report logic and data processing
|
||||
- XML files contain report templates, definitions, and formatting
|
||||
- Reports are integrated with Odoo's printing and email systems
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
# Security
|
||||
|
||||
Access control and security definitions in purchase_blanket_order.
|
||||
|
||||
## Access Control Lists (ACLs)
|
||||
|
||||
Model access permissions defined in:
|
||||
- **[ir.model.access.csv](../purchase_blanket_order/security/ir.model.access.csv)**
|
||||
- 10 model access rules
|
||||
|
||||
## Record Rules
|
||||
|
||||
Row-level security rules defined in:
|
||||
|
||||
## Security Groups & Configuration
|
||||
|
||||
Security groups and permissions defined in:
|
||||
- **[security.xml](../purchase_blanket_order/security/security.xml)**
|
||||
- 1 security groups defined
|
||||
|
||||
```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](../purchase_blanket_order/security/ir.model.access.csv)**
|
||||
- Model access permissions (CRUD rights)
|
||||
- **[security.xml](../purchase_blanket_order/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
|
||||
|
|
@ -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.
|
||||
|
|
@ -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 purchase_blanket_order
|
||||
```
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
# Wizards
|
||||
|
||||
Transient models exposed as UI wizards in purchase_blanket_order.
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
class BlanketOrderWizard
|
||||
class BlanketOrderWizardLine
|
||||
```
|
||||
|
|
@ -0,0 +1,138 @@
|
|||
=======================
|
||||
Purchase Blanket Orders
|
||||
=======================
|
||||
|
||||
..
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! source digest: sha256:f258e9da8b80e585dcf4c52f80ed9cb7a7a5baa56d90fa049616aa58fc256b4f
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
||||
:target: https://odoo-community.org/page/development-status
|
||||
:alt: Beta
|
||||
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
|
||||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
||||
:alt: License: AGPL-3
|
||||
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpurchase--workflow-lightgray.png?logo=github
|
||||
:target: https://github.com/OCA/purchase-workflow/tree/16.0/purchase_blanket_order
|
||||
:alt: OCA/purchase-workflow
|
||||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
||||
:target: https://translation.odoo-community.org/projects/purchase-workflow-16-0/purchase-workflow-16-0-purchase_blanket_order
|
||||
: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/purchase-workflow&target_branch=16.0
|
||||
:alt: Try me on Runboat
|
||||
|
||||
|badge1| |badge2| |badge3| |badge4| |badge5|
|
||||
|
||||
A purchase blanket order is a pre-agreement to purchase a certain number of
|
||||
quantities of products at a specific price. From a confirmed blanket order,
|
||||
the users can create new purchase orders at such price, until the blanket
|
||||
order expires due to reaching the validity date.
|
||||
|
||||
**Table of contents**
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
A new menu in the Purchase area is created, allowing users to create new blanket orders.
|
||||
|
||||
To create a new Purchase Blanket Order go to the purchase menu in the Purchase section:
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/purchase_blanket_order/static/description/BO_menu.png
|
||||
:alt: Blanket Orders menu
|
||||
|
||||
Hitting the button create will open the form view in which we can introduce the following
|
||||
information:
|
||||
|
||||
* Vendor
|
||||
* Payment Terms
|
||||
* Ordering and Validity dates
|
||||
* Order lines:
|
||||
* Product
|
||||
* Accorded price
|
||||
* Original, Ordered, Invoiced, Received and Remaining quantities
|
||||
* Terms and Conditions of the Blanket Order
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/purchase_blanket_order/static/description/BO_form.png
|
||||
:alt: Blanket Orders form
|
||||
|
||||
From the form, once the Blanket Order has been confirmed and its state is open, the user can
|
||||
create a Purchase Order, check the Purchase Orders associated to the Blanket Order and/or
|
||||
see the Blanket Order lines associated to the BO.
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/purchase_blanket_order/static/description/BO_actions.png
|
||||
:alt: Actions that can be done from Blanket Order
|
||||
|
||||
Hitting the button Create Purchase Order will open a wizard that will ask for the amount of each
|
||||
product in the BO lines for which the Purchase Order will be created.
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/purchase_blanket_order/static/description/PO_from_BO.png
|
||||
:alt: Create Purchase Order from Blanket Order
|
||||
|
||||
Installing this module will add an additional menu which will show all the blanket order lines
|
||||
currently defined in the system. From this list the user can create customized Purchase Orders
|
||||
selecting the lines for which the PO (or POs if the vendors are different) is (are) created.
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/purchase_blanket_order/static/description/BO_lines.png
|
||||
:alt: Blanket Order lines and actions
|
||||
|
||||
In the Purchase Order form one field is added in the PO lines, the Blanket Order line field. This
|
||||
field keeps track to which Blanket Order line the PO line is associated. Upon adding a new product
|
||||
in a newly created Purchase Order a blanket order line will be suggested depending on the following
|
||||
factors:
|
||||
|
||||
* Closer Validity date
|
||||
* Remaining quantity > Quantity introduced in the Purchase Order line
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/purchase_blanket_order/static/description/PO_BOLine.png
|
||||
:alt: New field added in Purchase Order Line
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/purchase-workflow/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/purchase-workflow/issues/new?body=module:%20purchase_blanket_order%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
|
||||
~~~~~~~~~~~~
|
||||
|
||||
* Adrià Gil Sorribes <adria.gil@forgeflow.com>
|
||||
* Jordi Ballester Alomar <jordi.ballester@forgeflow.com>
|
||||
* Héctor Villarreal <hector.villarreal@forgeflow.com>
|
||||
* Lois Rilo <lois.rilo@forgeflow.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/purchase-workflow <https://github.com/OCA/purchase-workflow/tree/16.0/purchase_blanket_order>`_ project on GitHub.
|
||||
|
||||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from . import models
|
||||
from . import wizard
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
# Copyright 2019-22 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
{
|
||||
"name": "Purchase Blanket Orders",
|
||||
"category": "Purchase",
|
||||
"license": "AGPL-3",
|
||||
"author": "ForgeFlow, Odoo Community Association (OCA)",
|
||||
"version": "16.0.2.1.0",
|
||||
"website": "https://github.com/OCA/purchase-workflow",
|
||||
"summary": "Purchase Blanket Orders",
|
||||
"depends": [
|
||||
"purchase",
|
||||
"web_action_conditionable",
|
||||
"base_view_inheritance_extension",
|
||||
],
|
||||
"data": [
|
||||
"security/ir.model.access.csv",
|
||||
"security/security.xml",
|
||||
"data/sequence.xml",
|
||||
"data/ir_cron.xml",
|
||||
"wizard/create_purchase_orders.xml",
|
||||
"views/purchase_config_settings.xml",
|
||||
"views/purchase_blanket_order_views.xml",
|
||||
"views/purchase_order_views.xml",
|
||||
"report/templates.xml",
|
||||
"report/report.xml",
|
||||
],
|
||||
"installable": True,
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (C) 2018 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
<odoo noupdate="1">
|
||||
<record
|
||||
forcecreate="True"
|
||||
id="expired_purchase_blanket_orders_cron"
|
||||
model="ir.cron"
|
||||
>
|
||||
<field name="name">Expire Blanket Orders</field>
|
||||
<field name="interval_number">1</field>
|
||||
<field name="interval_type">days</field>
|
||||
<field
|
||||
name="nextcall"
|
||||
eval="(DateTime.now() + relativedelta(hour=00, minute=1, second=0)).strftime('%Y-%m-%d %H:%M:%S')"
|
||||
/>
|
||||
<field name="numbercall">-1</field>
|
||||
<field name="doall" eval="False" />
|
||||
<field name="model_id" ref="model_purchase_blanket_order" />
|
||||
<field name="state">code</field>
|
||||
<field name="code">model.expire_orders()</field>
|
||||
</record>
|
||||
|
||||
<record id="warnings_purchase_blanket_orders_cron" model="ir.cron">
|
||||
<field name="name">Warnings Blanket Orders</field>
|
||||
<field name="interval_number">1</field>
|
||||
<field name="interval_type">days</field>
|
||||
<field
|
||||
name="nextcall"
|
||||
eval="(DateTime.now() + relativedelta(hour=00, minute=1, second=0)).strftime('%Y-%m-%d %H:%M:%S')"
|
||||
/>
|
||||
<field name="numbercall">-1</field>
|
||||
<field name="doall" eval="False" />
|
||||
<field name="model_id" ref="model_purchase_blanket_order" />
|
||||
<field name="state">code</field>
|
||||
<field name="code">model.compute_warnings()</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo noupdate="1">
|
||||
<!-- Sequences for purchase.blanket.order -->
|
||||
<record id="seq_purchase_blanket_order" model="ir.sequence">
|
||||
<field name="name">Purchase Blanket Order</field>
|
||||
<field name="code">purchase.blanket.order</field>
|
||||
<field name="prefix">PBO</field>
|
||||
<field name="padding">3</field>
|
||||
<field name="company_id" eval="False" />
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,937 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * purchase_blanket_order
|
||||
#
|
||||
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: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<span>Blanket Order # </span>"
|
||||
msgstr "<span>Blanket Order # </span>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Currency:</strong>"
|
||||
msgstr "<strong>Valuta:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Payment Terms:</strong>"
|
||||
msgstr "<strong>Payment Terms:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Purchase person:</strong>"
|
||||
msgstr "<strong>Purchase person:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Subtotal</strong>"
|
||||
msgstr "<strong>Podukupno</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Total</strong>"
|
||||
msgstr "<strong>Ukupno</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Validity Date:</strong>"
|
||||
msgstr "<strong>Validity Datum:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_needaction
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction
|
||||
msgid "Action Needed"
|
||||
msgstr "Potrebna akcija"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_ids
|
||||
msgid "Activities"
|
||||
msgstr "Aktivnosti"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_exception_decoration
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_decoration
|
||||
msgid "Activity Exception Decoration"
|
||||
msgstr "Dekoracija iznimke aktivnosti"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_state
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_state
|
||||
msgid "Activity State"
|
||||
msgstr "Status aktivnosti"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_type_icon
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_icon
|
||||
msgid "Activity Type Icon"
|
||||
msgstr "Ikona tipa aktivnosti"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "All lines have already been completed."
|
||||
msgstr "Verovatno da se prodaje kao usluga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Amount"
|
||||
msgstr "Iznos"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "An order can't be empty"
|
||||
msgstr "Može se potrošiti"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_attachment_count
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_attachment_count
|
||||
msgid "Attachment Count"
|
||||
msgstr "Broj priloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__blanket_line_id
|
||||
msgid "Blanket Line"
|
||||
msgstr "Glavna linija"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__blanket_order_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Blanket Order"
|
||||
msgstr "Glavni nalog"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_order_line__blanket_order_line
|
||||
msgid "Blanket Order Line"
|
||||
msgstr "Linija glavnog naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.act_open_purchase_blanket_order_lines_view_tree
|
||||
#: model:ir.ui.menu,name:purchase_blanket_order.menu_purchase_blanket_order_line
|
||||
msgid "Blanket Order Lines"
|
||||
msgstr "Linije blanket naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_wizard
|
||||
msgid "Blanket Order Wizard"
|
||||
msgstr "Čarobnjak glavnog naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__date_start
|
||||
msgid "Blanket Order starting date."
|
||||
msgstr "Početni datum glavnog naloga."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
#: model:ir.ui.menu,name:purchase_blanket_order.menu_purchase_blanket_order_config
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_config_settings_form_view
|
||||
msgid "Blanket Orders"
|
||||
msgstr "Blanket nalozi"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Can not create Purchase Order from Blanket Order lines with different "
|
||||
"currencies"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Cancel"
|
||||
msgstr "Otkaži"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__cancelled
|
||||
msgid "Cancelled"
|
||||
msgstr "Otkazan"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot confirm order %s as one of the lines refers to a blanket order that "
|
||||
"has no remaining quantity."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.actions.act_window,help:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
msgid ""
|
||||
"Click to create a blanket order that can be converted into a purchase order."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__company_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__company_id
|
||||
msgid "Company"
|
||||
msgstr "Preduzeće"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Confirm"
|
||||
msgstr "Potvrdi"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__confirmed
|
||||
msgid "Confirmed"
|
||||
msgstr "Potvrđeno"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Create Purchase Order"
|
||||
msgstr "Kreiraj Purchase Order"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.action_create_purchase_order
|
||||
msgid "Create RFQ"
|
||||
msgstr "Kreirao"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
msgid "Create and View Order"
|
||||
msgstr "Kreiraj and View Order"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Kreirao"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Kreirano"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__currency_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__currency_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__currency_id
|
||||
msgid "Currency"
|
||||
msgstr "Valuta"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Date Scheduled"
|
||||
msgstr "Zakazani datum"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__validity_date
|
||||
msgid ""
|
||||
"Date until which the blanket order will be valid, after this date the "
|
||||
"blanket order will be marked as expired"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__name
|
||||
msgid "Description"
|
||||
msgstr "Opis"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_res_config_settings__group_purchase_blanket_disable_adding_lines
|
||||
msgid "Disable adding more lines to POs"
|
||||
msgstr "Onemogući dodavanje više linija u nabavne naloge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_config_settings_form_view
|
||||
msgid "Disable adding more lines to POs from Blanket Orders"
|
||||
msgstr "Disable adding more lines to POs from Blanket Orders"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:res.groups,name:purchase_blanket_order.purchase_blanket_orders_disable_adding_lines
|
||||
msgid "Disable adding more lines to POs from Purchase Blanket Orders"
|
||||
msgstr "Onemogući dodavanje više linija u nabavne naloge iz glavnih nabavnih naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Prikazani naziv"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__done
|
||||
msgid "Done"
|
||||
msgstr "Gotovo"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__draft
|
||||
msgid "Draft"
|
||||
msgstr "U pripremi"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.server,name:purchase_blanket_order.expired_purchase_blanket_orders_cron_ir_actions_server
|
||||
#: model:ir.cron,cron_name:purchase_blanket_order.expired_purchase_blanket_orders_cron
|
||||
msgid "Expire Blanket Orders"
|
||||
msgstr "Istekni blanket naloge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__expired
|
||||
msgid "Expired"
|
||||
msgstr "Istekao"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__fiscal_position_id
|
||||
msgid "Fiscal Position"
|
||||
msgstr "Fiskalna pozicija"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_follower_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_follower_ids
|
||||
msgid "Followers"
|
||||
msgstr "Pratioci"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_partner_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_partner_ids
|
||||
msgid "Followers (Partners)"
|
||||
msgstr "Pratioci (Partneri)"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_type_icon
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_icon
|
||||
msgid "Font awesome icon e.g. fa-tasks"
|
||||
msgstr "Font awesome ikona npr. fa-tasks"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__has_message
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__has_message
|
||||
msgid "Has Message"
|
||||
msgstr "Ima poruku"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_exception_icon
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_icon
|
||||
msgid "Icon"
|
||||
msgstr "Ikona"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_exception_icon
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_icon
|
||||
msgid "Icon to indicate an exception activity."
|
||||
msgstr "Ikona za prikaz iznimki."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_needaction
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction
|
||||
msgid "If checked, new messages require your attention."
|
||||
msgstr "Ako je zakačeno, nove poruke će zahtjevati vašu pažnju"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_has_error
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__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: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Invoice Information"
|
||||
msgstr "Invoice Information"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Invoiced Qty"
|
||||
msgstr "Okvirni nalog"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__invoiced_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__invoiced_uom_qty
|
||||
msgid "Invoiced quantity"
|
||||
msgstr "Fakturisana količina"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_is_follower
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_is_follower
|
||||
msgid "Is Follower"
|
||||
msgstr "Pratilac"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Zadnje mijenjano"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Zadnji ažurirao"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Zadnje ažurirano"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__line_ids
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Lines"
|
||||
msgstr "Stavke"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_main_attachment_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_main_attachment_id
|
||||
msgid "Main Attachment"
|
||||
msgstr "Glavna zakačka"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_has_error
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error
|
||||
msgid "Message Delivery error"
|
||||
msgstr "Greška pri isporuci poruke"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_ids
|
||||
msgid "Messages"
|
||||
msgstr "Poruke"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Must have some lines"
|
||||
msgstr "Prikaži blanket nalog"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__my_activity_date_deadline
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__my_activity_date_deadline
|
||||
msgid "My Activity Deadline"
|
||||
msgstr "Rok za moju aktivnost"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__name
|
||||
msgid "Name"
|
||||
msgstr "Naziv:"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_date_deadline
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_date_deadline
|
||||
msgid "Next Activity Deadline"
|
||||
msgstr "Krajnji rok za sljedeću aktivnost"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_summary
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_summary
|
||||
msgid "Next Activity Summary"
|
||||
msgstr "Pregled sljedeće aktivnosti"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_type_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_id
|
||||
msgid "Next Activity Type"
|
||||
msgstr "Tip sljedeće aktivnosti"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__note
|
||||
msgid "Note"
|
||||
msgstr "Zabilješka"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_needaction_counter
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction_counter
|
||||
msgid "Number of Actions"
|
||||
msgstr "Broj akcija"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_has_error_counter
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error_counter
|
||||
msgid "Number of errors"
|
||||
msgstr "Broj grešaka"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_needaction_counter
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction_counter
|
||||
msgid "Number of messages requiring action"
|
||||
msgstr "Broj poruka koje zahtijevaju aktivnost"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_has_error_counter
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error_counter
|
||||
msgid "Number of messages with delivery error"
|
||||
msgstr "Broj poruka sa greškama pri isporuci"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__open
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Open"
|
||||
msgstr "Otvori"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__order_id
|
||||
msgid "Order"
|
||||
msgstr "Nalog"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Order Lines"
|
||||
msgstr "Stavke naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__line_ids
|
||||
msgid "Order lines"
|
||||
msgstr "Stavke narudžbe"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Ordered Qty"
|
||||
msgstr "Ordered Qty"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__ordered_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__ordered_uom_qty
|
||||
msgid "Ordered quantity"
|
||||
msgstr "Naručena količina"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_order__blanket_order_id
|
||||
msgid "Origin blanket order"
|
||||
msgstr "Izvorni glavni nalog"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Original Qty"
|
||||
msgstr "Kreiraj blanket nalog"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__original_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__original_uom_qty
|
||||
msgid "Original quantity"
|
||||
msgstr "Originalna količina"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Other Information"
|
||||
msgstr "Ostale informacije"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Partner is mandatory"
|
||||
msgstr "Partner is mandatory"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__payment_term_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__payment_term_id
|
||||
msgid "Payment Terms"
|
||||
msgstr "Uslovi plaćanja"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_unit
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__price_unit
|
||||
msgid "Price"
|
||||
msgstr "Cijena"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Price must be greater than zero"
|
||||
msgstr "Price must be greater than zero"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_res_config_settings
|
||||
msgid "Procurement purchase grouping settings"
|
||||
msgstr "Postavke grupiranja nabavki za prokuraciju"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__product_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__product_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__product_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Product"
|
||||
msgstr "Artikal"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.report,name:purchase_blanket_order.report_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order
|
||||
msgid "Purchase Blanket Order"
|
||||
msgstr "Nabavni blanket nalog"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "Purchase Blanket Order %s is not open"
|
||||
msgstr "Purchase Blanket Order %s is not open"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_line
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_form
|
||||
msgid "Purchase Blanket Order Line"
|
||||
msgstr "Linija glavnog nabavnog naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__line_count
|
||||
msgid "Purchase Blanket Order Line count"
|
||||
msgstr "Broj linija glavnog nabavnog naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_wizard_line
|
||||
msgid "Purchase Blanket Order Wizard Line"
|
||||
msgstr "Linija čarobnjaka glavnog nabavnog naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__purchase_count
|
||||
msgid "Purchase Count"
|
||||
msgstr "Broj nabavki"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__purchase_order_id
|
||||
msgid "Purchase Order"
|
||||
msgstr "Nalog za nabavu"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_order_line
|
||||
msgid "Purchase Order Line"
|
||||
msgstr "Stavka naloga za nabavu"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__purchase_lines
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_form
|
||||
msgid "Purchase Order Lines"
|
||||
msgstr "Stavke narudžbenice"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Quantity must be greater than zero"
|
||||
msgstr "Quantity must be greater than zero"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__qty
|
||||
msgid "Quantity to Order"
|
||||
msgstr "Količina za narudžbu"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "RFQ"
|
||||
msgstr "RFQ"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "RFQ/Orders"
|
||||
msgstr "Blanket nalozi"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Received Qty"
|
||||
msgstr "Primljena kol."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__received_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__received_uom_qty
|
||||
msgid "Received quantity"
|
||||
msgstr "Primljena količina"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Remaining Qty"
|
||||
msgstr "Preostala kol."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__remaining_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__remaining_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__remaining_uom_qty
|
||||
msgid "Remaining quantity"
|
||||
msgstr "Preostala količina"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__remaining_qty
|
||||
msgid "Remaining quantity in base UoM"
|
||||
msgstr "Preostala količina u osnovnoj mjerni jedinici"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__user_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__user_id
|
||||
msgid "Responsible"
|
||||
msgstr "Odgovoran"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_user_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_user_id
|
||||
msgid "Responsible User"
|
||||
msgstr "Odgovorni korisnik"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Schedule dates defined on the Purchase Order Line and on the Blanket Order "
|
||||
"Line do not match."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__date_schedule
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__date_schedule
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Scheduled Date"
|
||||
msgstr "Zakazani datum"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_search
|
||||
msgid "Search Purchase Blanket Order Line"
|
||||
msgstr "Iznos blanket naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__sequence
|
||||
msgid "Sequence"
|
||||
msgstr "Sekvenca"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Setup default terms and conditions in your company settings."
|
||||
msgstr "Broj blanket naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__date_start
|
||||
msgid "Start Date"
|
||||
msgstr "Početni datum"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__state
|
||||
msgid "State"
|
||||
msgstr "Status"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_state
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_state
|
||||
msgid ""
|
||||
"Status based on activities\n"
|
||||
"Overdue: Due date is already passed\n"
|
||||
"Today: Activity date is today\n"
|
||||
"Planned: Future activities."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_subtotal
|
||||
msgid "Subtotal"
|
||||
msgstr "Podukupno"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_tax
|
||||
msgid "Tax"
|
||||
msgstr "Porez"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_tax
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__taxes_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__taxes_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Taxes"
|
||||
msgstr "Porezi"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Terms and Conditions"
|
||||
msgstr "Odredbe i uslovi"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The currency of the blanket order must match with that of the purchase "
|
||||
"order."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid "The vendor must be equal to the blanket order lines vendor"
|
||||
msgstr "Linija blanket naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "To Draft"
|
||||
msgstr "Datum početka blanket naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_total
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_total
|
||||
msgid "Total"
|
||||
msgstr "Ukupno"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_exception_decoration
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_decoration
|
||||
msgid "Type of the exception activity on record."
|
||||
msgstr "Vrsta aktivnosti iznimke na zapisu."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Unit Price"
|
||||
msgstr "Cijena"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__product_uom
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__product_uom
|
||||
msgid "Unit of Measure"
|
||||
msgstr "Jedinica mjere"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_untaxed
|
||||
msgid "Untaxed Amount"
|
||||
msgstr "Iznos bez PDV"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.actions.act_window,help:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
msgid ""
|
||||
"Use this menu to search within your blanket orders. For each blanket order,\n"
|
||||
" you can track the related discussion with the vendor, control\n"
|
||||
" the products received and control the vendor bills."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "VAT:"
|
||||
msgstr "PDV:"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__validity_date
|
||||
msgid "Validity Date"
|
||||
msgstr "Datum važenja"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Validity date is mandatory"
|
||||
msgstr "Količina blanket naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Validity date must be in the future"
|
||||
msgstr "Blanket nalog"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__partner_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__partner_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__partner_id
|
||||
msgid "Vendor"
|
||||
msgstr "Dobavljač"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__partner_ref
|
||||
msgid "Vendor Reference"
|
||||
msgstr "Referenca dobavljača"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.server,name:purchase_blanket_order.warnings_purchase_blanket_orders_cron_ir_actions_server
|
||||
#: model:ir.cron,cron_name:purchase_blanket_order.warnings_purchase_blanket_orders_cron
|
||||
msgid "Warnings Blanket Orders"
|
||||
msgstr "Upozorenja blanket naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__website_message_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__website_message_ids
|
||||
msgid "Website Messages"
|
||||
msgstr "Poruke sa website-a"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__website_message_ids
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__website_message_ids
|
||||
msgid "Website communication history"
|
||||
msgstr "Povijest komunikacije Web stranice"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__wizard_id
|
||||
msgid "Wizard"
|
||||
msgstr "ID čarobnjaka"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can not delete a blanket order with opened purchase orders! Try to "
|
||||
"cancel them before."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can not delete an open blanket order! Try to cancel it before."
|
||||
msgstr "Minimalna količina"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can't create a purchase order from an expired blanket order!"
|
||||
msgstr "Količina naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can't order more than the remaining quantities"
|
||||
msgstr "Originalna količina blanket naloga"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You have to select lines from the same company."
|
||||
msgstr "Preostala količina"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "remaining"
|
||||
msgstr "Količina jedinica"
|
||||
|
|
@ -0,0 +1,960 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * purchase_blanket_order
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2025-08-15 13:25+0000\n"
|
||||
"Last-Translator: Amazngadam <immanuelleppert@gmail.com>\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: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<span>Blanket Order # </span>"
|
||||
msgstr "<span>Rahmenauftrag #</span>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Currency:</strong>"
|
||||
msgstr "<strong>Währung:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Payment Terms:</strong>"
|
||||
msgstr "<strong>Zahlungsbedingungen:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Purchase person:</strong>"
|
||||
msgstr "<strong>Käufer:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Subtotal</strong>"
|
||||
msgstr "<strong>Zwischensumme</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Total</strong>"
|
||||
msgstr "<strong>Gesamt</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Validity Date:</strong>"
|
||||
msgstr "<strong>Gültigkeitsdatum</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_needaction
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction
|
||||
msgid "Action Needed"
|
||||
msgstr "Aktion notwendig"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_ids
|
||||
msgid "Activities"
|
||||
msgstr "Aktivitäten"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_exception_decoration
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_decoration
|
||||
msgid "Activity Exception Decoration"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_state
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_state
|
||||
msgid "Activity State"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_type_icon
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_icon
|
||||
msgid "Activity Type Icon"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "All lines have already been completed."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "An order can't be empty"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_attachment_count
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_attachment_count
|
||||
msgid "Attachment Count"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__blanket_line_id
|
||||
msgid "Blanket Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__blanket_order_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Blanket Order"
|
||||
msgstr "Rahmenauftrag"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_order_line__blanket_order_line
|
||||
msgid "Blanket Order Line"
|
||||
msgstr "Rahmenauftragszeile"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.act_open_purchase_blanket_order_lines_view_tree
|
||||
#: model:ir.ui.menu,name:purchase_blanket_order.menu_purchase_blanket_order_line
|
||||
msgid "Blanket Order Lines"
|
||||
msgstr "Rahmenauftragszeilen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_wizard
|
||||
msgid "Blanket Order Wizard"
|
||||
msgstr "Rahmenauftragseingabeassistent"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__date_start
|
||||
msgid "Blanket Order starting date."
|
||||
msgstr "Rahmenauftragsstartdatum."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
#: model:ir.ui.menu,name:purchase_blanket_order.menu_purchase_blanket_order_config
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_config_settings_form_view
|
||||
msgid "Blanket Orders"
|
||||
msgstr "Rahmenaufträge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Can not create Purchase Order from Blanket Order lines with different "
|
||||
"currencies"
|
||||
msgstr ""
|
||||
"Es kann kein Kaufauftrag aus Rahmenauftragszeilen mit verschiedenen "
|
||||
"Währungen generiert werden"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Cancel"
|
||||
msgstr "Stornieren"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__cancelled
|
||||
msgid "Cancelled"
|
||||
msgstr "Storniert"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot confirm order %s as one of the lines refers to a blanket order that "
|
||||
"has no remaining quantity."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.actions.act_window,help:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
msgid ""
|
||||
"Click to create a blanket order that can be converted into a purchase order."
|
||||
msgstr ""
|
||||
"Klicken um einen Rahmenauftrag zu erstellen, welcher in eine Bestellung "
|
||||
"konvertiert werden kann."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__company_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__company_id
|
||||
msgid "Company"
|
||||
msgstr "Unternehmen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Confirm"
|
||||
msgstr "Bestätigen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__confirmed
|
||||
msgid "Confirmed"
|
||||
msgstr "Bestätigt"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Create Purchase Order"
|
||||
msgstr "Bestellung erstellen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.action_create_purchase_order
|
||||
msgid "Create RFQ"
|
||||
msgstr "Angebotsanfrage erstellen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
msgid "Create and View Order"
|
||||
msgstr "Bestellung erstellen und ansehen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Erstellt von"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Erstellt am"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__currency_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__currency_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__currency_id
|
||||
msgid "Currency"
|
||||
msgstr "Währung"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Date Scheduled"
|
||||
msgstr "Geplantes Datum"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__validity_date
|
||||
msgid ""
|
||||
"Date until which the blanket order will be valid, after this date the "
|
||||
"blanket order will be marked as expired"
|
||||
msgstr ""
|
||||
"Datum bis wann der Rahmenauftrag gültig ist; nach diesem Datum wird der "
|
||||
"Rahmenauftrag als abgelaufen markiert"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__name
|
||||
msgid "Description"
|
||||
msgstr "Beschreibung"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_res_config_settings__group_purchase_blanket_disable_adding_lines
|
||||
msgid "Disable adding more lines to POs"
|
||||
msgstr "Hinzufügen weiterer Positionen zu Bestellungen deaktivieren"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_config_settings_form_view
|
||||
msgid "Disable adding more lines to POs from Blanket Orders"
|
||||
msgstr ""
|
||||
"Hinzufügen weiterer Positionen zu Bestellungen von Rahmenaufträgen "
|
||||
"deaktivieren"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:res.groups,name:purchase_blanket_order.purchase_blanket_orders_disable_adding_lines
|
||||
msgid "Disable adding more lines to POs from Purchase Blanket Orders"
|
||||
msgstr ""
|
||||
"Hinzufügen weiterer Positionen zu Bestellungen von Rahmenaufträgen "
|
||||
"deaktivieren"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Anzeigename"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__done
|
||||
msgid "Done"
|
||||
msgstr "Erledigt"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__draft
|
||||
msgid "Draft"
|
||||
msgstr "Entwurf"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.server,name:purchase_blanket_order.expired_purchase_blanket_orders_cron_ir_actions_server
|
||||
#: model:ir.cron,cron_name:purchase_blanket_order.expired_purchase_blanket_orders_cron
|
||||
msgid "Expire Blanket Orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__expired
|
||||
msgid "Expired"
|
||||
msgstr "Abgelaufen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__fiscal_position_id
|
||||
msgid "Fiscal Position"
|
||||
msgstr "Steuerposition"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_follower_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_follower_ids
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_partner_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_partner_ids
|
||||
msgid "Followers (Partners)"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_type_icon
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_icon
|
||||
msgid "Font awesome icon e.g. fa-tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__has_message
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__has_message
|
||||
msgid "Has Message"
|
||||
msgstr "Hat eine Nachricht"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_exception_icon
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_icon
|
||||
msgid "Icon"
|
||||
msgstr "Symbol"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_exception_icon
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_icon
|
||||
msgid "Icon to indicate an exception activity."
|
||||
msgstr "Symbol um eine ausnahmsaktivität zu symbolisieren."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_needaction
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction
|
||||
msgid "If checked, new messages require your attention."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_has_error
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error
|
||||
msgid "If checked, some messages have a delivery error."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Invoice Information"
|
||||
msgstr "Rechnungsinformation"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Invoiced Qty"
|
||||
msgstr "Abgerechnete Menge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__invoiced_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__invoiced_uom_qty
|
||||
msgid "Invoiced quantity"
|
||||
msgstr "Abgerechnete Menge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_is_follower
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_is_follower
|
||||
msgid "Is Follower"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Zulätzt geändert am"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Zuletzt aktualisiert von"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Zuletzt aktualsieiert am"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__line_ids
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Lines"
|
||||
msgstr "Positionen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_main_attachment_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_main_attachment_id
|
||||
msgid "Main Attachment"
|
||||
msgstr "Hauptanhang"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_has_error
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error
|
||||
msgid "Message Delivery error"
|
||||
msgstr "Nachrichtenzustellungsfehler"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_ids
|
||||
msgid "Messages"
|
||||
msgstr "Nachrichten"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Must have some lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__my_activity_date_deadline
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__my_activity_date_deadline
|
||||
msgid "My Activity Deadline"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__name
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_date_deadline
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_date_deadline
|
||||
msgid "Next Activity Deadline"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_summary
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_summary
|
||||
msgid "Next Activity Summary"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_type_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_id
|
||||
msgid "Next Activity Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__note
|
||||
msgid "Note"
|
||||
msgstr "Notiz"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_needaction_counter
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction_counter
|
||||
msgid "Number of Actions"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_has_error_counter
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error_counter
|
||||
msgid "Number of errors"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_needaction_counter
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction_counter
|
||||
msgid "Number of messages requiring action"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_has_error_counter
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error_counter
|
||||
msgid "Number of messages with delivery error"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__open
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Open"
|
||||
msgstr "Offen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__order_id
|
||||
msgid "Order"
|
||||
msgstr "Bestellung"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Order Lines"
|
||||
msgstr "Bestellpositionen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__line_ids
|
||||
msgid "Order lines"
|
||||
msgstr "Bestellpositionen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Ordered Qty"
|
||||
msgstr "Bestellte Menge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__ordered_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__ordered_uom_qty
|
||||
msgid "Ordered quantity"
|
||||
msgstr "Bestellte Menge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_order__blanket_order_id
|
||||
msgid "Origin blanket order"
|
||||
msgstr "Quellrahmenauftrag"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Original Qty"
|
||||
msgstr "Ursprüngliche Menge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__original_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__original_uom_qty
|
||||
msgid "Original quantity"
|
||||
msgstr "Ursprüngliche Menge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Other Information"
|
||||
msgstr "Weitere Informationen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Partner is mandatory"
|
||||
msgstr "Partner ist notwendig"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__payment_term_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__payment_term_id
|
||||
msgid "Payment Terms"
|
||||
msgstr "Zahlungsbedingungen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_unit
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__price_unit
|
||||
msgid "Price"
|
||||
msgstr "Preis"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Price must be greater than zero"
|
||||
msgstr "Preis muss größer als Null sein"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_res_config_settings
|
||||
msgid "Procurement purchase grouping settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__product_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__product_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__product_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Product"
|
||||
msgstr "Produkt"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.report,name:purchase_blanket_order.report_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order
|
||||
msgid "Purchase Blanket Order"
|
||||
msgstr "Bestellrahmenauftrag"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "Purchase Blanket Order %s is not open"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_line
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_form
|
||||
msgid "Purchase Blanket Order Line"
|
||||
msgstr "Einkaufrahmenauftragszeile"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__line_count
|
||||
msgid "Purchase Blanket Order Line count"
|
||||
msgstr "Einkaufrahmenauftragszeilenanzahl"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_wizard_line
|
||||
msgid "Purchase Blanket Order Wizard Line"
|
||||
msgstr "Einkaufsrahmenauftragseingabeassistentsposition"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__purchase_count
|
||||
msgid "Purchase Count"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__purchase_order_id
|
||||
msgid "Purchase Order"
|
||||
msgstr "Bestellung"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_order_line
|
||||
msgid "Purchase Order Line"
|
||||
msgstr "Bestellposition"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__purchase_lines
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_form
|
||||
msgid "Purchase Order Lines"
|
||||
msgstr "Bestellpositionen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Quantity must be greater than zero"
|
||||
msgstr "Menge muss größer als Null sein"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__qty
|
||||
msgid "Quantity to Order"
|
||||
msgstr "Zu bestellende Menge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "RFQ"
|
||||
msgstr "Angebotsanfrage"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "RFQ/Orders"
|
||||
msgstr "Angebotsanfragen/Bestellungen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Received Qty"
|
||||
msgstr "Erhaltene Menge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__received_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__received_uom_qty
|
||||
msgid "Received quantity"
|
||||
msgstr "Erhaltene Menge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Remaining Qty"
|
||||
msgstr "Restmenge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__remaining_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__remaining_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__remaining_uom_qty
|
||||
msgid "Remaining quantity"
|
||||
msgstr "Restmenge"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__remaining_qty
|
||||
msgid "Remaining quantity in base UoM"
|
||||
msgstr "Restmenge in basis Mengeneinheit"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__user_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__user_id
|
||||
msgid "Responsible"
|
||||
msgstr "Verantwortlich"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_user_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_user_id
|
||||
msgid "Responsible User"
|
||||
msgstr "Verantwortlicher Nutzer"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Schedule dates defined on the Purchase Order Line and on the Blanket Order "
|
||||
"Line do not match."
|
||||
msgstr ""
|
||||
"Geplante Daten auf Bestellposition und Rahmenauftragspositionen stimmen "
|
||||
"nicht überein."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__date_schedule
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__date_schedule
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Scheduled Date"
|
||||
msgstr "Geplantes Datum"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_search
|
||||
msgid "Search Purchase Blanket Order Line"
|
||||
msgstr "Einkaufsrahmenauftragsposition suchen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__sequence
|
||||
msgid "Sequence"
|
||||
msgstr "Sequenz"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Setup default terms and conditions in your company settings."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__date_start
|
||||
msgid "Start Date"
|
||||
msgstr "Startdatum"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__state
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_state
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_state
|
||||
msgid ""
|
||||
"Status based on activities\n"
|
||||
"Overdue: Due date is already passed\n"
|
||||
"Today: Activity date is today\n"
|
||||
"Planned: Future activities."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_subtotal
|
||||
msgid "Subtotal"
|
||||
msgstr "Zwischensumme"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_tax
|
||||
msgid "Tax"
|
||||
msgstr "Steuer"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_tax
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__taxes_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__taxes_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Taxes"
|
||||
msgstr "Steuern"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Terms and Conditions"
|
||||
msgstr "Geschäftsbedingungen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The currency of the blanket order must match with that of the purchase "
|
||||
"order."
|
||||
msgstr ""
|
||||
"Die Währung des Rahmenauftrags muss mit der Währung der Bestellung "
|
||||
"übereinstimmen."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid "The vendor must be equal to the blanket order lines vendor"
|
||||
msgstr ""
|
||||
"Der Lieferant muss mit dem Rahmenauftragspositionslieferanten übereinstimmen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "To Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_total
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_total
|
||||
msgid "Total"
|
||||
msgstr "Gesamt"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_exception_decoration
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_decoration
|
||||
msgid "Type of the exception activity on record."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Unit Price"
|
||||
msgstr "Stückpreis"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__product_uom
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__product_uom
|
||||
msgid "Unit of Measure"
|
||||
msgstr "Maßeinheit"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_untaxed
|
||||
msgid "Untaxed Amount"
|
||||
msgstr "Nettobetrag"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.actions.act_window,help:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
msgid ""
|
||||
"Use this menu to search within your blanket orders. For each blanket order,\n"
|
||||
" you can track the related discussion with the vendor, control\n"
|
||||
" the products received and control the vendor bills."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "VAT:"
|
||||
msgstr "Mehrwertsteuer:"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__validity_date
|
||||
msgid "Validity Date"
|
||||
msgstr "Gültigkeitsdatum"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Validity date is mandatory"
|
||||
msgstr "Gültigkeitsdatum ist notwendig"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Validity date must be in the future"
|
||||
msgstr "Gültigkeitsdatum muss in der Zukunft liegen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__partner_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__partner_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__partner_id
|
||||
msgid "Vendor"
|
||||
msgstr "Lieferant"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__partner_ref
|
||||
msgid "Vendor Reference"
|
||||
msgstr "Lieferantenreferenz"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.server,name:purchase_blanket_order.warnings_purchase_blanket_orders_cron_ir_actions_server
|
||||
#: model:ir.cron,cron_name:purchase_blanket_order.warnings_purchase_blanket_orders_cron
|
||||
msgid "Warnings Blanket Orders"
|
||||
msgstr "Warnungen auf Rahmenaufträgen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__website_message_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__website_message_ids
|
||||
msgid "Website Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__website_message_ids
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__website_message_ids
|
||||
msgid "Website communication history"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__wizard_id
|
||||
msgid "Wizard"
|
||||
msgstr "Eingabeassistent"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can not delete a blanket order with opened purchase orders! Try to "
|
||||
"cancel them before."
|
||||
msgstr ""
|
||||
"Rahmenaufträge mit offenen Bestellungen können nicht gelöscht werden! "
|
||||
"Versuche die Bestellungen zuerst zu stornieren."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can not delete an open blanket order! Try to cancel it before."
|
||||
msgstr ""
|
||||
"Offene Rahmenaufträge können nicht gelöscht werden! Versuche den "
|
||||
"Rahmenauftrag zuerst zu stornieren."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can't create a purchase order from an expired blanket order!"
|
||||
msgstr ""
|
||||
"Aus einem abgelaufenen Rahmenauftrag kann keine Bestellung erstellt werden!"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can't order more than the remaining quantities"
|
||||
msgstr "Es kann nicht mehr als die Restmenge bestellt werden"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You have to select lines from the same company."
|
||||
msgstr "Es müssen Positionen des selben Unternehmens ausgewählt werden."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "remaining"
|
||||
msgstr "verbleibend"
|
||||
|
|
@ -0,0 +1,972 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * purchase_blanket_order
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-04-18 08:37+0000\n"
|
||||
"Last-Translator: Ivorra78 <informatica@totmaterial.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: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<span>Blanket Order # </span>"
|
||||
msgstr "<span>Número de pedido de la manta </span>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Currency:</strong>"
|
||||
msgstr "<strong>Divisa:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Payment Terms:</strong>"
|
||||
msgstr "<strong>Términos de Pago:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Purchase person:</strong>"
|
||||
msgstr "<strong>Persona que compra:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Subtotal</strong>"
|
||||
msgstr "<strong>Subtotal</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Total</strong>"
|
||||
msgstr "<strong>Total</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Validity Date:</strong>"
|
||||
msgstr "<strong>Fecha de Validez:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_needaction
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction
|
||||
msgid "Action Needed"
|
||||
msgstr "Necesaria Acción"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_ids
|
||||
msgid "Activities"
|
||||
msgstr "Actividades"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_exception_decoration
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_decoration
|
||||
msgid "Activity Exception Decoration"
|
||||
msgstr "Decoración de Actividad de Excepción"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_state
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_state
|
||||
msgid "Activity State"
|
||||
msgstr "Estado de la Actividad"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_type_icon
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_icon
|
||||
msgid "Activity Type Icon"
|
||||
msgstr "Icono Tipo de Actividad"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "All lines have already been completed."
|
||||
msgstr "Ya se han completado todas las líneas."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Amount"
|
||||
msgstr "Importe"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "An order can't be empty"
|
||||
msgstr "Un pedido no puede estar vacío"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_attachment_count
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_attachment_count
|
||||
msgid "Attachment Count"
|
||||
msgstr "Recuento Adjuntos"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__blanket_line_id
|
||||
msgid "Blanket Line"
|
||||
msgstr "Línea de Cobertura"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__blanket_order_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Blanket Order"
|
||||
msgstr "Pedido Global"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_order_line__blanket_order_line
|
||||
msgid "Blanket Order Line"
|
||||
msgstr "Línea de Pedido Programado"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.act_open_purchase_blanket_order_lines_view_tree
|
||||
#: model:ir.ui.menu,name:purchase_blanket_order.menu_purchase_blanket_order_line
|
||||
msgid "Blanket Order Lines"
|
||||
msgstr "Líneas de Pedido Programado"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_wizard
|
||||
msgid "Blanket Order Wizard"
|
||||
msgstr "Asistente para Pedidos Generales"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__date_start
|
||||
msgid "Blanket Order starting date."
|
||||
msgstr "Fecha de Inicio de la Orden General."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
#: model:ir.ui.menu,name:purchase_blanket_order.menu_purchase_blanket_order_config
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_config_settings_form_view
|
||||
msgid "Blanket Orders"
|
||||
msgstr "Órdenes Generales"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Can not create Purchase Order from Blanket Order lines with different "
|
||||
"currencies"
|
||||
msgstr ""
|
||||
"No se puede crear una Orden de Compra a partir de líneas de Orden Global con "
|
||||
"diferentes monedas"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__cancelled
|
||||
msgid "Cancelled"
|
||||
msgstr "Cancelado/a"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot confirm order %s as one of the lines refers to a blanket order that "
|
||||
"has no remaining quantity."
|
||||
msgstr ""
|
||||
"No puede confirmar el pedido %s ya que una de las líneas se refiere a una "
|
||||
"programación sin cantidad pendiente."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.actions.act_window,help:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
msgid ""
|
||||
"Click to create a blanket order that can be converted into a purchase order."
|
||||
msgstr ""
|
||||
"Haga clic para crear un pedido general que pueda convertirse en un pedido de "
|
||||
"compra."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__company_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__company_id
|
||||
msgid "Company"
|
||||
msgstr "Companía"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__confirmed
|
||||
msgid "Confirmed"
|
||||
msgstr "Confirmado/a"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Create Purchase Order"
|
||||
msgstr "Crear Orden de Compra"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.action_create_purchase_order
|
||||
msgid "Create RFQ"
|
||||
msgstr "Crear Solicitud de Presupuesto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
msgid "Create and View Order"
|
||||
msgstr "Crear y Ver Pedido"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creado por"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creado el"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__currency_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__currency_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__currency_id
|
||||
msgid "Currency"
|
||||
msgstr "Divisa"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Date Scheduled"
|
||||
msgstr "Fecha Programada"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__validity_date
|
||||
msgid ""
|
||||
"Date until which the blanket order will be valid, after this date the "
|
||||
"blanket order will be marked as expired"
|
||||
msgstr ""
|
||||
"Fecha hasta la cual la orden general será válida, después de esta fecha la "
|
||||
"orden general se marcará como caducada"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__name
|
||||
msgid "Description"
|
||||
msgstr "Descripción"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_res_config_settings__group_purchase_blanket_disable_adding_lines
|
||||
msgid "Disable adding more lines to POs"
|
||||
msgstr "Deshabilitar la adición de más líneas a las órdenes de pedido"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_config_settings_form_view
|
||||
msgid "Disable adding more lines to POs from Blanket Orders"
|
||||
msgstr ""
|
||||
"Desactivar la adición de más líneas a los Pedidos a partir de Pedidos "
|
||||
"Generales"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:res.groups,name:purchase_blanket_order.purchase_blanket_orders_disable_adding_lines
|
||||
msgid "Disable adding more lines to POs from Purchase Blanket Orders"
|
||||
msgstr ""
|
||||
"Desactivar la adición de más líneas a los Pedidos desde los Pedidos "
|
||||
"Generales de Compra"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Mostrar Nombre"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__done
|
||||
msgid "Done"
|
||||
msgstr "Hecho"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__draft
|
||||
msgid "Draft"
|
||||
msgstr "Borrador"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.server,name:purchase_blanket_order.expired_purchase_blanket_orders_cron_ir_actions_server
|
||||
#: model:ir.cron,cron_name:purchase_blanket_order.expired_purchase_blanket_orders_cron
|
||||
msgid "Expire Blanket Orders"
|
||||
msgstr "Pedidos Generales Caducados"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__expired
|
||||
msgid "Expired"
|
||||
msgstr "Expirado"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__fiscal_position_id
|
||||
msgid "Fiscal Position"
|
||||
msgstr "Posición Fiscal"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_follower_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_follower_ids
|
||||
msgid "Followers"
|
||||
msgstr "Seguidores"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_partner_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_partner_ids
|
||||
msgid "Followers (Partners)"
|
||||
msgstr "Seguidores/as (Socios)"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_type_icon
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_icon
|
||||
msgid "Font awesome icon e.g. fa-tasks"
|
||||
msgstr "Fuente Iconos Sorprendentes , por ejemplo fa-tasks"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__has_message
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__has_message
|
||||
msgid "Has Message"
|
||||
msgstr "Tiene Mensaje"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__id
|
||||
msgid "ID"
|
||||
msgstr "ID (identificación)"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_exception_icon
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_icon
|
||||
msgid "Icon"
|
||||
msgstr "Icono"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_exception_icon
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_icon
|
||||
msgid "Icon to indicate an exception activity."
|
||||
msgstr "Icono para indicar la excepción de la actividad."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_needaction
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction
|
||||
msgid "If checked, new messages require your attention."
|
||||
msgstr "Si están marcados, nuevos mensajes requiere su atención."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_has_error
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error
|
||||
msgid "If checked, some messages have a delivery error."
|
||||
msgstr "Si se activa, algunos mensajes tienen un error de envio."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Invoice Information"
|
||||
msgstr "Información Factura"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Invoiced Qty"
|
||||
msgstr "Ctdad Facturada"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__invoiced_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__invoiced_uom_qty
|
||||
msgid "Invoiced quantity"
|
||||
msgstr "Cantidad facturada"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_is_follower
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_is_follower
|
||||
msgid "Is Follower"
|
||||
msgstr "Es Seguidor"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Última Modificación el"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última Actualización Por"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última Actualización el"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__line_ids
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Lines"
|
||||
msgstr "Líneas"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_main_attachment_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_main_attachment_id
|
||||
msgid "Main Attachment"
|
||||
msgstr "Archivo Adjunto Principal"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_has_error
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error
|
||||
msgid "Message Delivery error"
|
||||
msgstr "Error en Entrega de Mensaje"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_ids
|
||||
msgid "Messages"
|
||||
msgstr "Mensaje"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Must have some lines"
|
||||
msgstr "Debe tener alguna línea"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__my_activity_date_deadline
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__my_activity_date_deadline
|
||||
msgid "My Activity Deadline"
|
||||
msgstr "Fecha Límite de Mi Actividad"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__name
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_date_deadline
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_date_deadline
|
||||
msgid "Next Activity Deadline"
|
||||
msgstr "Fecha Límite de la Siguiente Actividad"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_summary
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_summary
|
||||
msgid "Next Activity Summary"
|
||||
msgstr "Resumen de Próxima Actividad"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_type_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_id
|
||||
msgid "Next Activity Type"
|
||||
msgstr "Tipo Actividad Siguiente"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__note
|
||||
msgid "Note"
|
||||
msgstr "Nota"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_needaction_counter
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction_counter
|
||||
msgid "Number of Actions"
|
||||
msgstr "Número de Acciones"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_has_error_counter
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error_counter
|
||||
msgid "Number of errors"
|
||||
msgstr "Número de Errores"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_needaction_counter
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction_counter
|
||||
msgid "Number of messages requiring action"
|
||||
msgstr "Número de mensajes que requieren una acción"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_has_error_counter
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error_counter
|
||||
msgid "Number of messages with delivery error"
|
||||
msgstr "Número de mensajes con error de entrega"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__open
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Open"
|
||||
msgstr "Abrir"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__order_id
|
||||
msgid "Order"
|
||||
msgstr "Orden"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Order Lines"
|
||||
msgstr "Líneas de Pedido"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__line_ids
|
||||
msgid "Order lines"
|
||||
msgstr "Líneas de pedido"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Ordered Qty"
|
||||
msgstr "Ctd Pedida"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__ordered_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__ordered_uom_qty
|
||||
msgid "Ordered quantity"
|
||||
msgstr "Cantidad pedida"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_order__blanket_order_id
|
||||
msgid "Origin blanket order"
|
||||
msgstr "Pedido general de origen"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Original Qty"
|
||||
msgstr "Ctdad Original"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__original_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__original_uom_qty
|
||||
msgid "Original quantity"
|
||||
msgstr "Cantidad original"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Other Information"
|
||||
msgstr "Otra Información"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Partner is mandatory"
|
||||
msgstr "Es obligatorio el cliente"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__payment_term_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__payment_term_id
|
||||
msgid "Payment Terms"
|
||||
msgstr "Términos de Pago"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_unit
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__price_unit
|
||||
msgid "Price"
|
||||
msgstr "Precio"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Price must be greater than zero"
|
||||
msgstr "El precio debe ser mayor que cero"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_res_config_settings
|
||||
msgid "Procurement purchase grouping settings"
|
||||
msgstr "Configuración de la agrupación de compra abastecida"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__product_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__product_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__product_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Product"
|
||||
msgstr "Producto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.report,name:purchase_blanket_order.report_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order
|
||||
msgid "Purchase Blanket Order"
|
||||
msgstr "Orden de Compra Global"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "Purchase Blanket Order %s is not open"
|
||||
msgstr "La Orden General de Compra %s no está abierta"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_line
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_form
|
||||
msgid "Purchase Blanket Order Line"
|
||||
msgstr "Línea de Compra de Pedido General"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__line_count
|
||||
msgid "Purchase Blanket Order Line count"
|
||||
msgstr "Recuento de Línea de Orden de Compra General"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_wizard_line
|
||||
msgid "Purchase Blanket Order Wizard Line"
|
||||
msgstr "Línea del Asistente de Compra de Pedidos Geerales"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__purchase_count
|
||||
msgid "Purchase Count"
|
||||
msgstr "Conteo de Compras"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__purchase_order_id
|
||||
msgid "Purchase Order"
|
||||
msgstr "Orden de Compra"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_order_line
|
||||
msgid "Purchase Order Line"
|
||||
msgstr "Línea de Orden de Compra"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__purchase_lines
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_form
|
||||
msgid "Purchase Order Lines"
|
||||
msgstr "Líneas de Orden de Compra"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Quantity must be greater than zero"
|
||||
msgstr "La cantidad debe ser mayor que cero"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__qty
|
||||
msgid "Quantity to Order"
|
||||
msgstr "Cantidad a Pedir"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "RFQ"
|
||||
msgstr "SDO (Solicitud de Oferta)"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "RFQ/Orders"
|
||||
msgstr "Petición de oferta/Pedidos"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Received Qty"
|
||||
msgstr "Ctd. Recibido"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__received_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__received_uom_qty
|
||||
msgid "Received quantity"
|
||||
msgstr "Cantidad recibida"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Remaining Qty"
|
||||
msgstr "Ctd Restante"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__remaining_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__remaining_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__remaining_uom_qty
|
||||
msgid "Remaining quantity"
|
||||
msgstr "Cantidad restante"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__remaining_qty
|
||||
msgid "Remaining quantity in base UoM"
|
||||
msgstr "Cantidad restante en base UdM"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__user_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__user_id
|
||||
msgid "Responsible"
|
||||
msgstr "Responsable"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_user_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_user_id
|
||||
msgid "Responsible User"
|
||||
msgstr "Usuario Responsable"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Schedule dates defined on the Purchase Order Line and on the Blanket Order "
|
||||
"Line do not match."
|
||||
msgstr ""
|
||||
"Las fechas programadas definidas en la Línea de orden de compra y en la "
|
||||
"Línea de orden abierta no coinciden."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__date_schedule
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__date_schedule
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Scheduled Date"
|
||||
msgstr "Fecha Planificada"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_search
|
||||
msgid "Search Purchase Blanket Order Line"
|
||||
msgstr "Buscar Compra Línea de Pedido General"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__sequence
|
||||
msgid "Sequence"
|
||||
msgstr "Secuencia"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Setup default terms and conditions in your company settings."
|
||||
msgstr ""
|
||||
"Configurar términos y condiciones por defecto en la configuración de "
|
||||
"compañía."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__date_start
|
||||
msgid "Start Date"
|
||||
msgstr "Fecha Comienzo"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__state
|
||||
msgid "State"
|
||||
msgstr "Estado"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_state
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_state
|
||||
msgid ""
|
||||
"Status based on activities\n"
|
||||
"Overdue: Due date is already passed\n"
|
||||
"Today: Activity date is today\n"
|
||||
"Planned: Future activities."
|
||||
msgstr ""
|
||||
"Status basado en actividades\n"
|
||||
"Atrasado: La fecha de entrega ya ha pasado\n"
|
||||
"Hoy: Fecha de actividad es hoy\n"
|
||||
"Planeado: Actividades futuras."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_subtotal
|
||||
msgid "Subtotal"
|
||||
msgstr "Subtotal"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_tax
|
||||
msgid "Tax"
|
||||
msgstr "Impuestos"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_tax
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__taxes_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__taxes_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Taxes"
|
||||
msgstr "Impuestos"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Terms and Conditions"
|
||||
msgstr "Términos y Condiciones"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The currency of the blanket order must match with that of the purchase order."
|
||||
msgstr ""
|
||||
"La divisa de la orden global debe coincidir con la de la orden de compra."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid "The vendor must be equal to the blanket order lines vendor"
|
||||
msgstr ""
|
||||
"El proveedor debe ser igual al proveedor de las líneas del pedido global"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "To Draft"
|
||||
msgstr "A Borrador"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_total
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_total
|
||||
msgid "Total"
|
||||
msgstr "Total/es"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_exception_decoration
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_decoration
|
||||
msgid "Type of the exception activity on record."
|
||||
msgstr "Tipo de actividad excepcional registrada."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Unit Price"
|
||||
msgstr "Precio Unitario"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__product_uom
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__product_uom
|
||||
msgid "Unit of Measure"
|
||||
msgstr "Unidad de Medida"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_untaxed
|
||||
msgid "Untaxed Amount"
|
||||
msgstr "Importe no Tributable"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.actions.act_window,help:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
msgid ""
|
||||
"Use this menu to search within your blanket orders. For each blanket order,\n"
|
||||
" you can track the related discussion with the vendor, "
|
||||
"control\n"
|
||||
" the products received and control the vendor bills."
|
||||
msgstr ""
|
||||
"Utilice este menú para buscar dentro de sus pedidos abiertos. Para cada "
|
||||
"pedido abierto\n"
|
||||
" puede realizar un seguimiento de las conversaciones con el "
|
||||
"proveedor, controlar\n"
|
||||
" los productos recibidos y controlar las facturas del "
|
||||
"proveedor."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "VAT:"
|
||||
msgstr "NIF/CIF:"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__validity_date
|
||||
msgid "Validity Date"
|
||||
msgstr "Fecha de Validez"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Validity date is mandatory"
|
||||
msgstr "La fecha de validez es obligatoria"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Validity date must be in the future"
|
||||
msgstr "La fecha de validez debe ser superior a la fecha de hoy"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__partner_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__partner_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__partner_id
|
||||
msgid "Vendor"
|
||||
msgstr "Vendedor"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__partner_ref
|
||||
msgid "Vendor Reference"
|
||||
msgstr "Referencia del Vendedor"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.server,name:purchase_blanket_order.warnings_purchase_blanket_orders_cron_ir_actions_server
|
||||
#: model:ir.cron,cron_name:purchase_blanket_order.warnings_purchase_blanket_orders_cron
|
||||
msgid "Warnings Blanket Orders"
|
||||
msgstr "Advertencias Órdenes Generales"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__website_message_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__website_message_ids
|
||||
msgid "Website Messages"
|
||||
msgstr "Mensajes de la Página Web"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__website_message_ids
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__website_message_ids
|
||||
msgid "Website communication history"
|
||||
msgstr "Historial de la comunicación del sitio web"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__wizard_id
|
||||
msgid "Wizard"
|
||||
msgstr "Asistente"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can not delete a blanket order with opened purchase orders! Try to "
|
||||
"cancel them before."
|
||||
msgstr ""
|
||||
"¡No puede eliminar pedido programado con órdenes de compra abiertas! intente "
|
||||
"cancelarlas antes."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can not delete an open blanket order! Try to cancel it before."
|
||||
msgstr "¡No puede eliminar una programación abierta! intente cancelarla antes."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can't create a purchase order from an expired blanket order!"
|
||||
msgstr "¡No se puede crear un pedido a partir de un pedido abierto caducado!"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can't order more than the remaining quantities"
|
||||
msgstr "No puede pedir una cantidad superior a las cantidades restantes"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You have to select lines from the same company."
|
||||
msgstr "Debe seleccionar líneas de la misma compañía."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "remaining"
|
||||
msgstr "restante"
|
||||
|
||||
#~ msgid "Config Settings"
|
||||
#~ msgstr "Ajustes Config"
|
||||
|
|
@ -0,0 +1,966 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * purchase_blanket_order
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2025-08-20 15:46+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: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<span>Blanket Order # </span>"
|
||||
msgstr "<span>Ordine quadro #</span>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Currency:</strong>"
|
||||
msgstr "<strong>Valuta:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Payment Terms:</strong>"
|
||||
msgstr "<strong>Termini di pagamento:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Purchase person:</strong>"
|
||||
msgstr "<strong>Referente acquisti:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Subtotal</strong>"
|
||||
msgstr "<strong>Subtotale</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Total</strong>"
|
||||
msgstr "<strong>Totale</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Validity Date:</strong>"
|
||||
msgstr "<strong>Data di validità:</strong>"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_needaction
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction
|
||||
msgid "Action Needed"
|
||||
msgstr "Azione richiesta"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_ids
|
||||
msgid "Activities"
|
||||
msgstr "Attività"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_exception_decoration
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_decoration
|
||||
msgid "Activity Exception Decoration"
|
||||
msgstr "Decorazione eccezione attività"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_state
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_state
|
||||
msgid "Activity State"
|
||||
msgstr "Stato attività"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_type_icon
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_icon
|
||||
msgid "Activity Type Icon"
|
||||
msgstr "Icona tipo attività"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "All lines have already been completed."
|
||||
msgstr "Tutte le righe sono già state completate."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Amount"
|
||||
msgstr "Valore"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "An order can't be empty"
|
||||
msgstr "Un ordine non può essere vuoto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_attachment_count
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_attachment_count
|
||||
msgid "Attachment Count"
|
||||
msgstr "Conteggio allegati"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__blanket_line_id
|
||||
msgid "Blanket Line"
|
||||
msgstr "Riga ordine aperto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__blanket_order_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Blanket Order"
|
||||
msgstr "Ordine quadro"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_order_line__blanket_order_line
|
||||
msgid "Blanket Order Line"
|
||||
msgstr "Riga ordine quadro"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.act_open_purchase_blanket_order_lines_view_tree
|
||||
#: model:ir.ui.menu,name:purchase_blanket_order.menu_purchase_blanket_order_line
|
||||
msgid "Blanket Order Lines"
|
||||
msgstr "Righe ordine quadro"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_wizard
|
||||
msgid "Blanket Order Wizard"
|
||||
msgstr "Procedura guidata ordine quadro"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__date_start
|
||||
msgid "Blanket Order starting date."
|
||||
msgstr "Data inizio ordine quadro."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
#: model:ir.ui.menu,name:purchase_blanket_order.menu_purchase_blanket_order_config
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_config_settings_form_view
|
||||
msgid "Blanket Orders"
|
||||
msgstr "Ordini quadro"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Can not create Purchase Order from Blanket Order lines with different "
|
||||
"currencies"
|
||||
msgstr ""
|
||||
"Non si possono creare ordini di acquisto da righe ordine quadro con valute "
|
||||
"diverse"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__cancelled
|
||||
msgid "Cancelled"
|
||||
msgstr "Annullato"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot confirm order %s as one of the lines refers to a blanket order that "
|
||||
"has no remaining quantity."
|
||||
msgstr ""
|
||||
"Non è possibile confermare l'ordine %s in quanto una delle righe si "
|
||||
"riferisce ad un ordine quadro che non ha quantità rimanenti."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.actions.act_window,help:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
msgid ""
|
||||
"Click to create a blanket order that can be converted into a purchase order."
|
||||
msgstr ""
|
||||
"Clicca per creare un ordine quadro che può essere convertito in un ordine di "
|
||||
"acquisto."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__company_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__company_id
|
||||
msgid "Company"
|
||||
msgstr "Azienda"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Confirm"
|
||||
msgstr "Conferma"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__confirmed
|
||||
msgid "Confirmed"
|
||||
msgstr "Confermato"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Create Purchase Order"
|
||||
msgstr "Crea ordine di acquisto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.action_create_purchase_order
|
||||
msgid "Create RFQ"
|
||||
msgstr "Crea RdP"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
msgid "Create and View Order"
|
||||
msgstr "Crea e visualizza ordine"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creato da"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creato il"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__currency_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__currency_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__currency_id
|
||||
msgid "Currency"
|
||||
msgstr "Valuta"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Date Scheduled"
|
||||
msgstr "Data schedulata"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__validity_date
|
||||
msgid ""
|
||||
"Date until which the blanket order will be valid, after this date the "
|
||||
"blanket order will be marked as expired"
|
||||
msgstr ""
|
||||
"Data fino alla quale l'ordine quadro sarà valido, dopo questa data l'ordine "
|
||||
"quadro sarà indicato come scaduto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__name
|
||||
msgid "Description"
|
||||
msgstr "Descrizione"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_res_config_settings__group_purchase_blanket_disable_adding_lines
|
||||
msgid "Disable adding more lines to POs"
|
||||
msgstr "Disabilita l'aggiunta di altre righe negli OA"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_config_settings_form_view
|
||||
msgid "Disable adding more lines to POs from Blanket Orders"
|
||||
msgstr "Disabilita l'aggiunta di altre righe negli OA da ordini quadro"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:res.groups,name:purchase_blanket_order.purchase_blanket_orders_disable_adding_lines
|
||||
msgid "Disable adding more lines to POs from Purchase Blanket Orders"
|
||||
msgstr ""
|
||||
"Disabilita l'aggiunta di altre righe negli OA da ordini quadro di acquisto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nome visualizzato"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__done
|
||||
msgid "Done"
|
||||
msgstr "Evaso"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__draft
|
||||
msgid "Draft"
|
||||
msgstr "Bozza"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.server,name:purchase_blanket_order.expired_purchase_blanket_orders_cron_ir_actions_server
|
||||
#: model:ir.cron,cron_name:purchase_blanket_order.expired_purchase_blanket_orders_cron
|
||||
msgid "Expire Blanket Orders"
|
||||
msgstr "Scadenza ordini quadro"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__expired
|
||||
msgid "Expired"
|
||||
msgstr "Scaduto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__fiscal_position_id
|
||||
msgid "Fiscal Position"
|
||||
msgstr "Posizione fiscale"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_follower_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_follower_ids
|
||||
msgid "Followers"
|
||||
msgstr "Seguito da"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_partner_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_partner_ids
|
||||
msgid "Followers (Partners)"
|
||||
msgstr "Seguito da (partner)"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_type_icon
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_icon
|
||||
msgid "Font awesome icon e.g. fa-tasks"
|
||||
msgstr "Icona Font Awesome es. fa-tasks"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__has_message
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__has_message
|
||||
msgid "Has Message"
|
||||
msgstr "Ha un messaggio"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_exception_icon
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_icon
|
||||
msgid "Icon"
|
||||
msgstr "Icona"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_exception_icon
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_icon
|
||||
msgid "Icon to indicate an exception activity."
|
||||
msgstr "Icona per indicare un'attività eccezione."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_needaction
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction
|
||||
msgid "If checked, new messages require your attention."
|
||||
msgstr "Se selezionata, nuovi messaggi richiedono attenzione."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_has_error
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error
|
||||
msgid "If checked, some messages have a delivery error."
|
||||
msgstr "Se selezionata, alcuni messaggi hanno un errore di consegna."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Invoice Information"
|
||||
msgstr "Informazioni fattura"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Invoiced Qty"
|
||||
msgstr "Q.tà fatturata"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__invoiced_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__invoiced_uom_qty
|
||||
msgid "Invoiced quantity"
|
||||
msgstr "Quantità fatturata"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_is_follower
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_is_follower
|
||||
msgid "Is Follower"
|
||||
msgstr "Segue"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Ultima modifica il"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Ultimo aggiornamento di"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Ultimo aggiornamento il"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__line_ids
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Lines"
|
||||
msgstr "Righe"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_main_attachment_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_main_attachment_id
|
||||
msgid "Main Attachment"
|
||||
msgstr "Allegato principale"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_has_error
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error
|
||||
msgid "Message Delivery error"
|
||||
msgstr "Errore di consegna messaggio"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_ids
|
||||
msgid "Messages"
|
||||
msgstr "Messaggi"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Must have some lines"
|
||||
msgstr "Deve contenere delle righe"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__my_activity_date_deadline
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__my_activity_date_deadline
|
||||
msgid "My Activity Deadline"
|
||||
msgstr "Scadenza mia attività"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__name
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_date_deadline
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_date_deadline
|
||||
msgid "Next Activity Deadline"
|
||||
msgstr "Scadenza prossima attività"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_summary
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_summary
|
||||
msgid "Next Activity Summary"
|
||||
msgstr "Riepilogo prossima attività"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_type_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_id
|
||||
msgid "Next Activity Type"
|
||||
msgstr "Tipo prossima attività"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__note
|
||||
msgid "Note"
|
||||
msgstr "Nota"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_needaction_counter
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction_counter
|
||||
msgid "Number of Actions"
|
||||
msgstr "Numero di azioni"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_has_error_counter
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error_counter
|
||||
msgid "Number of errors"
|
||||
msgstr "Numero di errori"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_needaction_counter
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction_counter
|
||||
msgid "Number of messages requiring action"
|
||||
msgstr "Numero di messaggi che richiedono un'azione"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_has_error_counter
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error_counter
|
||||
msgid "Number of messages with delivery error"
|
||||
msgstr "Numero di messaggi con errore di consegna"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__open
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Open"
|
||||
msgstr "Aperto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__order_id
|
||||
msgid "Order"
|
||||
msgstr "Ordine"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Order Lines"
|
||||
msgstr "Righe ordine"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__line_ids
|
||||
msgid "Order lines"
|
||||
msgstr "Righe ordine"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Ordered Qty"
|
||||
msgstr "Q.tà ordinata"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__ordered_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__ordered_uom_qty
|
||||
msgid "Ordered quantity"
|
||||
msgstr "Quantità ordinata"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_order__blanket_order_id
|
||||
msgid "Origin blanket order"
|
||||
msgstr "Origine ordine quadro"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Original Qty"
|
||||
msgstr "Q.tà originale"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__original_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__original_uom_qty
|
||||
msgid "Original quantity"
|
||||
msgstr "Quantità originale"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Other Information"
|
||||
msgstr "Altre informazioni"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Partner is mandatory"
|
||||
msgstr "Il partner è obbligatorio"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__payment_term_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__payment_term_id
|
||||
msgid "Payment Terms"
|
||||
msgstr "Termini di pagamento"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_unit
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__price_unit
|
||||
msgid "Price"
|
||||
msgstr "Prezzo"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Price must be greater than zero"
|
||||
msgstr "Il prezzo deve essere maggiore di zero"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_res_config_settings
|
||||
msgid "Procurement purchase grouping settings"
|
||||
msgstr "Impostazioni raggruppamento approvvigionamento acquisti"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__product_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__product_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__product_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Product"
|
||||
msgstr "Prodotto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.report,name:purchase_blanket_order.report_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order
|
||||
msgid "Purchase Blanket Order"
|
||||
msgstr "Ordine quadro d'acquisto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "Purchase Blanket Order %s is not open"
|
||||
msgstr "L'ordine quadro di acquisto %s non è aperto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_line
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_form
|
||||
msgid "Purchase Blanket Order Line"
|
||||
msgstr "Riga ordine quadro di acquisto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__line_count
|
||||
msgid "Purchase Blanket Order Line count"
|
||||
msgstr "Numero righe ordine quadro d'acquisto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_wizard_line
|
||||
msgid "Purchase Blanket Order Wizard Line"
|
||||
msgstr "Riga procedura guidata ordine quadro d'acquisto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__purchase_count
|
||||
msgid "Purchase Count"
|
||||
msgstr "Conteggio acquisti"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__purchase_order_id
|
||||
msgid "Purchase Order"
|
||||
msgstr "Ordine di acquisto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_order_line
|
||||
msgid "Purchase Order Line"
|
||||
msgstr "Riga ordine di acquisto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__purchase_lines
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_form
|
||||
msgid "Purchase Order Lines"
|
||||
msgstr "Righe ordine di acquisto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Quantity must be greater than zero"
|
||||
msgstr "La quantità deve essere maggiore di zero"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__qty
|
||||
msgid "Quantity to Order"
|
||||
msgstr "Quantità da Ordinare"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "RFQ"
|
||||
msgstr "RdP"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "RFQ/Orders"
|
||||
msgstr "RdP/Ordini"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Received Qty"
|
||||
msgstr "Q.tà ricevuta"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__received_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__received_uom_qty
|
||||
msgid "Received quantity"
|
||||
msgstr "Quantità ricevuta"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Remaining Qty"
|
||||
msgstr "Q.tà rimanente"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__remaining_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__remaining_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__remaining_uom_qty
|
||||
msgid "Remaining quantity"
|
||||
msgstr "Quantità residua"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__remaining_qty
|
||||
msgid "Remaining quantity in base UoM"
|
||||
msgstr "Quantità rimanente in UdM base"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__user_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__user_id
|
||||
msgid "Responsible"
|
||||
msgstr "Responsabile"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_user_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_user_id
|
||||
msgid "Responsible User"
|
||||
msgstr "Utente responsabile"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Schedule dates defined on the Purchase Order Line and on the Blanket Order "
|
||||
"Line do not match."
|
||||
msgstr ""
|
||||
"Le date pianificate definite sulla riga ordine di acquisto e sulla riga "
|
||||
"ordine quadro non corrispondono."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__date_schedule
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__date_schedule
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Scheduled Date"
|
||||
msgstr "Data schedulata"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_search
|
||||
msgid "Search Purchase Blanket Order Line"
|
||||
msgstr "Cerca riga ordine quadro di acquisto"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__sequence
|
||||
msgid "Sequence"
|
||||
msgstr "Sequenza"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Setup default terms and conditions in your company settings."
|
||||
msgstr ""
|
||||
"Imposta termini predefiniti e condizioni nelle tue impostazioni aziendali."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__date_start
|
||||
msgid "Start Date"
|
||||
msgstr "Data inizio"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__state
|
||||
msgid "State"
|
||||
msgstr "Stato"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_state
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_state
|
||||
msgid ""
|
||||
"Status based on activities\n"
|
||||
"Overdue: Due date is already passed\n"
|
||||
"Today: Activity date is today\n"
|
||||
"Planned: Future activities."
|
||||
msgstr ""
|
||||
"Stato in base alle attività\n"
|
||||
"Scaduto: la data richiesta è trascorsa\n"
|
||||
"Oggi: la data attività è oggi\n"
|
||||
"Pianificato: attività future."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_subtotal
|
||||
msgid "Subtotal"
|
||||
msgstr "Subtotale"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_tax
|
||||
msgid "Tax"
|
||||
msgstr "Imposta"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_tax
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__taxes_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__taxes_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Taxes"
|
||||
msgstr "Imposte"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Terms and Conditions"
|
||||
msgstr "Termini e condizioni"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The currency of the blanket order must match with that of the purchase order."
|
||||
msgstr ""
|
||||
"La valuta dell'ordine quadro deve corrispondere con quella dell'ordine di "
|
||||
"acquisto."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid "The vendor must be equal to the blanket order lines vendor"
|
||||
msgstr "Il fornitore deve essere lo stesso delle righe dell'ordine quadro"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "To Draft"
|
||||
msgstr "A bozza"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_total
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_total
|
||||
msgid "Total"
|
||||
msgstr "Totale"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_exception_decoration
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_decoration
|
||||
msgid "Type of the exception activity on record."
|
||||
msgstr "Tipo di attività eccezione sul record."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Unit Price"
|
||||
msgstr "Prezzo unitario"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__product_uom
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__product_uom
|
||||
msgid "Unit of Measure"
|
||||
msgstr "Unità di misura"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_untaxed
|
||||
msgid "Untaxed Amount"
|
||||
msgstr "Imponibile"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.actions.act_window,help:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
msgid ""
|
||||
"Use this menu to search within your blanket orders. For each blanket order,\n"
|
||||
" you can track the related discussion with the vendor, "
|
||||
"control\n"
|
||||
" the products received and control the vendor bills."
|
||||
msgstr ""
|
||||
"Usa questo menu per ricercare nei tuoi ordini quadro. Per ogni ordine quadro,"
|
||||
"\n"
|
||||
" puoi tracciare le relative conversazioni con il cliente, "
|
||||
"controllare\n"
|
||||
" i prodotti spediti e controllare le fatture del fornitore."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "VAT:"
|
||||
msgstr "IVA:"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__validity_date
|
||||
msgid "Validity Date"
|
||||
msgstr "Data validità"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Validity date is mandatory"
|
||||
msgstr "La data di validità è obbligatoria"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Validity date must be in the future"
|
||||
msgstr "La data di validità deve essere nel futuro"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__partner_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__partner_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__partner_id
|
||||
msgid "Vendor"
|
||||
msgstr "Fornitore"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__partner_ref
|
||||
msgid "Vendor Reference"
|
||||
msgstr "Riferimento fornitore"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.server,name:purchase_blanket_order.warnings_purchase_blanket_orders_cron_ir_actions_server
|
||||
#: model:ir.cron,cron_name:purchase_blanket_order.warnings_purchase_blanket_orders_cron
|
||||
msgid "Warnings Blanket Orders"
|
||||
msgstr "Avvisi ordini quadro"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__website_message_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__website_message_ids
|
||||
msgid "Website Messages"
|
||||
msgstr "Messaggi sito web"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__website_message_ids
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__website_message_ids
|
||||
msgid "Website communication history"
|
||||
msgstr "Cronologia comunicazioni sito web"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__wizard_id
|
||||
msgid "Wizard"
|
||||
msgstr "Procedura guidata"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can not delete a blanket order with opened purchase orders! Try to "
|
||||
"cancel them before."
|
||||
msgstr ""
|
||||
"Non si può cancellare un ordine quadro con ordini di acquisto aperti! "
|
||||
"Provare prima a cancellarli."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can not delete an open blanket order! Try to cancel it before."
|
||||
msgstr ""
|
||||
"Non si può cancellare un ordine quadro in stato aperto! Prova prima ad "
|
||||
"annullarlo."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can't create a purchase order from an expired blanket order!"
|
||||
msgstr "Non si può creare un ordine di acquisto da un ordine quadro scaduto!"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can't order more than the remaining quantities"
|
||||
msgstr "Non si può ordinare più della quantità rimanente"
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You have to select lines from the same company."
|
||||
msgstr "Bisogna selezionare le righe della stessa azienda."
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "remaining"
|
||||
msgstr "rimanenti"
|
||||
|
|
@ -0,0 +1,937 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * purchase_blanket_order
|
||||
#
|
||||
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: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<span>Blanket Order # </span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Currency:</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Payment Terms:</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Purchase person:</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Subtotal</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Total</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "<strong>Validity Date:</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_needaction
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction
|
||||
msgid "Action Needed"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_ids
|
||||
msgid "Activities"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_exception_decoration
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_decoration
|
||||
msgid "Activity Exception Decoration"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_state
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_state
|
||||
msgid "Activity State"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_type_icon
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_icon
|
||||
msgid "Activity Type Icon"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "All lines have already been completed."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "An order can't be empty"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_attachment_count
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_attachment_count
|
||||
msgid "Attachment Count"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__blanket_line_id
|
||||
msgid "Blanket Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__blanket_order_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Blanket Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_order_line__blanket_order_line
|
||||
msgid "Blanket Order Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.act_open_purchase_blanket_order_lines_view_tree
|
||||
#: model:ir.ui.menu,name:purchase_blanket_order.menu_purchase_blanket_order_line
|
||||
msgid "Blanket Order Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_wizard
|
||||
msgid "Blanket Order Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__date_start
|
||||
msgid "Blanket Order starting date."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
#: model:ir.ui.menu,name:purchase_blanket_order.menu_purchase_blanket_order_config
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_config_settings_form_view
|
||||
msgid "Blanket Orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Can not create Purchase Order from Blanket Order lines with different "
|
||||
"currencies"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__cancelled
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot confirm order %s as one of the lines refers to a blanket order that "
|
||||
"has no remaining quantity."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.actions.act_window,help:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
msgid ""
|
||||
"Click to create a blanket order that can be converted into a purchase order."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__company_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__company_id
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__confirmed
|
||||
msgid "Confirmed"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Create Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.act_window,name:purchase_blanket_order.action_create_purchase_order
|
||||
msgid "Create RFQ"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_create_purchase_order
|
||||
msgid "Create and View Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__currency_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__currency_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__currency_id
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Date Scheduled"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__validity_date
|
||||
msgid ""
|
||||
"Date until which the blanket order will be valid, after this date the "
|
||||
"blanket order will be marked as expired"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__name
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_res_config_settings__group_purchase_blanket_disable_adding_lines
|
||||
msgid "Disable adding more lines to POs"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_config_settings_form_view
|
||||
msgid "Disable adding more lines to POs from Blanket Orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:res.groups,name:purchase_blanket_order.purchase_blanket_orders_disable_adding_lines
|
||||
msgid "Disable adding more lines to POs from Purchase Blanket Orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__done
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__draft
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.server,name:purchase_blanket_order.expired_purchase_blanket_orders_cron_ir_actions_server
|
||||
#: model:ir.cron,cron_name:purchase_blanket_order.expired_purchase_blanket_orders_cron
|
||||
msgid "Expire Blanket Orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__expired
|
||||
msgid "Expired"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__fiscal_position_id
|
||||
msgid "Fiscal Position"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_follower_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_follower_ids
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_partner_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_partner_ids
|
||||
msgid "Followers (Partners)"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_type_icon
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_icon
|
||||
msgid "Font awesome icon e.g. fa-tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__has_message
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__has_message
|
||||
msgid "Has Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_exception_icon
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_icon
|
||||
msgid "Icon"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_exception_icon
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_icon
|
||||
msgid "Icon to indicate an exception activity."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_needaction
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction
|
||||
msgid "If checked, new messages require your attention."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_has_error
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error
|
||||
msgid "If checked, some messages have a delivery error."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Invoice Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Invoiced Qty"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__invoiced_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__invoiced_uom_qty
|
||||
msgid "Invoiced quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_is_follower
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_is_follower
|
||||
msgid "Is Follower"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard____last_update
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__line_ids
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_main_attachment_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_main_attachment_id
|
||||
msgid "Main Attachment"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_has_error
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error
|
||||
msgid "Message Delivery error"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_ids
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Must have some lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__my_activity_date_deadline
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__my_activity_date_deadline
|
||||
msgid "My Activity Deadline"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_date_deadline
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_date_deadline
|
||||
msgid "Next Activity Deadline"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_summary
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_summary
|
||||
msgid "Next Activity Summary"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_type_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_type_id
|
||||
msgid "Next Activity Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__note
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_needaction_counter
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction_counter
|
||||
msgid "Number of Actions"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__message_has_error_counter
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error_counter
|
||||
msgid "Number of errors"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_needaction_counter
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_needaction_counter
|
||||
msgid "Number of messages requiring action"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__message_has_error_counter
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__message_has_error_counter
|
||||
msgid "Number of messages with delivery error"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields.selection,name:purchase_blanket_order.selection__purchase_blanket_order__state__open
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__order_id
|
||||
msgid "Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Order Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__line_ids
|
||||
msgid "Order lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Ordered Qty"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__ordered_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__ordered_uom_qty
|
||||
msgid "Ordered quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_order__blanket_order_id
|
||||
msgid "Origin blanket order"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Original Qty"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__original_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__original_uom_qty
|
||||
msgid "Original quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Other Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Partner is mandatory"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__payment_term_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__payment_term_id
|
||||
msgid "Payment Terms"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_unit
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__price_unit
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Price must be greater than zero"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_res_config_settings
|
||||
msgid "Procurement purchase grouping settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__product_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__product_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__product_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.report,name:purchase_blanket_order.report_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order
|
||||
msgid "Purchase Blanket Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "Purchase Blanket Order %s is not open"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_line
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_form
|
||||
msgid "Purchase Blanket Order Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__line_count
|
||||
msgid "Purchase Blanket Order Line count"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_blanket_order_wizard_line
|
||||
msgid "Purchase Blanket Order Wizard Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__purchase_count
|
||||
msgid "Purchase Count"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard__purchase_order_id
|
||||
msgid "Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model,name:purchase_blanket_order.model_purchase_order_line
|
||||
msgid "Purchase Order Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__purchase_lines
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_form
|
||||
msgid "Purchase Order Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Quantity must be greater than zero"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__qty
|
||||
msgid "Quantity to Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "RFQ"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "RFQ/Orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Received Qty"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__received_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__received_uom_qty
|
||||
msgid "Received quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_search
|
||||
msgid "Remaining Qty"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__remaining_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__remaining_uom_qty
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__remaining_uom_qty
|
||||
msgid "Remaining quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__remaining_qty
|
||||
msgid "Remaining quantity in base UoM"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__user_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__user_id
|
||||
msgid "Responsible"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__activity_user_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__activity_user_id
|
||||
msgid "Responsible User"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Schedule dates defined on the Purchase Order Line and on the Blanket Order "
|
||||
"Line do not match."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__date_schedule
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__date_schedule
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Scheduled Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.purchase_blanket_order_line_search
|
||||
msgid "Search Purchase Blanket Order Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__sequence
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Setup default terms and conditions in your company settings."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__date_start
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__state
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_state
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_state
|
||||
msgid ""
|
||||
"Status based on activities\n"
|
||||
"Overdue: Due date is already passed\n"
|
||||
"Today: Activity date is today\n"
|
||||
"Planned: Future activities."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_subtotal
|
||||
msgid "Subtotal"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_tax
|
||||
msgid "Tax"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_tax
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__taxes_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__taxes_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Taxes"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "Terms and Conditions"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The currency of the blanket order must match with that of the purchase "
|
||||
"order."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/purchase_order.py:0
|
||||
#, python-format
|
||||
msgid "The vendor must be equal to the blanket order lines vendor"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.view_purchase_blanket_order_form
|
||||
msgid "To Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_total
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__price_total
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__activity_exception_decoration
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__activity_exception_decoration
|
||||
msgid "Type of the exception activity on record."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "Unit Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__product_uom
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__product_uom
|
||||
msgid "Unit of Measure"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__amount_untaxed
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.actions.act_window,help:purchase_blanket_order.act_open_purchase_blanket_order_view
|
||||
msgid ""
|
||||
"Use this menu to search within your blanket orders. For each blanket order,\n"
|
||||
" you can track the related discussion with the vendor, control\n"
|
||||
" the products received and control the vendor bills."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase_blanket_order.report_blanketorder_document
|
||||
msgid "VAT:"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__validity_date
|
||||
msgid "Validity Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Validity date is mandatory"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "Validity date must be in the future"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__partner_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__partner_id
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__partner_id
|
||||
msgid "Vendor"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__partner_ref
|
||||
msgid "Vendor Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.actions.server,name:purchase_blanket_order.warnings_purchase_blanket_orders_cron_ir_actions_server
|
||||
#: model:ir.cron,cron_name:purchase_blanket_order.warnings_purchase_blanket_orders_cron
|
||||
msgid "Warnings Blanket Orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order__website_message_ids
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_line__website_message_ids
|
||||
msgid "Website Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order__website_message_ids
|
||||
#: model:ir.model.fields,help:purchase_blanket_order.field_purchase_blanket_order_line__website_message_ids
|
||||
msgid "Website communication history"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#: model:ir.model.fields,field_description:purchase_blanket_order.field_purchase_blanket_order_wizard_line__wizard_id
|
||||
msgid "Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can not delete a blanket order with opened purchase orders! Try to "
|
||||
"cancel them before."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can not delete an open blanket order! Try to cancel it before."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can't create a purchase order from an expired blanket order!"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You can't order more than the remaining quantities"
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/wizard/create_purchase_orders.py:0
|
||||
#, python-format
|
||||
msgid "You have to select lines from the same company."
|
||||
msgstr ""
|
||||
|
||||
#. module: purchase_blanket_order
|
||||
#. odoo-python
|
||||
#: code:addons/purchase_blanket_order/models/blanket_orders.py:0
|
||||
#, python-format
|
||||
msgid "remaining"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from . import blanket_orders
|
||||
from . import purchase_order
|
||||
from . import purchase_config_settings
|
||||
|
|
@ -0,0 +1,623 @@
|
|||
# Copyright (C) 2018 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
from datetime import datetime
|
||||
|
||||
from odoo import SUPERUSER_ID, _, api, fields, models
|
||||
from odoo.exceptions import UserError
|
||||
from odoo.tools import float_is_zero
|
||||
|
||||
|
||||
class BlanketOrder(models.Model):
|
||||
_name = "purchase.blanket.order"
|
||||
_inherit = ["mail.thread", "mail.activity.mixin"]
|
||||
_description = "Purchase Blanket Order"
|
||||
_order = "date_start desc, id desc"
|
||||
|
||||
@api.model
|
||||
def _default_company(self):
|
||||
return self.env.user.company_id
|
||||
|
||||
@api.depends("line_ids.price_total")
|
||||
def _compute_amount_all(self):
|
||||
for order in self:
|
||||
amount_untaxed = amount_tax = 0.0
|
||||
for line in order.line_ids:
|
||||
amount_untaxed += line.price_subtotal
|
||||
amount_tax += line.price_tax
|
||||
order.update(
|
||||
{
|
||||
"amount_untaxed": order.currency_id.round(amount_untaxed),
|
||||
"amount_tax": order.currency_id.round(amount_tax),
|
||||
"amount_total": amount_untaxed + amount_tax,
|
||||
}
|
||||
)
|
||||
|
||||
name = fields.Char(default="Draft", readonly=True)
|
||||
partner_id = fields.Many2one(
|
||||
"res.partner",
|
||||
string="Vendor",
|
||||
readonly=True,
|
||||
tracking=True,
|
||||
states={"draft": [("readonly", False)]},
|
||||
)
|
||||
partner_ref = fields.Char(string="Vendor Reference", copy=False)
|
||||
line_ids = fields.One2many(
|
||||
"purchase.blanket.order.line",
|
||||
"order_id",
|
||||
string="Order lines",
|
||||
tracking=True,
|
||||
copy=True,
|
||||
)
|
||||
line_count = fields.Integer(
|
||||
string="Purchase Blanket Order Line count",
|
||||
compute="_compute_line_count",
|
||||
readonly=True,
|
||||
)
|
||||
product_id = fields.Many2one(
|
||||
"product.product",
|
||||
related="line_ids.product_id",
|
||||
string="Product",
|
||||
)
|
||||
currency_id = fields.Many2one(
|
||||
"res.currency",
|
||||
required=True,
|
||||
default=lambda self: self.env.user.company_id.currency_id.id,
|
||||
)
|
||||
payment_term_id = fields.Many2one(
|
||||
"account.payment.term",
|
||||
string="Payment Terms",
|
||||
readonly=True,
|
||||
states={"draft": [("readonly", False)]},
|
||||
)
|
||||
confirmed = fields.Boolean(copy=False)
|
||||
cancelled = fields.Boolean(copy=False)
|
||||
state = fields.Selection(
|
||||
selection=[
|
||||
("draft", "Draft"),
|
||||
("open", "Open"),
|
||||
("done", "Done"),
|
||||
("expired", "Expired"),
|
||||
],
|
||||
compute="_compute_state",
|
||||
store=True,
|
||||
copy=False,
|
||||
tracking=True,
|
||||
)
|
||||
validity_date = fields.Date(
|
||||
readonly=True,
|
||||
states={"draft": [("readonly", False)]},
|
||||
tracking=True,
|
||||
help="Date until which the blanket order will be valid, after this "
|
||||
"date the blanket order will be marked as expired",
|
||||
)
|
||||
date_start = fields.Datetime(
|
||||
readonly=True,
|
||||
required=True,
|
||||
string="Start Date",
|
||||
default=fields.Datetime.now,
|
||||
states={"draft": [("readonly", False)]},
|
||||
help="Blanket Order starting date.",
|
||||
)
|
||||
note = fields.Text(readonly=True, states={"draft": [("readonly", False)]})
|
||||
user_id = fields.Many2one(
|
||||
"res.users",
|
||||
string="Responsible",
|
||||
readonly=True,
|
||||
default=lambda self: self.env.uid,
|
||||
states={"draft": [("readonly", False)]},
|
||||
)
|
||||
company_id = fields.Many2one(
|
||||
"res.company",
|
||||
string="Company",
|
||||
default=_default_company,
|
||||
readonly=True,
|
||||
states={"draft": [("readonly", False)]},
|
||||
)
|
||||
purchase_count = fields.Integer(compute="_compute_purchase_count")
|
||||
|
||||
fiscal_position_id = fields.Many2one(
|
||||
"account.fiscal.position", string="Fiscal Position"
|
||||
)
|
||||
|
||||
amount_untaxed = fields.Monetary(
|
||||
string="Untaxed Amount",
|
||||
store=True,
|
||||
readonly=True,
|
||||
compute="_compute_amount_all",
|
||||
tracking=True,
|
||||
)
|
||||
amount_tax = fields.Monetary(
|
||||
string="Taxes", store=True, readonly=True, compute="_compute_amount_all"
|
||||
)
|
||||
amount_total = fields.Monetary(
|
||||
string="Total", store=True, readonly=True, compute="_compute_amount_all"
|
||||
)
|
||||
|
||||
# Fields use to filter in tree view
|
||||
original_uom_qty = fields.Float(
|
||||
string="Original quantity",
|
||||
compute="_compute_uom_qty",
|
||||
search="_search_original_uom_qty",
|
||||
)
|
||||
ordered_uom_qty = fields.Float(
|
||||
string="Ordered quantity",
|
||||
compute="_compute_uom_qty",
|
||||
search="_search_ordered_uom_qty",
|
||||
)
|
||||
invoiced_uom_qty = fields.Float(
|
||||
string="Invoiced quantity",
|
||||
compute="_compute_uom_qty",
|
||||
search="_search_invoiced_uom_qty",
|
||||
)
|
||||
remaining_uom_qty = fields.Float(
|
||||
string="Remaining quantity",
|
||||
compute="_compute_uom_qty",
|
||||
search="_search_remaining_uom_qty",
|
||||
)
|
||||
received_uom_qty = fields.Float(
|
||||
string="Received quantity",
|
||||
compute="_compute_uom_qty",
|
||||
search="_search_received_uom_qty",
|
||||
)
|
||||
|
||||
def _get_purchase_orders(self):
|
||||
return self.mapped("line_ids.purchase_lines.order_id")
|
||||
|
||||
@api.depends("line_ids")
|
||||
def _compute_line_count(self):
|
||||
self.line_count = len(self.mapped("line_ids"))
|
||||
|
||||
def _compute_purchase_count(self):
|
||||
for blanket_order in self:
|
||||
blanket_order.purchase_count = len(blanket_order._get_purchase_orders())
|
||||
|
||||
@api.depends(
|
||||
"line_ids.remaining_uom_qty",
|
||||
"validity_date",
|
||||
"confirmed",
|
||||
"cancelled",
|
||||
)
|
||||
def _compute_state(self):
|
||||
today = fields.Date.today()
|
||||
precision = self.env["decimal.precision"].precision_get(
|
||||
"Product Unit of Measure"
|
||||
)
|
||||
for order in self:
|
||||
if not order.confirmed and not order.cancelled:
|
||||
order.state = "draft"
|
||||
elif order.validity_date <= today or order.cancelled:
|
||||
order.state = "expired"
|
||||
elif float_is_zero(
|
||||
sum(order.line_ids.mapped("remaining_uom_qty")),
|
||||
precision_digits=precision,
|
||||
):
|
||||
order.state = "done"
|
||||
else:
|
||||
order.state = "open"
|
||||
|
||||
def _compute_uom_qty(self):
|
||||
for bo in self:
|
||||
bo.original_uom_qty = sum(bo.mapped("line_ids.original_uom_qty"))
|
||||
bo.ordered_uom_qty = sum(bo.mapped("line_ids.ordered_uom_qty"))
|
||||
bo.invoiced_uom_qty = sum(bo.mapped("line_ids.invoiced_uom_qty"))
|
||||
bo.received_uom_qty = sum(bo.mapped("line_ids.received_uom_qty"))
|
||||
bo.remaining_uom_qty = sum(bo.mapped("line_ids.remaining_uom_qty"))
|
||||
|
||||
@api.onchange("partner_id")
|
||||
def onchange_partner_id(self):
|
||||
"""
|
||||
Update the following fields when the partner is changed:
|
||||
- Payment term
|
||||
"""
|
||||
if not self.partner_id:
|
||||
self.payment_term_id = False
|
||||
self.fiscal_position_id = False
|
||||
return
|
||||
|
||||
self.payment_term_id = (
|
||||
self.partner_id.property_supplier_payment_term_id
|
||||
and self.partner_id.property_supplier_payment_term_id.id
|
||||
or False
|
||||
)
|
||||
|
||||
self.fiscal_position_id = (
|
||||
self.env["account.fiscal.position"]
|
||||
.with_context(company_id=self.company_id.id)
|
||||
._get_fiscal_position(partner=self.partner_id)
|
||||
)
|
||||
|
||||
self.currency_id = (
|
||||
self.partner_id.property_purchase_currency_id.id
|
||||
or self.env.user.company_id.currency_id.id
|
||||
)
|
||||
|
||||
if self.partner_id.user_id:
|
||||
self.user_id = self.partner_id.user_id.id
|
||||
|
||||
def unlink(self):
|
||||
for order in self:
|
||||
if order.state not in ("draft", "expired"):
|
||||
raise UserError(
|
||||
_(
|
||||
"You can not delete an open blanket order! "
|
||||
"Try to cancel it before."
|
||||
)
|
||||
)
|
||||
return super().unlink()
|
||||
|
||||
def copy_data(self, default=None):
|
||||
if default is None:
|
||||
default = {}
|
||||
default.update(self.default_get(["name", "confirmed"]))
|
||||
return super().copy_data(default)
|
||||
|
||||
def _validate(self):
|
||||
try:
|
||||
today = fields.Date.today()
|
||||
for order in self:
|
||||
assert order.validity_date, _("Validity date is mandatory")
|
||||
assert order.validity_date > today, _(
|
||||
"Validity date must be in the future"
|
||||
)
|
||||
assert order.partner_id, _("Partner is mandatory")
|
||||
assert len(order.line_ids) > 0, _("Must have some lines")
|
||||
order.line_ids._validate()
|
||||
except AssertionError as e:
|
||||
raise UserError(e) from e
|
||||
|
||||
def set_to_draft(self):
|
||||
for order in self:
|
||||
order.write({"cancelled": False})
|
||||
return True
|
||||
|
||||
def action_confirm(self):
|
||||
self._validate()
|
||||
for order in self:
|
||||
vals = {"confirmed": True}
|
||||
# Set name by sequence only if is necessary
|
||||
if order.name == "Draft":
|
||||
sequence_obj = self.env["ir.sequence"]
|
||||
if order.company_id:
|
||||
sequence_obj = sequence_obj.with_company(order.company_id)
|
||||
name = sequence_obj.next_by_code("purchase.blanket.order") or "Draft"
|
||||
vals.update({"name": name})
|
||||
order.write(vals)
|
||||
return True
|
||||
|
||||
def action_cancel(self):
|
||||
for order in self:
|
||||
if order.purchase_count > 0:
|
||||
for po in order._get_purchase_orders():
|
||||
if po.state not in ("cancel"):
|
||||
raise UserError(
|
||||
_(
|
||||
"You can not delete a blanket order with opened "
|
||||
"purchase orders! "
|
||||
"Try to cancel them before."
|
||||
)
|
||||
)
|
||||
order.write({"cancelled": True, "confirmed": False})
|
||||
return True
|
||||
|
||||
def action_view_purchase_orders(self):
|
||||
purchase_orders = self._get_purchase_orders()
|
||||
action = self.env["ir.actions.actions"]._for_xml_id("purchase.purchase_rfq")
|
||||
if len(purchase_orders) > 0:
|
||||
action["domain"] = [("id", "in", purchase_orders.ids)]
|
||||
action["context"] = [("id", "in", purchase_orders.ids)]
|
||||
else:
|
||||
action = {"type": "ir.actions.act_window_close"}
|
||||
return action
|
||||
|
||||
def action_view_purchase_blanket_order_line(self):
|
||||
action = self.env["ir.actions.actions"]._for_xml_id(
|
||||
"purchase_blanket_order.act_open_purchase_blanket_order_lines_view_tree"
|
||||
)
|
||||
lines = self.mapped("line_ids")
|
||||
if len(lines) > 0:
|
||||
action["domain"] = [("id", "in", lines.ids)]
|
||||
return action
|
||||
|
||||
@api.model
|
||||
def expire_orders(self):
|
||||
today = fields.Date.today()
|
||||
expired_orders = self.search(
|
||||
[("state", "=", "open"), ("validity_date", "<=", today)]
|
||||
)
|
||||
expired_orders.modified(["validity_date"])
|
||||
expired_orders.env.flush_all()
|
||||
|
||||
@api.model
|
||||
def compute_warnings(self):
|
||||
"""Base function to create activity warnings"""
|
||||
return True
|
||||
|
||||
@api.model
|
||||
def _search_original_uom_qty(self, operator, value):
|
||||
bo_line_obj = self.env["purchase.blanket.order.line"]
|
||||
res = []
|
||||
bo_lines = bo_line_obj.search([("original_uom_qty", operator, value)])
|
||||
order_ids = bo_lines.mapped("order_id")
|
||||
res.append(("id", "in", order_ids.ids))
|
||||
return res
|
||||
|
||||
@api.model
|
||||
def _search_ordered_uom_qty(self, operator, value):
|
||||
bo_line_obj = self.env["purchase.blanket.order.line"]
|
||||
res = []
|
||||
bo_lines = bo_line_obj.search([("ordered_uom_qty", operator, value)])
|
||||
order_ids = bo_lines.mapped("order_id")
|
||||
res.append(("id", "in", order_ids.ids))
|
||||
return res
|
||||
|
||||
@api.model
|
||||
def _search_invoiced_uom_qty(self, operator, value):
|
||||
bo_line_obj = self.env["purchase.blanket.order.line"]
|
||||
res = []
|
||||
bo_lines = bo_line_obj.search([("invoiced_uom_qty", operator, value)])
|
||||
order_ids = bo_lines.mapped("order_id")
|
||||
res.append(("id", "in", order_ids.ids))
|
||||
return res
|
||||
|
||||
@api.model
|
||||
def _search_received_uom_qty(self, operator, value):
|
||||
bo_line_obj = self.env["purchase.blanket.order.line"]
|
||||
res = []
|
||||
bo_lines = bo_line_obj.search([("received_uom_qty", operator, value)])
|
||||
order_ids = bo_lines.mapped("order_id")
|
||||
res.append(("id", "in", order_ids.ids))
|
||||
return res
|
||||
|
||||
@api.model
|
||||
def _search_remaining_uom_qty(self, operator, value):
|
||||
bo_line_obj = self.env["purchase.blanket.order.line"]
|
||||
res = []
|
||||
bo_lines = bo_line_obj.search([("remaining_uom_qty", operator, value)])
|
||||
order_ids = bo_lines.mapped("order_id")
|
||||
res.append(("id", "in", order_ids.ids))
|
||||
return res
|
||||
|
||||
|
||||
class BlanketOrderLine(models.Model):
|
||||
_name = "purchase.blanket.order.line"
|
||||
_description = "Purchase Blanket Order Line"
|
||||
_inherit = ["mail.thread", "mail.activity.mixin"]
|
||||
|
||||
@api.depends("original_uom_qty", "price_unit", "taxes_id")
|
||||
def _compute_amount(self):
|
||||
for line in self:
|
||||
taxes = line.taxes_id.compute_all(
|
||||
line.price_unit,
|
||||
line.order_id.currency_id,
|
||||
line.original_uom_qty,
|
||||
product=line.product_id,
|
||||
partner=line.order_id.partner_id,
|
||||
)
|
||||
line.update(
|
||||
{
|
||||
"price_tax": sum(
|
||||
t.get("amount", 0.0) for t in taxes.get("taxes", [])
|
||||
),
|
||||
"price_total": taxes["total_included"],
|
||||
"price_subtotal": taxes["total_excluded"],
|
||||
}
|
||||
)
|
||||
|
||||
name = fields.Char(string="Description", tracking=True)
|
||||
sequence = fields.Integer()
|
||||
order_id = fields.Many2one(
|
||||
"purchase.blanket.order", required=True, ondelete="cascade"
|
||||
)
|
||||
product_id = fields.Many2one(
|
||||
"product.product",
|
||||
string="Product",
|
||||
required=True,
|
||||
domain=[("purchase_ok", "=", True)],
|
||||
)
|
||||
product_uom = fields.Many2one("uom.uom", string="Unit of Measure", required=True)
|
||||
price_unit = fields.Float(string="Price", required=True, digits=("Product Price"))
|
||||
taxes_id = fields.Many2many(
|
||||
"account.tax",
|
||||
string="Taxes",
|
||||
domain=["|", ("active", "=", False), ("active", "=", True)],
|
||||
)
|
||||
date_schedule = fields.Date(string="Scheduled Date")
|
||||
original_uom_qty = fields.Float(
|
||||
string="Original quantity",
|
||||
required=True,
|
||||
default=1.0,
|
||||
digits=("Product Unit of Measure"),
|
||||
)
|
||||
ordered_uom_qty = fields.Float(
|
||||
string="Ordered quantity",
|
||||
compute="_compute_quantities",
|
||||
store=True,
|
||||
digits=("Product Unit of Measure"),
|
||||
)
|
||||
invoiced_uom_qty = fields.Float(
|
||||
string="Invoiced quantity",
|
||||
compute="_compute_quantities",
|
||||
store=True,
|
||||
digits=("Product Unit of Measure"),
|
||||
)
|
||||
remaining_uom_qty = fields.Float(
|
||||
string="Remaining quantity",
|
||||
compute="_compute_quantities",
|
||||
store=True,
|
||||
digits=("Product Unit of Measure"),
|
||||
)
|
||||
remaining_qty = fields.Float(
|
||||
string="Remaining quantity in base UoM",
|
||||
compute="_compute_quantities",
|
||||
store=True,
|
||||
digits=("Product Unit of Measure"),
|
||||
)
|
||||
received_uom_qty = fields.Float(
|
||||
string="Received quantity",
|
||||
compute="_compute_quantities",
|
||||
store=True,
|
||||
digits=("Product Unit of Measure"),
|
||||
)
|
||||
purchase_lines = fields.One2many(
|
||||
comodel_name="purchase.order.line",
|
||||
inverse_name="blanket_order_line",
|
||||
string="Purchase Order Lines",
|
||||
readonly=True,
|
||||
copy=False,
|
||||
)
|
||||
company_id = fields.Many2one(
|
||||
"res.company", related="order_id.company_id", store=True, readonly=True
|
||||
)
|
||||
currency_id = fields.Many2one(
|
||||
"res.currency", related="order_id.currency_id", readonly=True
|
||||
)
|
||||
partner_id = fields.Many2one(
|
||||
related="order_id.partner_id", string="Vendor", readonly=True
|
||||
)
|
||||
user_id = fields.Many2one(
|
||||
related="order_id.user_id", string="Responsible", readonly=True
|
||||
)
|
||||
payment_term_id = fields.Many2one(
|
||||
related="order_id.payment_term_id", string="Payment Terms", readonly=True
|
||||
)
|
||||
|
||||
price_subtotal = fields.Monetary(
|
||||
compute="_compute_amount", string="Subtotal", store=True
|
||||
)
|
||||
price_total = fields.Monetary(compute="_compute_amount", string="Total", store=True)
|
||||
price_tax = fields.Float(compute="_compute_amount", string="Tax", store=True)
|
||||
|
||||
def _format_date(self, date):
|
||||
# format date following user language
|
||||
lang_model = self.env["res.lang"]
|
||||
lang = lang_model._lang_get(self.env.user.lang)
|
||||
date_format = lang.date_format
|
||||
return datetime.strftime(fields.Date.from_string(date), date_format)
|
||||
|
||||
def name_get(self):
|
||||
result = []
|
||||
if self.env.context.get("from_purchase_order"):
|
||||
for record in self:
|
||||
res = "[%s]" % record.order_id.name
|
||||
if record.date_schedule:
|
||||
formatted_date = self._format_date(record.date_schedule)
|
||||
res += " - {}: {}".format(_("Date Scheduled"), formatted_date)
|
||||
res += " ({}: {} {})".format(
|
||||
_("remaining"),
|
||||
record.remaining_uom_qty,
|
||||
record.product_uom.name,
|
||||
)
|
||||
result.append((record.id, res))
|
||||
return result
|
||||
return super().name_get()
|
||||
|
||||
def _get_display_price(self, product):
|
||||
|
||||
seller = product._select_seller(
|
||||
partner_id=self.order_id.partner_id,
|
||||
quantity=self.original_uom_qty,
|
||||
date=self.order_id.date_start
|
||||
and fields.Date.from_string(self.order_id.date_start),
|
||||
uom_id=self.product_uom,
|
||||
)
|
||||
|
||||
if not seller:
|
||||
return
|
||||
|
||||
price_unit = (
|
||||
self.env["account.tax"]._fix_tax_included_price_company(
|
||||
seller.price,
|
||||
product.supplier_taxes_id,
|
||||
self.purchase_lines.taxes_id,
|
||||
self.company_id,
|
||||
)
|
||||
if seller
|
||||
else 0.0
|
||||
)
|
||||
if (
|
||||
price_unit
|
||||
and seller
|
||||
and self.order_id.currency_id
|
||||
and seller.currency_id != self.order_id.currency_id
|
||||
):
|
||||
price_unit = seller.currency_id.compute(
|
||||
price_unit, self.order_id.currency_id
|
||||
)
|
||||
|
||||
if seller and self.product_uom and seller.product_uom != self.product_uom:
|
||||
price_unit = seller.product_uom._compute_price(price_unit, self.product_uom)
|
||||
|
||||
return price_unit
|
||||
|
||||
@api.onchange("product_id", "original_uom_qty")
|
||||
def onchange_product(self):
|
||||
precision = self.env["decimal.precision"].precision_get(
|
||||
"Product Unit of Measure"
|
||||
)
|
||||
if self.product_id:
|
||||
name = self.product_id.name
|
||||
if not self.product_uom:
|
||||
self.product_uom = self.product_id.uom_po_id or self.product_id.uom_id
|
||||
if self.order_id.partner_id and float_is_zero(
|
||||
self.price_unit, precision_digits=precision
|
||||
):
|
||||
self.price_unit = self._get_display_price(self.product_id)
|
||||
if self.product_id.code:
|
||||
name = "[{}] {}".format(name, self.product_id.code)
|
||||
if self.product_id.description_purchase:
|
||||
name += "\n" + self.product_id.description_purchase
|
||||
self.name = name
|
||||
|
||||
fpos = self.order_id.fiscal_position_id
|
||||
if self.env.uid == SUPERUSER_ID:
|
||||
company_id = self.env.user.company_id.id
|
||||
self.taxes_id = fpos.map_tax(
|
||||
self.product_id.supplier_taxes_id.filtered(
|
||||
lambda r: r.company_id.id == company_id
|
||||
)
|
||||
)
|
||||
else:
|
||||
self.taxes_id = fpos.map_tax(self.product_id.supplier_taxes_id)
|
||||
|
||||
@api.depends(
|
||||
"purchase_lines.order_id.state",
|
||||
"purchase_lines.blanket_order_line",
|
||||
"purchase_lines.product_qty",
|
||||
"purchase_lines.product_uom",
|
||||
"purchase_lines.qty_received",
|
||||
"purchase_lines.qty_invoiced",
|
||||
"original_uom_qty",
|
||||
"product_uom",
|
||||
)
|
||||
def _compute_quantities(self):
|
||||
for line in self:
|
||||
purchase_lines = line.purchase_lines
|
||||
line.ordered_uom_qty = sum(
|
||||
pol.product_uom._compute_quantity(pol.product_qty, line.product_uom)
|
||||
for pol in purchase_lines
|
||||
if pol.order_id.state != "cancel" and pol.product_id == line.product_id
|
||||
)
|
||||
line.invoiced_uom_qty = sum(
|
||||
pol.product_uom._compute_quantity(pol.qty_invoiced, line.product_uom)
|
||||
for pol in purchase_lines
|
||||
if pol.order_id.state != "cancel" and pol.product_id == line.product_id
|
||||
)
|
||||
line.received_uom_qty = sum(
|
||||
pol.product_uom._compute_quantity(pol.qty_received, line.product_uom)
|
||||
for pol in purchase_lines
|
||||
if pol.order_id.state != "cancel" and pol.product_id == line.product_id
|
||||
)
|
||||
line.remaining_uom_qty = line.original_uom_qty - line.ordered_uom_qty
|
||||
line.remaining_qty = line.product_uom._compute_quantity(
|
||||
line.remaining_uom_qty, line.product_id.uom_id
|
||||
)
|
||||
|
||||
def _validate(self):
|
||||
try:
|
||||
for line in self:
|
||||
assert line.price_unit > 0.0, _("Price must be greater than zero")
|
||||
assert line.original_uom_qty > 0.0, _(
|
||||
"Quantity must be greater than zero"
|
||||
)
|
||||
except AssertionError as e:
|
||||
raise UserError(e) from e
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
# Copyright (C) 2018 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class PurchaseConfigSettings(models.TransientModel):
|
||||
_inherit = "res.config.settings"
|
||||
|
||||
group_purchase_blanket_disable_adding_lines = fields.Boolean(
|
||||
string="Disable adding more lines to POs",
|
||||
implied_group="purchase_blanket_order."
|
||||
"purchase_blanket_orders_disable_adding_lines",
|
||||
)
|
||||
|
|
@ -0,0 +1,201 @@
|
|||
# Copyright (C) 2018 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
from datetime import date, timedelta
|
||||
|
||||
from odoo import _, api, fields, models
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
|
||||
class PurchaseOrder(models.Model):
|
||||
_inherit = "purchase.order"
|
||||
|
||||
blanket_order_id = fields.Many2one(
|
||||
"purchase.blanket.order",
|
||||
string="Origin blanket order",
|
||||
related="order_line.blanket_order_line.order_id",
|
||||
readonly=True,
|
||||
)
|
||||
|
||||
@api.model
|
||||
def _check_exchausted_blanket_order_line(self):
|
||||
return any(
|
||||
line.blanket_order_line.remaining_qty < 0.0 for line in self.order_line
|
||||
)
|
||||
|
||||
def button_confirm(self):
|
||||
res = super().button_confirm()
|
||||
for order in self:
|
||||
if order._check_exchausted_blanket_order_line():
|
||||
raise ValidationError(
|
||||
_(
|
||||
"Cannot confirm order %s as one of the lines refers "
|
||||
"to a blanket order that has no remaining quantity."
|
||||
)
|
||||
% order.name
|
||||
)
|
||||
return res
|
||||
|
||||
@api.constrains("partner_id")
|
||||
def check_partner_id(self):
|
||||
for line in self.order_line:
|
||||
if line.blanket_order_line:
|
||||
if line.blanket_order_line.partner_id != self.partner_id:
|
||||
raise ValidationError(
|
||||
_(
|
||||
"The vendor must be equal to the blanket order"
|
||||
" lines vendor"
|
||||
)
|
||||
)
|
||||
|
||||
@api.constrains("currency_id")
|
||||
def check_currency(self):
|
||||
for rec in self:
|
||||
if any(
|
||||
line.blanket_order_line.order_id.currency_id != rec.currency_id
|
||||
for line in rec.order_line.filtered(lambda x: x.blanket_order_line)
|
||||
):
|
||||
raise ValidationError(
|
||||
_(
|
||||
"The currency of the blanket order must match with that "
|
||||
"of the purchase order."
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
class PurchaseOrderLine(models.Model):
|
||||
_inherit = "purchase.order.line"
|
||||
|
||||
blanket_order_line = fields.Many2one(
|
||||
comodel_name="purchase.blanket.order.line",
|
||||
copy=False,
|
||||
domain="[('product_id', '=', product_id)]",
|
||||
)
|
||||
|
||||
@api.model_create_multi
|
||||
def create(self, vals_list):
|
||||
lines = super().create(vals_list)
|
||||
for line in lines:
|
||||
if not line.blanket_order_line:
|
||||
line.with_context(assigned_from_creation=True).get_assigned_bo_line()
|
||||
return lines
|
||||
|
||||
def _get_assigned_bo_line(self, bo_lines):
|
||||
# We get the blanket order line with enough quantity and closest
|
||||
# scheduled date
|
||||
assigned_bo_line = False
|
||||
date_planned = fields.Date.from_string(self.date_planned) or date.today()
|
||||
date_delta = timedelta(days=365)
|
||||
for line in bo_lines.filtered(lambda l: l.date_schedule):
|
||||
date_schedule = fields.Date.from_string(line.date_schedule)
|
||||
if date_schedule and abs(date_schedule - date_planned) < date_delta:
|
||||
assigned_bo_line = line
|
||||
date_delta = abs(date_schedule - date_planned)
|
||||
if assigned_bo_line:
|
||||
return assigned_bo_line
|
||||
non_date_bo_lines = bo_lines.filtered(lambda l: not l.date_schedule)
|
||||
if non_date_bo_lines:
|
||||
return non_date_bo_lines[0]
|
||||
|
||||
def _get_eligible_bo_lines_domain(self, base_qty):
|
||||
filters = [
|
||||
("product_id", "=", self.product_id.id),
|
||||
("remaining_qty", ">=", base_qty),
|
||||
("currency_id", "=", self.order_id.currency_id.id),
|
||||
("order_id.state", "=", "open"),
|
||||
]
|
||||
if self.order_id.partner_id:
|
||||
filters.append(("partner_id", "=", self.order_id.partner_id.id))
|
||||
return filters
|
||||
|
||||
def _get_eligible_bo_lines(self):
|
||||
base_qty = self.product_uom._compute_quantity(
|
||||
self.product_qty, self.product_id.uom_id
|
||||
)
|
||||
filters = self._get_eligible_bo_lines_domain(base_qty)
|
||||
return self.env["purchase.blanket.order.line"].search(filters)
|
||||
|
||||
def get_assigned_bo_line(self):
|
||||
self.ensure_one()
|
||||
eligible_bo_lines = self._get_eligible_bo_lines()
|
||||
if eligible_bo_lines:
|
||||
if (
|
||||
not self.blanket_order_line
|
||||
or self.blanket_order_line not in eligible_bo_lines
|
||||
):
|
||||
self.blanket_order_line = self._get_assigned_bo_line(eligible_bo_lines)
|
||||
else:
|
||||
self.blanket_order_line = False
|
||||
self.onchange_blanket_order_line()
|
||||
return {"domain": {"blanket_order_line": [("id", "in", eligible_bo_lines.ids)]}}
|
||||
|
||||
@api.onchange("product_id", "partner_id")
|
||||
def onchange_product_id(self):
|
||||
res = super().onchange_product_id()
|
||||
# If product has changed remove the relation with blanket order line
|
||||
if self.product_id:
|
||||
return self.get_assigned_bo_line()
|
||||
return res
|
||||
|
||||
@api.depends("product_qty", "product_uom")
|
||||
def _compute_price_unit_and_date_planned_and_name(self):
|
||||
res = super()._compute_price_unit_and_date_planned_and_name()
|
||||
for rec in self:
|
||||
if (
|
||||
rec.product_id
|
||||
and not rec.env.context.get("skip_blanket_find", False)
|
||||
and not rec.env.context.get("assigned_from_creation", False)
|
||||
):
|
||||
return rec.get_assigned_bo_line()
|
||||
return res
|
||||
|
||||
@api.onchange("blanket_order_line")
|
||||
def onchange_blanket_order_line(self):
|
||||
bol = self.blanket_order_line
|
||||
if bol:
|
||||
self.product_id = bol.product_id
|
||||
if bol.date_schedule:
|
||||
self.date_planned = bol.date_schedule
|
||||
if bol.product_uom != self.product_uom:
|
||||
price_unit = bol.product_uom._compute_price(
|
||||
bol.price_unit, self.product_uom
|
||||
)
|
||||
else:
|
||||
price_unit = bol.price_unit
|
||||
self.price_unit = price_unit
|
||||
if bol.taxes_id:
|
||||
self.taxes_id = bol.taxes_id
|
||||
else:
|
||||
if not self.env.context.get("assigned_from_creation", False):
|
||||
self._compute_tax_id()
|
||||
self.with_context(
|
||||
skip_blanket_find=True
|
||||
)._compute_price_unit_and_date_planned_and_name()
|
||||
|
||||
@api.constrains("date_planned")
|
||||
def check_date_planned(self):
|
||||
for line in self:
|
||||
date_planned = fields.Date.from_string(line.date_planned)
|
||||
if (
|
||||
line.blanket_order_line
|
||||
and line.blanket_order_line.date_schedule
|
||||
and line.blanket_order_line.date_schedule != date_planned
|
||||
and not line.env.context.get("assigned_from_creation", False)
|
||||
):
|
||||
raise ValidationError(
|
||||
_(
|
||||
"Schedule dates defined on the Purchase Order Line "
|
||||
"and on the Blanket Order Line do not match."
|
||||
)
|
||||
)
|
||||
|
||||
@api.constrains("currency_id")
|
||||
def check_currency(self):
|
||||
for line in self:
|
||||
blanket_currency = line.blanket_order_line.order_id.currency_id
|
||||
if blanket_currency and line.order_id.currency_id != blanket_currency:
|
||||
raise ValidationError(
|
||||
_(
|
||||
"The currency of the blanket order must match with that "
|
||||
"of the purchase order."
|
||||
)
|
||||
)
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
* Adrià Gil Sorribes <adria.gil@forgeflow.com>
|
||||
* Jordi Ballester Alomar <jordi.ballester@forgeflow.com>
|
||||
* Héctor Villarreal <hector.villarreal@forgeflow.com>
|
||||
* Lois Rilo <lois.rilo@forgeflow.com>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
A purchase blanket order is a pre-agreement to purchase a certain number of
|
||||
quantities of products at a specific price. From a confirmed blanket order,
|
||||
the users can create new purchase orders at such price, until the blanket
|
||||
order expires due to reaching the validity date.
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
A new menu in the Purchase area is created, allowing users to create new blanket orders.
|
||||
|
||||
To create a new Purchase Blanket Order go to the purchase menu in the Purchase section:
|
||||
|
||||
.. image:: /purchase_blanket_order/static/description/BO_menu.png
|
||||
:alt: Blanket Orders menu
|
||||
|
||||
Hitting the button create will open the form view in which we can introduce the following
|
||||
information:
|
||||
|
||||
* Vendor
|
||||
* Payment Terms
|
||||
* Ordering and Validity dates
|
||||
* Order lines:
|
||||
* Product
|
||||
* Accorded price
|
||||
* Original, Ordered, Invoiced, Received and Remaining quantities
|
||||
* Terms and Conditions of the Blanket Order
|
||||
|
||||
.. image:: /purchase_blanket_order/static/description/BO_form.png
|
||||
:alt: Blanket Orders form
|
||||
|
||||
From the form, once the Blanket Order has been confirmed and its state is open, the user can
|
||||
create a Purchase Order, check the Purchase Orders associated to the Blanket Order and/or
|
||||
see the Blanket Order lines associated to the BO.
|
||||
|
||||
.. image:: /purchase_blanket_order/static/description/BO_actions.png
|
||||
:alt: Actions that can be done from Blanket Order
|
||||
|
||||
Hitting the button Create Purchase Order will open a wizard that will ask for the amount of each
|
||||
product in the BO lines for which the Purchase Order will be created.
|
||||
|
||||
.. image:: /purchase_blanket_order/static/description/PO_from_BO.png
|
||||
:alt: Create Purchase Order from Blanket Order
|
||||
|
||||
Installing this module will add an additional menu which will show all the blanket order lines
|
||||
currently defined in the system. From this list the user can create customized Purchase Orders
|
||||
selecting the lines for which the PO (or POs if the vendors are different) is (are) created.
|
||||
|
||||
.. image:: /purchase_blanket_order/static/description/BO_lines.png
|
||||
:alt: Blanket Order lines and actions
|
||||
|
||||
In the Purchase Order form one field is added in the PO lines, the Blanket Order line field. This
|
||||
field keeps track to which Blanket Order line the PO line is associated. Upon adding a new product
|
||||
in a newly created Purchase Order a blanket order line will be suggested depending on the following
|
||||
factors:
|
||||
|
||||
* Closer Validity date
|
||||
* Remaining quantity > Quantity introduced in the Purchase Order line
|
||||
|
||||
.. image:: /purchase_blanket_order/static/description/PO_BOLine.png
|
||||
:alt: New field added in Purchase Order Line
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record id="report_blanket_order" model="ir.actions.report">
|
||||
<field name="name">Purchase Blanket Order</field>
|
||||
<field name="model">purchase.blanket.order</field>
|
||||
<field name="report_type">qweb-pdf</field>
|
||||
<field name="report_name">purchase_blanket_order.report_blanketorder</field>
|
||||
<field name="report_file">purchase_blanket_order.report_blanketorder</field>
|
||||
<field name="binding_model_id" ref="model_purchase_blanket_order" />
|
||||
<field name="binding_type">report</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,132 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<template id="report_blanketorder_document">
|
||||
<t t-call="web.external_layout">
|
||||
<t t-set="doc" t-value="doc.with_context({'lang':doc.partner_id.lang})" />
|
||||
<div class="page">
|
||||
<div class="oe_structure" />
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<div
|
||||
t-field="doc.partner_id"
|
||||
t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'
|
||||
/>
|
||||
<p t-if="doc.partner_id.vat">VAT: <span
|
||||
t-field="doc.partner_id.vat"
|
||||
/></p>
|
||||
</div>
|
||||
</div>
|
||||
<h2>
|
||||
<span>Blanket Order # </span>
|
||||
<span t-field="doc.name" />
|
||||
</h2>
|
||||
<div class="row mt32 mb32" id="informations">
|
||||
<div class="col-xs-3">
|
||||
<strong>Validity Date:</strong>
|
||||
<p t-field="doc.validity_date" />
|
||||
</div>
|
||||
<div t-if="doc.payment_term_id" class="col-xs-3">
|
||||
<strong>Payment Terms:</strong>
|
||||
<p t-field="doc.payment_term_id" />
|
||||
</div>
|
||||
<div t-if="doc.user_id.name" class="col-xs-3">
|
||||
<strong>Purchase person:</strong>
|
||||
<p t-field="doc.user_id" />
|
||||
</div>
|
||||
<div t-if="doc.currency_id" class="col-xs-3">
|
||||
<strong>Currency:</strong>
|
||||
<p t-field="doc.currency_id" />
|
||||
</div>
|
||||
</div>
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Product</th>
|
||||
<th class="text-right">Unit Price</th>
|
||||
<th class="text-center">Scheduled Date</th>
|
||||
<th class="text-right">Original Qty</th>
|
||||
<th class="text-right">Amount</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="purchase_tbody">
|
||||
<t t-foreach="doc.line_ids" t-as="l">
|
||||
<tr>
|
||||
<td name="td_name" class="text-left">
|
||||
<span t-field="l.product_id" />
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.price_unit" />
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<span t-field="l.date_schedule" />
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span t-field="l.original_uom_qty" />
|
||||
<span
|
||||
t-field="l.product_uom"
|
||||
groups="uom.group_uom"
|
||||
/>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span
|
||||
t-field="l.price_subtotal"
|
||||
t-options='{"widget": "monetary", "display_currency": l.currency_id}'
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
<div id="total" class="row justify-content-end">
|
||||
<div class="col-4">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td>
|
||||
<strong>Subtotal</strong>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span
|
||||
t-field="doc.amount_untaxed"
|
||||
t-options='{"widget": "monetary", "display_currency": doc.currency_id}'
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Taxes</td>
|
||||
<td class="text-right">
|
||||
<span
|
||||
t-field="doc.amount_tax"
|
||||
t-options='{"widget": "monetary", "display_currency": doc.currency_id}'
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="border-black">
|
||||
<td>
|
||||
<strong>Total</strong>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span
|
||||
t-field="doc.amount_total"
|
||||
t-options='{"widget": "monetary", "display_currency": doc.currency_id}'
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<p t-field="doc.note" />
|
||||
<div class="oe_structure" />
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
<template id="report_blanketorder">
|
||||
<t t-call="web.html_container">
|
||||
<t t-foreach="docs" t-as="doc">
|
||||
<t
|
||||
t-call="purchase_blanket_order.report_blanketorder_document"
|
||||
t-lang="doc.partner_id.lang"
|
||||
/>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_purchase_blanket_order,purchase.order,model_purchase_blanket_order,purchase.group_purchase_manager,1,1,1,0
|
||||
access_purchase_blanket_order_line,purchase.order.line,model_purchase_blanket_order_line,purchase.group_purchase_manager,1,1,1,1
|
||||
access_purchase_blanket_order_manager,purchase.order.manager,model_purchase_blanket_order,purchase.group_purchase_manager,1,1,1,1
|
||||
access_purchase_blanket_order_line_manager,purchase.order.line.manager,model_purchase_blanket_order_line,purchase.group_purchase_manager,1,1,1,1
|
||||
access_purchase_blanket_order_accountant,purchase.order.accountant,model_purchase_blanket_order,account.group_account_user,1,1,0,0
|
||||
access_purchase_blanket_order_line_accountant,purchase.order.line accountant,model_purchase_blanket_order_line,account.group_account_user,1,1,0,0
|
||||
access_purchase_blanket_order_user,purchase.order user,model_purchase_blanket_order,base.group_user,1,0,0,0
|
||||
access_purchase_blanket_order_line_user,purchase.order.line user,model_purchase_blanket_order_line,base.group_user,1,0,0,0
|
||||
access_purchase_blanket_order_wizard_user,purchase.blanket.order.wizard user,model_purchase_blanket_order_wizard,base.group_user,1,1,1,0
|
||||
access_purchase_blanket_order_wizard_line_user,purchase.blanket.order.wizard.line user,model_purchase_blanket_order_wizard_line,base.group_user,1,1,1,1
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo noupdate="1">
|
||||
<record model="res.groups" id="purchase_blanket_orders_disable_adding_lines">
|
||||
<field
|
||||
name="name"
|
||||
>Disable adding more lines to POs from Purchase Blanket Orders</field>
|
||||
</record>
|
||||
<!-- Multi - Company Rules -->
|
||||
<record model="ir.rule" id="blanket_order_comp_rule">
|
||||
<field name="name">Blanket Order multi-company</field>
|
||||
<field name="model_id" ref="model_purchase_blanket_order" />
|
||||
<field name="global" eval="True" />
|
||||
<field
|
||||
name="domain_force"
|
||||
>['|', ('company_id','=',False), ('company_id','in',company_ids)]</field>
|
||||
</record>
|
||||
<record model="ir.rule" id="blanket_order_line_comp_rule">
|
||||
<field name="name">Blanket Order Line multi-company</field>
|
||||
<field name="model_id" ref="model_purchase_blanket_order_line" />
|
||||
<field name="global" eval="True" />
|
||||
<field
|
||||
name="domain_force"
|
||||
>['|', ('company_id','=',False), ('company_id','in',company_ids)]</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
|
|
@ -0,0 +1,472 @@
|
|||
<!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>Purchase Blanket Orders</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger (goodger@python.org)
|
||||
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
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: grey; } /* 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 {
|
||||
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" id="purchase-blanket-orders">
|
||||
<h1 class="title">Purchase Blanket Orders</h1>
|
||||
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! source digest: sha256:f258e9da8b80e585dcf4c52f80ed9cb7a7a5baa56d90fa049616aa58fc256b4f
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<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/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/purchase-workflow/tree/16.0/purchase_blanket_order"><img alt="OCA/purchase-workflow" src="https://img.shields.io/badge/github-OCA%2Fpurchase--workflow-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/purchase-workflow-16-0/purchase-workflow-16-0-purchase_blanket_order"><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/purchase-workflow&target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
||||
<p>A purchase blanket order is a pre-agreement to purchase a certain number of
|
||||
quantities of products at a specific price. From a confirmed blanket order,
|
||||
the users can create new purchase orders at such price, until the blanket
|
||||
order expires due to reaching the validity date.</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">
|
||||
<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1>
|
||||
<p>A new menu in the Purchase area is created, allowing users to create new blanket orders.</p>
|
||||
<p>To create a new Purchase Blanket Order go to the purchase menu in the Purchase section:</p>
|
||||
<img alt="Blanket Orders menu" src="https://raw.githubusercontent.com/purchase_blanket_order/static/description/BO_menu.png" />
|
||||
<p>Hitting the button create will open the form view in which we can introduce the following
|
||||
information:</p>
|
||||
<ul class="simple">
|
||||
<li>Vendor</li>
|
||||
<li>Payment Terms</li>
|
||||
<li>Ordering and Validity dates</li>
|
||||
<li><dl class="first docutils">
|
||||
<dt>Order lines:</dt>
|
||||
<dd><ul class="first last">
|
||||
<li>Product</li>
|
||||
<li>Accorded price</li>
|
||||
<li>Original, Ordered, Invoiced, Received and Remaining quantities</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li>Terms and Conditions of the Blanket Order</li>
|
||||
</ul>
|
||||
<img alt="Blanket Orders form" src="https://raw.githubusercontent.com/purchase_blanket_order/static/description/BO_form.png" />
|
||||
<p>From the form, once the Blanket Order has been confirmed and its state is open, the user can
|
||||
create a Purchase Order, check the Purchase Orders associated to the Blanket Order and/or
|
||||
see the Blanket Order lines associated to the BO.</p>
|
||||
<img alt="Actions that can be done from Blanket Order" src="https://raw.githubusercontent.com/purchase_blanket_order/static/description/BO_actions.png" />
|
||||
<p>Hitting the button Create Purchase Order will open a wizard that will ask for the amount of each
|
||||
product in the BO lines for which the Purchase Order will be created.</p>
|
||||
<img alt="Create Purchase Order from Blanket Order" src="https://raw.githubusercontent.com/purchase_blanket_order/static/description/PO_from_BO.png" />
|
||||
<p>Installing this module will add an additional menu which will show all the blanket order lines
|
||||
currently defined in the system. From this list the user can create customized Purchase Orders
|
||||
selecting the lines for which the PO (or POs if the vendors are different) is (are) created.</p>
|
||||
<img alt="Blanket Order lines and actions" src="https://raw.githubusercontent.com/purchase_blanket_order/static/description/BO_lines.png" />
|
||||
<p>In the Purchase Order form one field is added in the PO lines, the Blanket Order line field. This
|
||||
field keeps track to which Blanket Order line the PO line is associated. Upon adding a new product
|
||||
in a newly created Purchase Order a blanket order line will be suggested depending on the following
|
||||
factors:</p>
|
||||
<ul class="simple">
|
||||
<li>Closer Validity date</li>
|
||||
<li>Remaining quantity > Quantity introduced in the Purchase Order line</li>
|
||||
</ul>
|
||||
<img alt="New field added in Purchase Order Line" src="https://raw.githubusercontent.com/purchase_blanket_order/static/description/PO_BOLine.png" />
|
||||
</div>
|
||||
<div class="section" id="bug-tracker">
|
||||
<h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1>
|
||||
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/purchase-workflow/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/purchase-workflow/issues/new?body=module:%20purchase_blanket_order%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">
|
||||
<h1><a class="toc-backref" href="#toc-entry-3">Credits</a></h1>
|
||||
<div class="section" id="authors">
|
||||
<h2><a class="toc-backref" href="#toc-entry-4">Authors</a></h2>
|
||||
<ul class="simple">
|
||||
<li>ForgeFlow</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="contributors">
|
||||
<h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
|
||||
<ul class="simple">
|
||||
<li>Adrià Gil Sorribes <<a class="reference external" href="mailto:adria.gil@forgeflow.com">adria.gil@forgeflow.com</a>></li>
|
||||
<li>Jordi Ballester Alomar <<a class="reference external" href="mailto:jordi.ballester@forgeflow.com">jordi.ballester@forgeflow.com</a>></li>
|
||||
<li>Héctor Villarreal <<a class="reference external" href="mailto:hector.villarreal@forgeflow.com">hector.villarreal@forgeflow.com</a>></li>
|
||||
<li>Lois Rilo <<a class="reference external" href="mailto:lois.rilo@forgeflow.com">lois.rilo@forgeflow.com</a>></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="maintainers">
|
||||
<h2><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h2>
|
||||
<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/purchase-workflow/tree/16.0/purchase_blanket_order">OCA/purchase-workflow</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>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from . import test_purchase_blanket_order
|
||||
from . import test_purchase_order
|
||||
|
|
@ -0,0 +1,298 @@
|
|||
# Copyright (C) 2018 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
from datetime import date, timedelta
|
||||
|
||||
from odoo import fields
|
||||
from odoo.exceptions import UserError
|
||||
from odoo.tests import common
|
||||
|
||||
|
||||
class TestPurchaseBlanketOrders(common.TransactionCase):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.blanket_order_obj = self.env["purchase.blanket.order"]
|
||||
self.blanket_order_line_obj = self.env["purchase.blanket.order.line"]
|
||||
self.blanket_order_wiz_obj = self.env["purchase.blanket.order.wizard"]
|
||||
|
||||
self.user_test = self.env["res.users"].create(
|
||||
{"name": "Test user", "login": "test_login"}
|
||||
)
|
||||
self.partner = self.env["res.partner"].create(
|
||||
{"name": "TEST SUPPLIER", "supplier_rank": 1}
|
||||
)
|
||||
self.payment_term = self.env.ref("account.account_payment_term_30days")
|
||||
|
||||
# Seller IDS
|
||||
seller = self.env["product.supplierinfo"].create(
|
||||
{"partner_id": self.partner.id, "price": 30.0}
|
||||
)
|
||||
|
||||
self.product = self.env["product.product"].create(
|
||||
{
|
||||
"name": "Demo",
|
||||
"categ_id": self.env.ref("product.product_category_1").id,
|
||||
"standard_price": 35.0,
|
||||
"seller_ids": [(6, 0, [seller.id])],
|
||||
"type": "consu",
|
||||
"uom_id": self.env.ref("uom.product_uom_unit").id,
|
||||
"default_code": "PROD_DEL01",
|
||||
"description_purchase": "Purchase Description",
|
||||
}
|
||||
)
|
||||
self.product2 = self.env["product.product"].create(
|
||||
{
|
||||
"name": "Demo 2",
|
||||
"categ_id": self.env.ref("product.product_category_1").id,
|
||||
"standard_price": 50.0,
|
||||
"type": "consu",
|
||||
"uom_id": self.env.ref("uom.product_uom_unit").id,
|
||||
"default_code": "PROD_DEL02",
|
||||
}
|
||||
)
|
||||
|
||||
self.yesterday = date.today() - timedelta(days=1)
|
||||
self.tomorrow = date.today() + timedelta(days=1)
|
||||
|
||||
def _get_po_from_wizard(self, res):
|
||||
return self.env[res["res_model"]].search(res["domain"])
|
||||
|
||||
def test_01_create_blanket_order_flow(self):
|
||||
"""We create a blanket order and check constrains to confirm BO"""
|
||||
blanket_order = self.blanket_order_obj.create(
|
||||
{
|
||||
"partner_id": self.partner.id,
|
||||
"validity_date": fields.Date.to_string(self.yesterday),
|
||||
"payment_term_id": self.payment_term.id,
|
||||
"line_ids": [
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"product_id": self.product.id,
|
||||
"original_uom_qty": 20.0,
|
||||
"price_unit": 0.0, # will be updated later
|
||||
"product_uom": self.product.uom_id.id,
|
||||
},
|
||||
)
|
||||
],
|
||||
}
|
||||
)
|
||||
blanket_order.sudo().onchange_partner_id()
|
||||
blanket_order.line_ids[0].write({"product_uom": False})
|
||||
blanket_order.line_ids[0].sudo().onchange_product()
|
||||
blanket_order._compute_line_count()
|
||||
blanket_order._compute_uom_qty()
|
||||
name = (
|
||||
"[{}] {}".format(self.product.name, self.product.code)
|
||||
+ "\n"
|
||||
+ self.product.description_purchase
|
||||
)
|
||||
self.assertEqual(blanket_order.line_ids[0].name, name)
|
||||
self.assertEqual(blanket_order.line_ids[0].product_uom, self.product.uom_id)
|
||||
|
||||
self.assertEqual(blanket_order.state, "draft")
|
||||
self.assertEqual(blanket_order.line_ids[0].price_unit, 30.0)
|
||||
self.assertEqual(blanket_order.original_uom_qty, 20.0)
|
||||
self.assertEqual(blanket_order.ordered_uom_qty, 0.0)
|
||||
self.assertEqual(blanket_order.remaining_uom_qty, 20.0)
|
||||
|
||||
# date in the past
|
||||
with self.assertRaises(UserError):
|
||||
blanket_order.sudo().action_confirm()
|
||||
|
||||
blanket_order.validity_date = fields.Date.to_string(self.tomorrow)
|
||||
initial_name = blanket_order.name
|
||||
blanket_order.sudo().action_confirm()
|
||||
self.assertNotEqual(initial_name, blanket_order.name)
|
||||
|
||||
blanket_order.sudo().action_cancel()
|
||||
self.assertEqual(blanket_order.state, "expired")
|
||||
blanket_order.sudo().set_to_draft()
|
||||
self.assertEqual(blanket_order.state, "draft")
|
||||
previous_name = blanket_order.name
|
||||
blanket_order.sudo().action_confirm()
|
||||
self.assertEqual(previous_name, blanket_order.name)
|
||||
|
||||
self.assertEqual(blanket_order.state, "open")
|
||||
blanket_order.action_view_purchase_blanket_order_line()
|
||||
|
||||
# Search view check
|
||||
blanket_order._search_original_uom_qty(">=", 0.0)
|
||||
blanket_order._search_ordered_uom_qty(">=", 0.0)
|
||||
blanket_order._search_invoiced_uom_qty(">=", 0.0)
|
||||
blanket_order._search_received_uom_qty(">=", 0.0)
|
||||
blanket_order._search_remaining_uom_qty(">=", 0.0)
|
||||
|
||||
def test_02_create_purchase_orders_from_blanket_order(self):
|
||||
"""We create a blanket order and create two purchase orders"""
|
||||
blanket_order = self.blanket_order_obj.create(
|
||||
{
|
||||
"partner_id": self.partner.id,
|
||||
"partner_ref": "REF",
|
||||
"validity_date": fields.Date.to_string(self.tomorrow),
|
||||
"payment_term_id": self.payment_term.id,
|
||||
"line_ids": [
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"product_id": self.product.id,
|
||||
"product_uom": self.product.uom_id.id,
|
||||
"original_uom_qty": 20.0,
|
||||
"price_unit": 30.0,
|
||||
},
|
||||
)
|
||||
],
|
||||
}
|
||||
)
|
||||
blanket_order.sudo().onchange_partner_id()
|
||||
|
||||
with self.assertRaises(UserError):
|
||||
# Blanket order is not confirmed
|
||||
self.blanket_order_wiz_obj.with_context(
|
||||
active_id=blanket_order.id, active_model="purchase.blanket.order"
|
||||
).create({})
|
||||
blanket_order.sudo().action_confirm()
|
||||
|
||||
wizard1 = self.blanket_order_wiz_obj.with_context(
|
||||
active_id=blanket_order.id, active_model="purchase.blanket.order"
|
||||
).create({})
|
||||
wizard1.line_ids[0].write({"qty": 30.0})
|
||||
|
||||
with self.assertRaises(UserError):
|
||||
# Wizard quantity greater than remaining quantity
|
||||
wizard1.sudo().create_purchase_order()
|
||||
wizard1.line_ids[0].write({"qty": 10.0})
|
||||
res = wizard1.sudo().create_purchase_order()
|
||||
po = self._get_po_from_wizard(res)
|
||||
self.assertEqual(po.partner_ref, "REF")
|
||||
|
||||
wizard2 = self.blanket_order_wiz_obj.with_context(
|
||||
active_id=blanket_order.id, active_model="purchase.blanket.order"
|
||||
).create({})
|
||||
wizard2.line_ids[0].write({"qty": 10.0})
|
||||
res = wizard2.sudo().create_purchase_order()
|
||||
po = self._get_po_from_wizard(res)
|
||||
self.assertEqual(po.partner_ref, "REF")
|
||||
|
||||
with self.assertRaises(UserError):
|
||||
# Blanket order already completed
|
||||
self.blanket_order_wiz_obj.with_context(
|
||||
active_id=blanket_order.id, active_model="purchase.blanket.order"
|
||||
).create({})
|
||||
|
||||
self.assertEqual(blanket_order.state, "done")
|
||||
|
||||
self.assertEqual(blanket_order.purchase_count, 2)
|
||||
|
||||
view_action = blanket_order.action_view_purchase_orders()
|
||||
domain_ids = view_action["domain"][0][2]
|
||||
self.assertEqual(len(domain_ids), 2)
|
||||
|
||||
def test_03_create_purchase_orders_from_blanket_order_line(self):
|
||||
"""We create a blanket order and create two purchase orders
|
||||
from the blanket order lines"""
|
||||
blanket_order = self.blanket_order_obj.create(
|
||||
{
|
||||
"partner_id": self.partner.id,
|
||||
"partner_ref": "REF",
|
||||
"validity_date": fields.Date.to_string(self.tomorrow),
|
||||
"payment_term_id": self.payment_term.id,
|
||||
"line_ids": [
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"product_id": self.product.id,
|
||||
"product_uom": self.product.uom_id.id,
|
||||
"original_uom_qty": 20.0,
|
||||
"price_unit": 30.0,
|
||||
},
|
||||
),
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"product_id": self.product2.id,
|
||||
"product_uom": self.product2.uom_id.id,
|
||||
"original_uom_qty": 50.0,
|
||||
"price_unit": 60.0,
|
||||
},
|
||||
),
|
||||
],
|
||||
}
|
||||
)
|
||||
blanket_order.sudo().onchange_partner_id()
|
||||
blanket_order.sudo().action_confirm()
|
||||
|
||||
bo_lines = blanket_order.line_ids
|
||||
self.assertEqual(blanket_order.line_count, 2)
|
||||
|
||||
wizard1 = self.blanket_order_wiz_obj.with_context(
|
||||
active_ids=[bo_lines[0].id, bo_lines[1].id]
|
||||
).create({})
|
||||
self.assertEqual(len(wizard1.line_ids), 2)
|
||||
wizard1.line_ids[0].write({"qty": 10.0})
|
||||
wizard1.line_ids[1].write({"qty": 20.0})
|
||||
wizard1.sudo().create_purchase_order()
|
||||
|
||||
self.assertEqual(bo_lines[0].remaining_uom_qty, 10.0)
|
||||
self.assertEqual(bo_lines[1].remaining_uom_qty, 30.0)
|
||||
|
||||
def test_04_constraints_blanket_order(self):
|
||||
"""We create a blanket order and check constraints"""
|
||||
blanket_order = self.blanket_order_obj.create(
|
||||
{
|
||||
"partner_id": self.partner.id,
|
||||
"partner_ref": "REF",
|
||||
"validity_date": fields.Date.to_string(self.tomorrow),
|
||||
"payment_term_id": self.payment_term.id,
|
||||
"line_ids": [
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"product_id": self.product.id,
|
||||
"product_uom": self.product.uom_id.id,
|
||||
"original_uom_qty": 20.0,
|
||||
"price_unit": 30.0,
|
||||
},
|
||||
)
|
||||
],
|
||||
}
|
||||
)
|
||||
blanket_order.write({"partner_id": False})
|
||||
blanket_order.onchange_partner_id()
|
||||
self.assertFalse(blanket_order.payment_term_id)
|
||||
self.assertFalse(blanket_order.fiscal_position_id)
|
||||
|
||||
self.partner.user_id = self.user_test
|
||||
blanket_order.write({"partner_id": self.partner.id})
|
||||
blanket_order.onchange_partner_id()
|
||||
self.assertEqual(blanket_order.user_id, self.user_test)
|
||||
blanket_order.sudo().action_confirm()
|
||||
self.assertEqual(blanket_order.state, "open")
|
||||
|
||||
# remove open BO
|
||||
with self.assertRaises(UserError):
|
||||
blanket_order.sudo().unlink()
|
||||
|
||||
wizard1 = self.blanket_order_wiz_obj.with_context(
|
||||
active_id=blanket_order.id, active_model="purchase.blanket.order"
|
||||
).create({})
|
||||
wizard1.line_ids[0].write({"qty": 10.0})
|
||||
res = wizard1.sudo().create_purchase_order()
|
||||
po = self._get_po_from_wizard(res)
|
||||
|
||||
# cancel BO with PO not cancelled
|
||||
with self.assertRaises(UserError):
|
||||
blanket_order.sudo().action_cancel()
|
||||
|
||||
po.button_cancel()
|
||||
blanket_order.sudo().action_cancel()
|
||||
|
||||
with self.assertRaises(UserError):
|
||||
# Blanket order expired
|
||||
self.blanket_order_wiz_obj.with_context(
|
||||
active_id=blanket_order.id, active_model="purchase.blanket.order"
|
||||
).create({})
|
||||
|
|
@ -0,0 +1,217 @@
|
|||
# Copyright (C) 2018 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
from datetime import date, timedelta
|
||||
|
||||
from odoo import fields
|
||||
from odoo.exceptions import ValidationError
|
||||
from odoo.tests import common
|
||||
|
||||
|
||||
class TestPurchaseOrder(common.TransactionCase):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.blanket_order_obj = self.env["purchase.blanket.order"]
|
||||
self.blanket_order_line_obj = self.env["purchase.blanket.order.line"]
|
||||
self.purchase_order_obj = self.env["purchase.order"]
|
||||
self.purchase_order_line_obj = self.env["purchase.order.line"]
|
||||
|
||||
self.partner = self.env["res.partner"].create(
|
||||
{"name": "TEST SUPPLIER", "supplier_rank": 1}
|
||||
)
|
||||
self.partner_2 = self.env["res.partner"].create(
|
||||
{"name": "TEST SUPPLIER 2", "supplier_rank": 2}
|
||||
)
|
||||
self.payment_term = self.env.ref("account.account_payment_term_30days")
|
||||
|
||||
# Seller IDS
|
||||
seller = self.env["product.supplierinfo"].create(
|
||||
{"partner_id": self.partner.id, "price": 30.0}
|
||||
)
|
||||
|
||||
self.product = self.env["product.product"].create(
|
||||
{
|
||||
"name": "Demo",
|
||||
"categ_id": self.env.ref("product.product_category_1").id,
|
||||
"standard_price": 35.0,
|
||||
"seller_ids": [(6, 0, [seller.id])],
|
||||
"type": "consu",
|
||||
"uom_id": self.env.ref("uom.product_uom_unit").id,
|
||||
"default_code": "PROD_DEL01",
|
||||
}
|
||||
)
|
||||
self.product_2 = self.env["product.product"].create(
|
||||
{
|
||||
"name": "Demo 2",
|
||||
"categ_id": self.env.ref("product.product_category_1").id,
|
||||
"standard_price": 35.0,
|
||||
"seller_ids": [(6, 0, [seller.id])],
|
||||
"type": "consu",
|
||||
"uom_id": self.env.ref("uom.product_uom_unit").id,
|
||||
"default_code": "PROD_DEL02",
|
||||
}
|
||||
)
|
||||
self.validity = date.today() + timedelta(days=365)
|
||||
self.date_schedule_1 = date.today() + timedelta(days=10)
|
||||
self.date_schedule_2 = date.today() + timedelta(days=20)
|
||||
self.currency_test = self.env["res.currency"].create(
|
||||
{"name": "Test Currency", "symbol": "T"}
|
||||
)
|
||||
|
||||
def create_blanket_order_01(self):
|
||||
blanket_order = self.blanket_order_obj.create(
|
||||
{
|
||||
"partner_id": self.partner.id,
|
||||
"validity_date": fields.Date.to_string(self.validity),
|
||||
"payment_term_id": self.payment_term.id,
|
||||
"line_ids": [
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"product_id": self.product.id,
|
||||
"product_uom": self.product.uom_id.id,
|
||||
"date_schedule": fields.Date.to_string(
|
||||
self.date_schedule_1
|
||||
),
|
||||
"original_uom_qty": 20.0,
|
||||
"price_unit": 30.0,
|
||||
},
|
||||
),
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"product_id": self.product.id,
|
||||
"product_uom": self.product.uom_id.id,
|
||||
"date_schedule": fields.Date.to_string(
|
||||
self.date_schedule_2
|
||||
),
|
||||
"original_uom_qty": 20.0,
|
||||
"price_unit": 30.0,
|
||||
},
|
||||
),
|
||||
],
|
||||
}
|
||||
)
|
||||
blanket_order.sudo().onchange_partner_id()
|
||||
return blanket_order
|
||||
|
||||
def create_blanket_order_02(self):
|
||||
blanket_order = self.blanket_order_obj.create(
|
||||
{
|
||||
"partner_id": self.partner.id,
|
||||
"validity_date": fields.Date.to_string(self.validity),
|
||||
"payment_term_id": self.payment_term.id,
|
||||
"line_ids": [
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"product_id": self.product.id,
|
||||
"product_uom": self.product.uom_id.id,
|
||||
"original_uom_qty": 20.0,
|
||||
"price_unit": 30.0,
|
||||
},
|
||||
),
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"product_id": self.product_2.id,
|
||||
"product_uom": self.product.uom_id.id,
|
||||
"original_uom_qty": 20.0,
|
||||
"price_unit": 30.0,
|
||||
},
|
||||
),
|
||||
],
|
||||
}
|
||||
)
|
||||
blanket_order.sudo().onchange_partner_id()
|
||||
return blanket_order
|
||||
|
||||
def test_01_create_purchase_order(self):
|
||||
blanket_order = self.create_blanket_order_01()
|
||||
blanket_order.sudo().action_confirm()
|
||||
bo_lines = self.blanket_order_line_obj.search(
|
||||
[("order_id", "=", blanket_order.id)]
|
||||
)
|
||||
self.assertEqual(len(bo_lines), 2)
|
||||
|
||||
po = self.purchase_order_obj.create(
|
||||
{
|
||||
"partner_id": self.partner.id,
|
||||
"order_line": [
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"name": self.product.name,
|
||||
"product_id": self.product.id,
|
||||
"product_qty": 5.0,
|
||||
"product_uom": self.product.uom_po_id.id,
|
||||
"date_planned": date.today(),
|
||||
"price_unit": 10.0,
|
||||
},
|
||||
)
|
||||
],
|
||||
}
|
||||
)
|
||||
po_line = po.order_line[0]
|
||||
po_line.with_context(from_purchase_order=True).name_get()
|
||||
po_line.onchange_product_id()
|
||||
self.assertEqual(po_line._get_eligible_bo_lines(), bo_lines)
|
||||
bo_line_assigned = self.blanket_order_line_obj.search(
|
||||
[("date_schedule", "=", fields.Date.to_string(self.date_schedule_1))]
|
||||
)
|
||||
self.assertEqual(po_line.blanket_order_line, bo_line_assigned)
|
||||
|
||||
def test_02_create_purchase_order(self):
|
||||
blanket_order = self.create_blanket_order_02()
|
||||
blanket_order.sudo().action_confirm()
|
||||
bo_lines = self.blanket_order_line_obj.search(
|
||||
[("order_id", "=", blanket_order.id)]
|
||||
)
|
||||
self.assertEqual(len(bo_lines), 2)
|
||||
|
||||
po = self.purchase_order_obj.create(
|
||||
{
|
||||
"partner_id": self.partner.id,
|
||||
"order_line": [
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"name": self.product.name,
|
||||
"product_id": self.product.id,
|
||||
"product_qty": 5.0,
|
||||
"product_uom": self.product.uom_po_id.id,
|
||||
"date_planned": date.today(),
|
||||
"price_unit": 10.0,
|
||||
},
|
||||
)
|
||||
],
|
||||
}
|
||||
)
|
||||
po_line = po.order_line[0]
|
||||
po_line.with_context(from_purchase_order=True).name_get()
|
||||
po_line.onchange_product_id()
|
||||
self.assertEqual(
|
||||
po_line._get_eligible_bo_lines(),
|
||||
bo_lines.filtered(lambda l: l.product_id == self.product),
|
||||
)
|
||||
bo_line_assigned = self.blanket_order_line_obj.search(
|
||||
[
|
||||
("order_id", "=", blanket_order.id),
|
||||
("product_id", "=", self.product.id),
|
||||
("date_schedule", "=", False),
|
||||
]
|
||||
)
|
||||
self.assertEqual(po_line.blanket_order_line, bo_line_assigned)
|
||||
|
||||
# change currency of the PO line
|
||||
with self.assertRaises(ValidationError):
|
||||
po.write({"currency_id": self.currency_test})
|
||||
|
||||
# change partner of the PO line
|
||||
with self.assertRaises(ValidationError):
|
||||
po.write({"partner_id": self.partner_2})
|
||||
|
|
@ -0,0 +1,455 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!-- # Copyright (C) 2018 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
<record id="view_purchase_blanket_order_tree" model="ir.ui.view">
|
||||
<field name="name">purchase.blanket.order.tree</field>
|
||||
<field name="model">purchase.blanket.order</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree
|
||||
decoration-info="state in ('draft','to_approve')"
|
||||
decoration-muted="state in ('expired')"
|
||||
>
|
||||
<field name="date_start" />
|
||||
<field name="partner_ref" optional="hide" />
|
||||
<field name="name" />
|
||||
<field name="user_id" />
|
||||
<field name="partner_id" />
|
||||
<field name="validity_date" />
|
||||
<field name="activity_ids" widget="list_activity" />
|
||||
<field name="state" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_purchase_blanket_order_form" model="ir.ui.view">
|
||||
<field name="name">purchase.blanket.order.form</field>
|
||||
<field name="model">purchase.blanket.order</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Blanket Order">
|
||||
<header>
|
||||
<button
|
||||
name="%(action_create_purchase_order)d"
|
||||
string="Create Purchase Order"
|
||||
type="action"
|
||||
class="btn-primary"
|
||||
attrs="{'invisible': [('state', '!=', 'open')]}"
|
||||
/>
|
||||
<button
|
||||
name="set_to_draft"
|
||||
states="expired,done"
|
||||
string="To Draft"
|
||||
class="btn-secondary"
|
||||
type="object"
|
||||
/>
|
||||
<button
|
||||
name="action_cancel"
|
||||
states="open"
|
||||
string="Cancel"
|
||||
class="btn-secondary"
|
||||
type="object"
|
||||
/>
|
||||
<button
|
||||
name="action_confirm"
|
||||
states="draft"
|
||||
string="Confirm"
|
||||
class="btn-primary o_purchase_confirm"
|
||||
type="object"
|
||||
/>
|
||||
<field
|
||||
name="state"
|
||||
widget="statusbar"
|
||||
statusbar_visible="draft,open,expired"
|
||||
/>
|
||||
</header>
|
||||
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button
|
||||
name="action_view_purchase_orders"
|
||||
type="object"
|
||||
class="oe_stat_button"
|
||||
icon="fa-list-alt"
|
||||
>
|
||||
<field
|
||||
name="purchase_count"
|
||||
widget="statinfo"
|
||||
string="RFQ/Orders"
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
type="object"
|
||||
name="action_view_purchase_blanket_order_line"
|
||||
class="oe_stat_button"
|
||||
attrs="{'invisible':[('line_count', '=', 0)]}"
|
||||
icon="fa-list"
|
||||
>
|
||||
<field name="line_count" widget="statinfo" string="Lines" />
|
||||
</button>
|
||||
</div>
|
||||
<div class="oe_title">
|
||||
<h1>
|
||||
<field name="name" readonly="1" />
|
||||
</h1>
|
||||
</div>
|
||||
<group name="group_top">
|
||||
<group name="group_top_left">
|
||||
<field
|
||||
name="partner_id"
|
||||
attrs="{'required': [('state', '=', 'draft')]}"
|
||||
context="{'res_partner_search_mode': 'supplier', 'show_address': 1}"
|
||||
options='{"always_reload": True}'
|
||||
/>
|
||||
<field name="partner_ref" />
|
||||
</group>
|
||||
<group name="group_top_right">
|
||||
<field
|
||||
name="currency_id"
|
||||
groups="base.group_multi_currency"
|
||||
options="{'no_create': True}"
|
||||
/>
|
||||
<field name="user_id" />
|
||||
<field
|
||||
name="company_id"
|
||||
groups="base.group_multi_company"
|
||||
options="{'no_create': True}"
|
||||
/>
|
||||
<field name="company_id" invisible="1" />
|
||||
</group>
|
||||
</group>
|
||||
<group name="group_bottom">
|
||||
<group name="group_bottom_left">
|
||||
<field
|
||||
name="date_start"
|
||||
attrs="{'required': [('state', '=', 'draft')]}"
|
||||
/>
|
||||
</group>
|
||||
<group name="group_bottom_right">
|
||||
<field
|
||||
name="validity_date"
|
||||
attrs="{'required': [('state', '=', 'draft')]}"
|
||||
/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Order Lines">
|
||||
<field
|
||||
name="line_ids"
|
||||
force_save="1"
|
||||
attrs="{'readonly': [('state', 'in', ('done','expired'))]}"
|
||||
>
|
||||
<tree editable="bottom">
|
||||
<field name="sequence" widget="handle" />
|
||||
<field name="name" invisible="1" />
|
||||
<field
|
||||
name="product_id"
|
||||
context="{'partner_id':parent.partner_id, 'quantity':original_uom_qty, 'company_id': parent.company_id}"
|
||||
/>
|
||||
<field
|
||||
name="original_uom_qty"
|
||||
string="Original Qty"
|
||||
context="{'partner_id':parent.partner_id, 'quantity':original_uom_qty, 'company_id': parent.company_id}"
|
||||
/>
|
||||
<field name="product_uom" groups="uom.group_uom" />
|
||||
<field name="price_unit" />
|
||||
<field name="date_schedule" />
|
||||
<field name="ordered_uom_qty" />
|
||||
<field name="invoiced_uom_qty" />
|
||||
<field name="received_uom_qty" />
|
||||
<field name="remaining_uom_qty" />
|
||||
<field
|
||||
name="taxes_id"
|
||||
widget="many2many_tags"
|
||||
domain="[('type_tax_use','=','purchase')]"
|
||||
context="{'default_type_tax_use': 'purchase'}"
|
||||
options="{'no_create': True}"
|
||||
/>
|
||||
<field name="price_subtotal" widget="monetary" />
|
||||
</tree>
|
||||
</field>
|
||||
<group class="oe_subtotal_footer oe_right">
|
||||
<field
|
||||
name="amount_untaxed"
|
||||
widget="monetary"
|
||||
options="{'currency_field': 'currency_id'}"
|
||||
/>
|
||||
<field
|
||||
name="amount_tax"
|
||||
widget="monetary"
|
||||
options="{'currency_field': 'currency_id'}"
|
||||
/>
|
||||
<div class="oe_subtotal_footer_separator oe_inline">
|
||||
<label for="amount_total" />
|
||||
</div>
|
||||
<field
|
||||
name="amount_total"
|
||||
nolabel="1"
|
||||
class="oe_subtotal_footer_separator"
|
||||
widget="monetary"
|
||||
options="{'currency_field': 'currency_id'}"
|
||||
/>
|
||||
</group>
|
||||
<separator string="Terms and Conditions" />
|
||||
<field
|
||||
name="note"
|
||||
class="oe_inline"
|
||||
placeholder="Setup default terms and conditions in your company settings."
|
||||
/>
|
||||
<div class="oe_clear" />
|
||||
</page>
|
||||
<page name="other_info" string="Other Information">
|
||||
<group
|
||||
name="invoice_information"
|
||||
string="Invoice Information"
|
||||
>
|
||||
<field
|
||||
name="payment_term_id"
|
||||
attrs="{'readonly': [('state', '=', 'done')]}"
|
||||
options="{'no_create': True}"
|
||||
/>
|
||||
<field
|
||||
name="fiscal_position_id"
|
||||
options="{'no_create': True}"
|
||||
attrs="{'readonly': [('state', '=', 'done')]}"
|
||||
/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" widget="mail_followers" />
|
||||
<field name="activity_ids" widget="mail_activity" />
|
||||
<field name="message_ids" widget="mail_thread" />
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_purchase_blanket_order_search" model="ir.ui.view">
|
||||
<field name="name">purchase.blanket.order.search</field>
|
||||
<field name="model">purchase.blanket.order</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<filter
|
||||
name="state_open"
|
||||
string="Open"
|
||||
domain="[('state','=', 'open')]"
|
||||
/>
|
||||
<filter
|
||||
name="original_uom_qty"
|
||||
string="Original Qty"
|
||||
domain="[('original_uom_qty','>',0.0)]"
|
||||
/>
|
||||
<filter
|
||||
name="ordered_uom_qty"
|
||||
string="Ordered Qty"
|
||||
domain="[('ordered_uom_qty','>',0.0)]"
|
||||
/>
|
||||
<filter
|
||||
name="invoiced_uom_qty"
|
||||
string="Invoiced Qty"
|
||||
domain="[('invoiced_uom_qty','>',0.0)]"
|
||||
/>
|
||||
<filter
|
||||
name="received_uom_qty"
|
||||
string="Received Qty"
|
||||
domain="[('received_uom_qty','>',0.0)]"
|
||||
/>
|
||||
<filter
|
||||
name="remaining_uom_qty"
|
||||
string="Remaining Qty"
|
||||
domain="[('remaining_uom_qty','>',0.0)]"
|
||||
/>
|
||||
<group>
|
||||
<field name="name" />
|
||||
<field name="partner_id" />
|
||||
<field name="product_id" />
|
||||
<field name="state" />
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_open_purchase_blanket_order_view">
|
||||
<field name="name">Blanket Orders</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">purchase.blanket.order</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_purchase_blanket_order_search" />
|
||||
<field name="domain">[]</field>
|
||||
<field name="context">{}</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to create a blanket order that can be converted into a purchase order.
|
||||
</p>
|
||||
<p>
|
||||
Use this menu to search within your blanket orders. For each blanket order,
|
||||
you can track the related discussion with the vendor, control
|
||||
the products received and control the vendor bills.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<record id="purchase_blanket_order_line_tree" model="ir.ui.view">
|
||||
<field name="name">purchase.blanket.order.line.tree</field>
|
||||
<field name="model">purchase.blanket.order.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree create="false">
|
||||
<field name="sequence" widget="handle" />
|
||||
<field name="name" invisible="1" />
|
||||
<field name="order_id" />
|
||||
<field
|
||||
name="product_id"
|
||||
context="{'partner_id':parent.partner_id, 'quantity':original_uom_qty, 'company_id': parent.company_id}"
|
||||
/>
|
||||
<field name="product_uom" invisible="1" />
|
||||
<field name="price_unit" />
|
||||
<field name="date_schedule" />
|
||||
<field
|
||||
name="original_uom_qty"
|
||||
string="Original Qty"
|
||||
context="{'partner_id':parent.partner_id, 'quantity':original_uom_qty, 'company_id': parent.company_id}"
|
||||
/>
|
||||
<field name="ordered_uom_qty" />
|
||||
<field name="invoiced_uom_qty" />
|
||||
<field name="received_uom_qty" />
|
||||
<field name="remaining_uom_qty" />
|
||||
<field name="activity_ids" widget="list_activity" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="purchase_blanket_order_line_form" model="ir.ui.view">
|
||||
<field name="name">purchase.blanket.order.line.form</field>
|
||||
<field name="model">purchase.blanket.order.line</field>
|
||||
<field name="priority" eval="20" />
|
||||
<field name="arch" type="xml">
|
||||
<form string="Purchase Blanket Order Line" duplicate="false">
|
||||
<sheet>
|
||||
<h1>
|
||||
<field name="order_id" />
|
||||
</h1>
|
||||
<group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="product_id" readonly="1" />
|
||||
<field name="price_unit" readonly="1" />
|
||||
<field name="partner_id" readonly="1" />
|
||||
<field name="date_schedule" readonly="1" />
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<label for="original_uom_qty" />
|
||||
<div>
|
||||
<field
|
||||
name="original_uom_qty"
|
||||
class="oe_inline"
|
||||
readonly="1"
|
||||
/>
|
||||
<field
|
||||
name="product_uom"
|
||||
groups="uom.group_uom"
|
||||
class="oe_inline"
|
||||
readonly="1"
|
||||
/>
|
||||
</div>
|
||||
<label for="ordered_uom_qty" />
|
||||
<div>
|
||||
<field
|
||||
name="ordered_uom_qty"
|
||||
class="oe_inline"
|
||||
readonly="1"
|
||||
/>
|
||||
<field
|
||||
name="product_uom"
|
||||
groups="uom.group_uom"
|
||||
class="oe_inline"
|
||||
readonly="1"
|
||||
/>
|
||||
</div>
|
||||
<label for="invoiced_uom_qty" />
|
||||
<div>
|
||||
<field
|
||||
name="invoiced_uom_qty"
|
||||
class="oe_inline"
|
||||
readonly="1"
|
||||
/>
|
||||
<field
|
||||
name="product_uom"
|
||||
groups="uom.group_uom"
|
||||
class="oe_inline"
|
||||
readonly="1"
|
||||
/>
|
||||
</div>
|
||||
<label for="remaining_uom_qty" />
|
||||
<div>
|
||||
<field
|
||||
name="remaining_uom_qty"
|
||||
class="oe_inline"
|
||||
readonly="1"
|
||||
/>
|
||||
<field
|
||||
name="product_uom"
|
||||
groups="uom.group_uom"
|
||||
class="oe_inline"
|
||||
readonly="1"
|
||||
/>
|
||||
</div>
|
||||
<label for="remaining_qty" />
|
||||
<div>
|
||||
<field
|
||||
name="remaining_qty"
|
||||
class="oe_inline"
|
||||
readonly="1"
|
||||
/>
|
||||
</div>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="purchase_lines" string="Purchase Order Lines">
|
||||
<field
|
||||
name="purchase_lines"
|
||||
mode="tree"
|
||||
readonly="1"
|
||||
domain="[('product_id', '=', product_id)]"
|
||||
/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" widget="mail_followers" />
|
||||
<field name="activity_ids" widget="mail_activity" />
|
||||
<field name="message_ids" widget="mail_thread" />
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="purchase_blanket_order_line_search" model="ir.ui.view">
|
||||
<field name="name">purchase.blanket.order.line.search</field>
|
||||
<field name="model">purchase.blanket.order.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Purchase Blanket Order Line">
|
||||
<field name="product_id" />
|
||||
<field name="date_schedule" />
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record
|
||||
id="act_open_purchase_blanket_order_lines_view_tree"
|
||||
model="ir.actions.act_window"
|
||||
>
|
||||
<field name="name">Blanket Order Lines</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">purchase.blanket.order.line</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="purchase_blanket_order_line_search" />
|
||||
</record>
|
||||
<menuitem
|
||||
id="menu_purchase_blanket_order_config"
|
||||
parent="purchase.menu_procurement_management"
|
||||
groups="purchase.group_purchase_manager"
|
||||
sequence="8"
|
||||
action="act_open_purchase_blanket_order_view"
|
||||
/>
|
||||
<menuitem
|
||||
action="act_open_purchase_blanket_order_lines_view_tree"
|
||||
id="menu_purchase_blanket_order_line"
|
||||
sequence="9"
|
||||
parent="purchase.menu_procurement_management"
|
||||
/>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- # Copyright (C) 2018 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
<record model="ir.ui.view" id="purchase_config_settings_form_view">
|
||||
<field name="name">res.config.settings.form (in purchase_blanket_order)</field>
|
||||
<field name="model">res.config.settings</field>
|
||||
<field
|
||||
name="inherit_id"
|
||||
ref="purchase.res_config_settings_view_form_purchase"
|
||||
/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath
|
||||
expr="//div[hasclass('row','mt16','o_settings_container')][position() = 3]"
|
||||
position="after"
|
||||
>
|
||||
<h2>Blanket Orders</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="group_purchase_blanket_disable_adding_lines" />
|
||||
</div>
|
||||
<div class="o_setting_right_pane">
|
||||
<label for="group_purchase_blanket_disable_adding_lines" />
|
||||
<div class="text-muted">
|
||||
Disable adding more lines to POs from Blanket Orders
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!-- # Copyright (C) 2018 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
<record id="purchase_order_form" model="ir.ui.view">
|
||||
<field name="name">purchase.order.from.blanket.form</field>
|
||||
<field name="model">purchase.order</field>
|
||||
<field name="inherit_id" ref="purchase.purchase_order_form" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath
|
||||
expr="//field[@name='order_line']//field[@name='date_planned']"
|
||||
position="after"
|
||||
>
|
||||
<field
|
||||
name="blanket_order_line"
|
||||
context="{'from_purchase_order': True}"
|
||||
/>
|
||||
</xpath>
|
||||
<field name="order_line" position="attributes">
|
||||
<attribute
|
||||
name="context"
|
||||
operation="update"
|
||||
>{'from_purchase_order': True}</attribute>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="purchase_order_form_disable_adding_lines" model="ir.ui.view">
|
||||
<field
|
||||
name="name"
|
||||
>purchase.order.from.blanket.form - disable adding lines</field>
|
||||
<field name="model">purchase.order</field>
|
||||
<field name="inherit_id" ref="purchase.purchase_order_form" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='order_line']//tree" position="attributes">
|
||||
<attribute name="create">blanket_order_id==False</attribute>
|
||||
<field
|
||||
name="groups"
|
||||
eval="[(6,0,[ref('purchase_blanket_order.purchase_blanket_orders_disable_adding_lines')])]"
|
||||
/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from . import create_purchase_orders
|
||||
|
|
@ -0,0 +1,221 @@
|
|||
# Copyright (C) 2018 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
from collections import defaultdict
|
||||
|
||||
from odoo import _, api, fields, models
|
||||
from odoo.exceptions import UserError
|
||||
from odoo.tools import float_is_zero
|
||||
|
||||
|
||||
class BlanketOrderWizard(models.TransientModel):
|
||||
_name = "purchase.blanket.order.wizard"
|
||||
_description = "Blanket Order Wizard"
|
||||
|
||||
@api.model
|
||||
def _default_order(self):
|
||||
# in case the cron hasn't run
|
||||
active_model = self.env.context.get("active_model", False)
|
||||
self.env["purchase.blanket.order"].expire_orders()
|
||||
if (
|
||||
not self.env.context.get("active_id")
|
||||
or active_model != "purchase.blanket.order"
|
||||
):
|
||||
return False
|
||||
blanket_order = self.env["purchase.blanket.order"].search(
|
||||
[("id", "=", self.env.context["active_id"])], limit=1
|
||||
)
|
||||
if blanket_order.state == "expired":
|
||||
raise UserError(
|
||||
_("You can't create a purchase order from an expired blanket order!")
|
||||
)
|
||||
return blanket_order
|
||||
|
||||
@api.model
|
||||
def _check_valid_blanket_order_line(self, bo_lines):
|
||||
precision = self.env["decimal.precision"].precision_get(
|
||||
"Product Unit of Measure"
|
||||
)
|
||||
company_id = False
|
||||
|
||||
if float_is_zero(
|
||||
sum(bo_lines.mapped("remaining_uom_qty")), precision_digits=precision
|
||||
):
|
||||
raise UserError(_("All lines have already been completed."))
|
||||
|
||||
for line in bo_lines:
|
||||
|
||||
if line.order_id.state != "open":
|
||||
raise UserError(
|
||||
_("Purchase Blanket Order %s is not open") % line.order_id.name
|
||||
)
|
||||
|
||||
line_company_id = line.company_id and line.company_id.id or False
|
||||
if company_id is not False and line_company_id != company_id:
|
||||
raise UserError(_("You have to select lines from the same company."))
|
||||
else:
|
||||
company_id = line_company_id
|
||||
|
||||
@api.model
|
||||
def _default_lines(self):
|
||||
blanket_order_line_obj = self.env["purchase.blanket.order.line"]
|
||||
blanket_order_line_ids = self.env.context.get("active_ids", False)
|
||||
active_model = self.env.context.get("active_model", False)
|
||||
|
||||
if active_model == "purchase.blanket.order":
|
||||
bo_lines = self._default_order().line_ids
|
||||
else:
|
||||
bo_lines = blanket_order_line_obj.browse(blanket_order_line_ids)
|
||||
|
||||
self._check_valid_blanket_order_line(bo_lines)
|
||||
|
||||
lines = [
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"blanket_line_id": line.id,
|
||||
"product_id": line.product_id.id,
|
||||
"date_schedule": line.date_schedule,
|
||||
"remaining_uom_qty": line.remaining_uom_qty,
|
||||
"price_unit": line.price_unit,
|
||||
"product_uom": line.product_uom,
|
||||
"qty": line.remaining_uom_qty,
|
||||
"partner_id": line.partner_id,
|
||||
},
|
||||
)
|
||||
for line in bo_lines
|
||||
if line.remaining_uom_qty > 0
|
||||
]
|
||||
return lines
|
||||
|
||||
blanket_order_id = fields.Many2one(
|
||||
"purchase.blanket.order", readonly=True, default=_default_order
|
||||
)
|
||||
purchase_order_id = fields.Many2one(
|
||||
"purchase.order",
|
||||
string="Purchase Order",
|
||||
domain=[("state", "=", "draft")],
|
||||
)
|
||||
line_ids = fields.One2many(
|
||||
"purchase.blanket.order.wizard.line",
|
||||
"wizard_id",
|
||||
string="Lines",
|
||||
default=_default_lines,
|
||||
)
|
||||
|
||||
def create_purchase_order(self):
|
||||
|
||||
order_lines_by_supplier = defaultdict(list)
|
||||
currency_id = 0
|
||||
payment_term_id = 0
|
||||
for line in self.line_ids:
|
||||
if line.qty == 0.0:
|
||||
continue
|
||||
|
||||
if line.qty > line.remaining_uom_qty:
|
||||
raise UserError(_("You can't order more than the remaining quantities"))
|
||||
|
||||
date_planned = line.blanket_line_id.date_schedule
|
||||
|
||||
vals = {
|
||||
"product_id": line.product_id.id,
|
||||
"name": line.product_id.name,
|
||||
"date_planned": date_planned
|
||||
if date_planned
|
||||
else line.blanket_line_id.order_id.date_start,
|
||||
"product_uom": line.product_uom.id,
|
||||
"sequence": line.blanket_line_id.sequence,
|
||||
"price_unit": line.blanket_line_id.price_unit,
|
||||
"blanket_order_line": line.blanket_line_id.id,
|
||||
"product_qty": line.qty,
|
||||
"taxes_id": [(6, 0, line.taxes_id.ids)],
|
||||
}
|
||||
order_lines_by_supplier[line.partner_id.id].append((0, 0, vals))
|
||||
|
||||
if currency_id == 0:
|
||||
currency_id = line.blanket_line_id.order_id.currency_id.id
|
||||
elif currency_id != line.blanket_line_id.order_id.currency_id.id:
|
||||
currency_id = False
|
||||
|
||||
if payment_term_id == 0:
|
||||
payment_term_id = line.blanket_line_id.payment_term_id.id
|
||||
elif payment_term_id != line.blanket_line_id.payment_term_id.id:
|
||||
payment_term_id = False
|
||||
|
||||
if not order_lines_by_supplier:
|
||||
raise UserError(_("An order can't be empty"))
|
||||
|
||||
if not currency_id:
|
||||
raise UserError(
|
||||
_(
|
||||
"Can not create Purchase Order from Blanket "
|
||||
"Order lines with different currencies"
|
||||
)
|
||||
)
|
||||
|
||||
res = []
|
||||
for supplier in order_lines_by_supplier:
|
||||
order_vals = {
|
||||
"partner_id": int(supplier),
|
||||
}
|
||||
if self.blanket_order_id:
|
||||
order_vals.update(
|
||||
{
|
||||
"partner_ref": self.blanket_order_id.partner_ref,
|
||||
"origin": self.blanket_order_id.name,
|
||||
}
|
||||
)
|
||||
order_vals.update(
|
||||
{
|
||||
"currency_id": currency_id if currency_id else False,
|
||||
"payment_term_id": (payment_term_id if payment_term_id else False),
|
||||
"order_line": order_lines_by_supplier[supplier],
|
||||
}
|
||||
)
|
||||
purchase_order = self.env["purchase.order"].create(order_vals)
|
||||
res.append(purchase_order.id)
|
||||
return {
|
||||
"domain": [("id", "in", res)],
|
||||
"name": _("RFQ"),
|
||||
"view_mode": "tree,form",
|
||||
"res_model": "purchase.order",
|
||||
"view_id": False,
|
||||
"context": {"from_purchase_order": True},
|
||||
"type": "ir.actions.act_window",
|
||||
}
|
||||
|
||||
|
||||
class BlanketOrderWizardLine(models.TransientModel):
|
||||
_name = "purchase.blanket.order.wizard.line"
|
||||
_description = "Purchase Blanket Order Wizard Line"
|
||||
|
||||
wizard_id = fields.Many2one("purchase.blanket.order.wizard")
|
||||
blanket_line_id = fields.Many2one("purchase.blanket.order.line")
|
||||
product_id = fields.Many2one(
|
||||
"product.product",
|
||||
related="blanket_line_id.product_id",
|
||||
string="Product",
|
||||
readonly=True,
|
||||
)
|
||||
product_uom = fields.Many2one(
|
||||
"uom.uom",
|
||||
related="blanket_line_id.product_uom",
|
||||
string="Unit of Measure",
|
||||
readonly=True,
|
||||
)
|
||||
date_schedule = fields.Date(related="blanket_line_id.date_schedule", readonly=True)
|
||||
remaining_uom_qty = fields.Float(
|
||||
related="blanket_line_id.remaining_uom_qty", readonly=True
|
||||
)
|
||||
qty = fields.Float(string="Quantity to Order", required=True)
|
||||
price_unit = fields.Float(related="blanket_line_id.price_unit", readonly=True)
|
||||
currency_id = fields.Many2one("res.currency", related="blanket_line_id.currency_id")
|
||||
partner_id = fields.Many2one(
|
||||
"res.partner",
|
||||
related="blanket_line_id.partner_id",
|
||||
string="Vendor",
|
||||
readonly=True,
|
||||
)
|
||||
taxes_id = fields.Many2many(
|
||||
"account.tax", related="blanket_line_id.taxes_id", readonly=True
|
||||
)
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record id="view_create_purchase_order" model="ir.ui.view">
|
||||
<field name="name">Create Purchase Order</field>
|
||||
<field name="model">purchase.blanket.order.wizard</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Create Purchase Order">
|
||||
<div>
|
||||
<field name="line_ids" nolabel="1">
|
||||
<tree create="false" editable="bottom">
|
||||
<field name="blanket_line_id" invisible="1" />
|
||||
<field name="product_id" force_save="1" />
|
||||
<field name="partner_id" force_save="1" />
|
||||
<field name="date_schedule" force_save="1" />
|
||||
<field name="price_unit" force_save="1" />
|
||||
<field name="remaining_uom_qty" force_save="1" />
|
||||
<field name="product_uom" groups="uom.group_uom" />
|
||||
<field name="qty" />
|
||||
</tree>
|
||||
</field>
|
||||
</div>
|
||||
<footer>
|
||||
<button
|
||||
name="create_purchase_order"
|
||||
string="Create and View Order"
|
||||
type="object"
|
||||
class="btn-primary"
|
||||
/>
|
||||
<button string="Cancel" class="btn-default" special="cancel" />
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_create_purchase_order" model="ir.actions.act_window">
|
||||
<field name="name">Create RFQ</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">purchase.blanket.order.wizard</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
<field
|
||||
name="binding_model_id"
|
||||
ref="purchase_blanket_order.model_purchase_blanket_order_line"
|
||||
/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
[project]
|
||||
name = "odoo-bringout-oca-purchase-workflow-purchase_blanket_order"
|
||||
version = "16.0.0"
|
||||
description = "Purchase Blanket Orders - Purchase Blanket Orders"
|
||||
authors = [
|
||||
{ name = "Ernad Husremovic", email = "hernad@bring.out.ba" }
|
||||
]
|
||||
dependencies = [
|
||||
"odoo-bringout-oca-ocb-purchase>=16.0.0",
|
||||
"odoo-bringout-oca-purchase-workflow-web_action_conditionable>=16.0.0",
|
||||
"odoo-bringout-oca-purchase-workflow-base_view_inheritance_extension>=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 = ["purchase_blanket_order"]
|
||||
|
||||
[tool.rye]
|
||||
managed = true
|
||||
dev-dependencies = [
|
||||
"pytest>=8.4.1",
|
||||
]
|
||||