Merge PR #259 into 16.0

Signed-off-by sebalix
This commit is contained in:
OCA-git-bot
2023-02-28 08:43:26 +00:00
25 changed files with 1839 additions and 0 deletions

View File

@@ -0,0 +1 @@
../../../../stock_picking_report_valued

View File

@@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)

View File

@@ -0,0 +1,118 @@
=====================
Valued Picking Report
=====================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--reporting-lightgray.png?logo=github
:target: https://github.com/OCA/stock-logistics-reporting/tree/15.0/stock_picking_report_valued
:alt: OCA/stock-logistics-reporting
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/stock-logistics-reporting-15-0/stock-logistics-reporting-15-0-stock_picking_report_valued
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/151/15.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
Add amount information to Delivery Slip report.
You can select at partner level if picking list report must be valued or not.
If the picking is done it's valued with quantity done, otherwise the picking
is valued with reserved quantity.
**Table of contents**
.. contents::
:local:
Configuration
=============
#. Go to *Customers > (select one of your choice) > Sales & Purchases*.
#. Set *Valued picking* field on.
Usage
=====
To get the stock picking valued report:
#. Create a Sales Order with storable products a *Valued picking* able
customer.
#. Confirm the Sale Order.
#. Click on *Delivery* stat button.
#. Go to *Print > Delivery Slip*.
Known issues / Roadmap
======================
* If the picking is not reserved, values aren't computed.
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/stock-logistics-reporting/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/stock-logistics-reporting/issues/new?body=module:%20stock_picking_report_valued%0Aversion:%2015.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
~~~~~~~
* Tecnativa
Contributors
~~~~~~~~~~~~
* `Avanzosc <http://www.avanzosc.es>`_:
* Oihane Crucelaegui
* `Tecnativa <https://www.tecnativa.com>`_:
* Pedro M. Baeza
* Antonio Espinosa
* Carlos Dauden
* David Vidal
* Luis M. Ontalba
* Ernesto Tejeda
* Sergio Teruel
* `GreenIce <https://www.greenice.com>`_:
* Fernando La Chica <fernandolachica@gmail.com>
* `Landoo <https://www.landoo.es>`_:
* Aritz Olea <ao@landoo.es>
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/stock-logistics-reporting <https://github.com/OCA/stock-logistics-reporting/tree/15.0/stock_picking_report_valued>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

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

View File

@@ -0,0 +1,19 @@
# Copyright 2014 Pedro M. Baeza - Tecnativa <pedro.baeza@tecnativa.com>
# Copyright 2015 Antonio Espinosa - Tecnativa <antonio.espinosa@tecnativa.com>
# Copyright 2016-2019 Carlos Dauden - Tecnativa <carlos.dauden@tecnativa.com>
# Copyright 2017 David Vidal - Tecnativa <david.vidal@tecnativa.com>
# Copyright 2017 Luis M. Ontalba - Tecnativa <luis.martinez@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
"name": "Valued Picking Report",
"summary": "Adding Valued Picking on Delivery Slip report",
"version": "16.0.1.0.0",
"author": "Tecnativa, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/stock-logistics-reporting",
"category": "Warehouse Management",
"license": "AGPL-3",
"depends": ["sale_stock"],
"data": ["views/res_partner_view.xml", "report/stock_picking_report_valued.xml"],
"installable": True,
}

View File

@@ -0,0 +1,157 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_picking_report_valued
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-21 08:13+0000\n"
"PO-Revision-Date: 2017-08-21 10:13+0200\n"
"Last-Translator: Carlos Dauden <carlos.dauden@tecnativa.com>\n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: \n"
"X-Generator: Poedit 1.8.7.1\n"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Discount</strong>"
msgstr "<strong>Dto</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
#, fuzzy
msgid "<strong>Qty Reserved</strong>"
msgstr "<strong>Precio Unidad</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Subtotal</strong>"
msgstr "<strong>Subtotal</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Taxes</strong>"
msgstr "<strong>Impuestos</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Total</strong>"
msgstr "<strong>Total</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Unit Price</strong>"
msgstr "<strong>Precio Unidad</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Untaxed Amount</strong>"
msgstr "<strong>Base imponible</strong>"
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_res_partner
msgid "Contact"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__currency_id
msgid "Currency"
msgstr "Moneda"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_subtotal
msgid "Price subtotal"
msgstr "Subtotal"
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_line
msgid "Related order line"
msgstr "Línea de pedido relacionada"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__currency_id
#, fuzzy
msgid "Sale Currency"
msgstr "Moneda"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_unit
msgid "Sale Price Unit"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_tax_id
msgid "Sale Tax"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_discount
msgid "Sale discount (%)"
msgstr "Descuento venta (%)"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_tax_description
msgid "Tax Description"
msgstr "Descripción de impuesto"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_tax
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_tax
msgid "Taxes"
msgstr "Impuestos"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_total
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_total
msgid "Total"
msgstr "Total"
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_stock_picking
msgid "Transfer"
msgstr "Transferir"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_untaxed
msgid "Untaxed Amount"
msgstr "Base imponible"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_res_partner__valued_picking
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_res_users__valued_picking
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__valued
#, fuzzy
msgid "Valued Picking"
msgstr "Albarán valorado"
#. module: stock_picking_report_valued
#: model:ir.model.fields,help:stock_picking_report_valued.field_res_partner__valued_picking
#: model:ir.model.fields,help:stock_picking_report_valued.field_res_users__valued_picking
#: model:ir.model.fields,help:stock_picking_report_valued.field_stock_picking__valued
msgid "You can select which partners have valued pickings"
msgstr "Puede seleccionar qué empresas tienen albarán valorado"
#~ msgid "Sale price unit"
#~ msgstr "Precio venta"
#~ msgid "Packing Operation"
#~ msgstr "Operación de empaquetado"
#~ msgid "Partner"
#~ msgstr "Empresa"
#~ msgid "Website Messages"
#~ msgstr "Mensajes del sitio web"
#~ msgid "Website communication history"
#~ msgstr "Historial de comunicaciones del sitio web"

View File

@@ -0,0 +1,147 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_picking_report_valued
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2021-04-11 18:46+0000\n"
"Last-Translator: Yves Le Doeuff <yld@alliasys.fr>\n"
"Language-Team: none\n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.3.2\n"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Discount</strong>"
msgstr "<strong>Remise</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Qty Reserved</strong>"
msgstr "<strong>Qté Réservée</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Subtotal</strong>"
msgstr "<strong>Sous-total</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Taxes</strong>"
msgstr ""
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Total</strong>"
msgstr ""
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Unit Price</strong>"
msgstr "<strong>Prix Unitaire</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Untaxed Amount</strong>"
msgstr "<strong>Montant HT</strong>"
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_res_partner
msgid "Contact"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__currency_id
msgid "Currency"
msgstr "Devise"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_subtotal
msgid "Price subtotal"
msgstr "Sous-total"
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr "Mouvements de produits (ligne de mouvements de stock)"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_line
msgid "Related order line"
msgstr "Ligne de commande connexe"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__currency_id
msgid "Sale Currency"
msgstr "Devise de vente"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_unit
msgid "Sale Price Unit"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_tax_id
msgid "Sale Tax"
msgstr "TVA"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_discount
msgid "Sale discount (%)"
msgstr "Remise de vente (%)"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_tax_description
msgid "Tax Description"
msgstr "Taxe"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_tax
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_tax
msgid "Taxes"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_total
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_total
msgid "Total"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_stock_picking
msgid "Transfer"
msgstr "Transfert"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_untaxed
msgid "Untaxed Amount"
msgstr "Montant HT"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_res_partner__valued_picking
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_res_users__valued_picking
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__valued
msgid "Valued Picking"
msgstr "Valorisation"
#. module: stock_picking_report_valued
#: model:ir.model.fields,help:stock_picking_report_valued.field_res_partner__valued_picking
#: model:ir.model.fields,help:stock_picking_report_valued.field_res_users__valued_picking
#: model:ir.model.fields,help:stock_picking_report_valued.field_stock_picking__valued
msgid "You can select which partners have valued pickings"
msgstr "Vous pouvez sélectionner quels partenaires ont une valorisation"
#~ msgid "Display Name"
#~ msgstr "Nom affiché"
#~ msgid "Last Modified on"
#~ msgstr "Dernière modification le"
#~ msgid "Sale price unit"
#~ msgstr "Prix unitaire"

View File

@@ -0,0 +1,152 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_picking_report_valued
#
# Translators:
# Bole <bole@dajmi5.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-01 02:22+0000\n"
"PO-Revision-Date: 2017-12-01 02:22+0000\n"
"Last-Translator: Bole <bole@dajmi5.com>, 2018\n"
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Discount</strong>"
msgstr "<strong>Popust</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
#, fuzzy
msgid "<strong>Qty Reserved</strong>"
msgstr "<strong>Jed.cijena</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Subtotal</strong>"
msgstr "<strong>Subtotal</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Taxes</strong>"
msgstr "<strong>Porezi</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Total</strong>"
msgstr "<strong>Total</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Unit Price</strong>"
msgstr "<strong>Jed.cijena</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Untaxed Amount</strong>"
msgstr "<strong>Bez poreza</strong>"
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_res_partner
msgid "Contact"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__currency_id
msgid "Currency"
msgstr "Valuta"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_subtotal
msgid "Price subtotal"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_line
msgid "Related order line"
msgstr "Povezana stavka ponude"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__currency_id
#, fuzzy
msgid "Sale Currency"
msgstr "Valuta"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_unit
msgid "Sale Price Unit"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_tax_id
msgid "Sale Tax"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_discount
msgid "Sale discount (%)"
msgstr "Popust prodaje (%)"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_tax_description
msgid "Tax Description"
msgstr "Opis poreza"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_tax
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_tax
msgid "Taxes"
msgstr "Porezi"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_total
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_total
msgid "Total"
msgstr "Ukupno"
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_stock_picking
msgid "Transfer"
msgstr "Transfer"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_untaxed
msgid "Untaxed Amount"
msgstr "Iznos bez poreza"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_res_partner__valued_picking
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_res_users__valued_picking
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__valued
msgid "Valued Picking"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,help:stock_picking_report_valued.field_res_partner__valued_picking
#: model:ir.model.fields,help:stock_picking_report_valued.field_res_users__valued_picking
#: model:ir.model.fields,help:stock_picking_report_valued.field_stock_picking__valued
msgid "You can select which partners have valued pickings"
msgstr ""
#~ msgid "Sale price unit"
#~ msgstr "Prodajna cijena"
#~ msgid "Packing Operation"
#~ msgstr "Operacija pakiranja"
#~ msgid "Partner"
#~ msgstr "Partner"

View File

@@ -0,0 +1,142 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_picking_report_valued
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2020-09-29 11:00+0000\n"
"Last-Translator: erik-bzcl <erik@bizicloud.ro>\n"
"Language-Team: none\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
"X-Generator: Weblate 3.10\n"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Discount</strong>"
msgstr "<strong>Discount</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Qty Reserved</strong>"
msgstr "<strong>Cant Rezervată</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Subtotal</strong>"
msgstr "<strong>Subtotal</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Taxes</strong>"
msgstr "<strong>Taxe</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Total</strong>"
msgstr "<strong>Total</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Unit Price</strong>"
msgstr "<strong>Preţ unitar</strong>"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Untaxed Amount</strong>"
msgstr "<strong>Valoare fără TVA</strong>"
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_res_partner
msgid "Contact"
msgstr "Contact"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__currency_id
msgid "Currency"
msgstr "Moneda"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_subtotal
msgid "Price subtotal"
msgstr "Subtotal preţ"
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr "Mişcări de produs (Linie mişcare stoc)"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_line
msgid "Related order line"
msgstr "Linie de comandă asociată"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__currency_id
msgid "Sale Currency"
msgstr "Moneda vânzării"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_unit
msgid "Sale Price Unit"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_tax_id
msgid "Sale Tax"
msgstr "TVA"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_discount
msgid "Sale discount (%)"
msgstr "Discount (%)"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_tax_description
msgid "Tax Description"
msgstr "Descriere taxă"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_tax
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_tax
msgid "Taxes"
msgstr "Taxe"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_total
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_total
msgid "Total"
msgstr "Total"
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_stock_picking
msgid "Transfer"
msgstr "Transfer"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_untaxed
msgid "Untaxed Amount"
msgstr "Valoare fără TVA"
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_res_partner__valued_picking
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_res_users__valued_picking
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__valued
msgid "Valued Picking"
msgstr "Transfer preţuit"
#. module: stock_picking_report_valued
#: model:ir.model.fields,help:stock_picking_report_valued.field_res_partner__valued_picking
#: model:ir.model.fields,help:stock_picking_report_valued.field_res_users__valued_picking
#: model:ir.model.fields,help:stock_picking_report_valued.field_stock_picking__valued
msgid "You can select which partners have valued pickings"
msgstr "Puteţi selecta partenerii cu transferuri preţuite"
#~ msgid "Sale price unit"
#~ msgstr "Preţ unitar"

View File

@@ -0,0 +1,135 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_picking_report_valued
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Discount</strong>"
msgstr ""
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Qty Reserved</strong>"
msgstr ""
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Subtotal</strong>"
msgstr ""
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Taxes</strong>"
msgstr ""
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Total</strong>"
msgstr ""
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Unit Price</strong>"
msgstr ""
#. module: stock_picking_report_valued
#: model_terms:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking
msgid "<strong>Untaxed Amount</strong>"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_res_partner
msgid "Contact"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__currency_id
msgid "Currency"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_subtotal
msgid "Price subtotal"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_stock_move_line
msgid "Product Moves (Stock Move Line)"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_line
msgid "Related order line"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__currency_id
msgid "Sale Currency"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_unit
msgid "Sale Price Unit"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_tax_id
msgid "Sale Tax"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_discount
msgid "Sale discount (%)"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_tax_description
msgid "Tax Description"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_tax
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_tax
msgid "Taxes"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_move_line__sale_price_total
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_total
msgid "Total"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model,name:stock_picking_report_valued.model_stock_picking
msgid "Transfer"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__amount_untaxed
msgid "Untaxed Amount"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_res_partner__valued_picking
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_res_users__valued_picking
#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking__valued
msgid "Valued Picking"
msgstr ""
#. module: stock_picking_report_valued
#: model:ir.model.fields,help:stock_picking_report_valued.field_res_partner__valued_picking
#: model:ir.model.fields,help:stock_picking_report_valued.field_res_users__valued_picking
#: model:ir.model.fields,help:stock_picking_report_valued.field_stock_picking__valued
msgid "You can select which partners have valued pickings"
msgstr ""

View File

@@ -0,0 +1,3 @@
from . import res_partner
from . import stock_move_line
from . import stock_picking

View File

@@ -0,0 +1,14 @@
# Copyright 2014 Pedro M. Baeza - Tecnativa <pedro.baeza@tecnativa.com>
# Copyright 2015 Antonio Espinosa - Tecnativa <antonio.espinosa@tecnativa.com>
# Copyright 2016 Carlos Dauden - Tecnativa <carlos.dauden@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import fields, models
class ResPartner(models.Model):
_inherit = "res.partner"
valued_picking = fields.Boolean(
default=True, help="You can select which partners have valued pickings"
)

View File

@@ -0,0 +1,97 @@
# Copyright 2014-2018 Tecnativa - Pedro M. Baeza
# Copyright 2015 Tecnativa - Antonio Espinosa
# Copyright 2018 Tecnativa - Luis M. Ontalba
# Copyright 2016-2022 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import fields, models
from odoo.tools import float_compare
class StockMoveLine(models.Model):
_inherit = "stock.move.line"
sale_line = fields.Many2one(
related="move_id.sale_line_id", readonly=True, string="Related order line"
)
currency_id = fields.Many2one(
related="sale_line.currency_id", readonly=True, string="Sale Currency"
)
sale_tax_id = fields.Many2many(
related="sale_line.tax_id", readonly=True, string="Sale Tax"
)
sale_price_unit = fields.Float(
compute="_compute_sale_order_line_fields",
compute_sudo=True,
)
sale_discount = fields.Float(
related="sale_line.discount", readonly=True, string="Sale discount (%)"
)
sale_tax_description = fields.Char(
compute="_compute_sale_order_line_fields",
string="Tax Description",
compute_sudo=True, # See explanation for sudo in compute method
)
sale_price_subtotal = fields.Monetary(
compute="_compute_sale_order_line_fields",
string="Price subtotal",
compute_sudo=True,
)
sale_price_tax = fields.Float(
compute="_compute_sale_order_line_fields", string="Taxes", compute_sudo=True
)
sale_price_total = fields.Monetary(
compute="_compute_sale_order_line_fields", string="Total", compute_sudo=True
)
def _get_report_valued_quantity(self):
return self.qty_done or self.reserved_qty
def _compute_sale_order_line_fields(self):
"""This is computed with sudo for avoiding problems if you don't have
access to sales orders (stricter warehouse users, inter-company
records...).
"""
self.sale_tax_description = False
self.sale_price_subtotal = False
self.sale_price_tax = False
self.sale_price_total = False
self.sale_price_unit = False
for line in self:
valued_line = line.sale_line
if not valued_line:
continue
quantity = line._get_report_valued_quantity()
sale_line_uom = valued_line.product_uom
different_uom = valued_line.product_uom != line.product_uom_id
# If order line quantity don't match with move line quantity compute values
different_qty = float_compare(
quantity,
line.sale_line.product_uom_qty,
precision_rounding=line.product_uom_id.rounding,
)
if different_uom or different_qty:
# Force read to cache M2M field for get values with _convert_to_write
line.sale_line.mapped("tax_id")
# Create virtual sale line with stock move line quantity
sol_vals = line.sale_line._convert_to_write(line.sale_line._cache)
valued_line = line.sale_line.new(sol_vals)
valued_line.product_uom_qty = quantity
if different_qty:
# Force original price unit to avoid pricelist recomputed (not needed)
valued_line.price_unit = line.sale_line.price_unit
if different_uom:
valued_line.price_unit = sale_line_uom._compute_price(
valued_line.price_unit, line.product_uom_id
)
line.update(
{
"sale_tax_description": ", ".join(
t.name or t.description for t in line.sale_tax_id
),
"sale_price_subtotal": valued_line.price_subtotal,
"sale_price_tax": valued_line.price_tax,
"sale_price_total": valued_line.price_total,
"sale_price_unit": valued_line.price_unit,
}
)

View File

@@ -0,0 +1,48 @@
# Copyright 2014-2018 Tecnativa - Pedro M. Baeza
# Copyright 2015 Tecnativa - Antonio Espinosa
# Copyright 2016-2022 Tecnativa - Carlos Dauden
# Copyright 2016 Tecnativa - Luis M. Ontalba
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import fields, models
class StockPicking(models.Model):
_inherit = "stock.picking"
valued = fields.Boolean(related="partner_id.valued_picking", readonly=True)
currency_id = fields.Many2one(
related="sale_id.currency_id",
readonly=True,
string="Currency",
related_sudo=True, # See explanation for sudo in compute method
)
amount_untaxed = fields.Monetary(
compute="_compute_amount_all",
string="Untaxed Amount",
compute_sudo=True, # See explanation for sudo in compute method
)
amount_tax = fields.Monetary(
compute="_compute_amount_all", string="Taxes", compute_sudo=True
)
amount_total = fields.Monetary(
compute="_compute_amount_all", string="Total", compute_sudo=True
)
def _compute_amount_all(self):
"""This is computed with sudo for avoiding problems if you don't have
access to sales orders (stricter warehouse users, inter-company
records...).
"""
for pick in self:
amount_untaxed = amount_tax = 0.0
for line in pick.move_line_ids:
amount_untaxed += line.sale_price_subtotal
amount_tax += line.sale_price_tax
pick.update(
{
"amount_untaxed": amount_untaxed,
"amount_tax": amount_tax,
"amount_total": amount_untaxed + amount_tax,
}
)

View File

@@ -0,0 +1,2 @@
#. Go to *Customers > (select one of your choice) > Sales & Purchases*.
#. Set *Valued picking* field on.

View File

@@ -0,0 +1,25 @@
* `Avanzosc <http://www.avanzosc.es>`_:
* Oihane Crucelaegui
* `Tecnativa <https://www.tecnativa.com>`_:
* Pedro M. Baeza
* Antonio Espinosa
* Carlos Dauden
* David Vidal
* Luis M. Ontalba
* Ernesto Tejeda
* Sergio Teruel
* `GreenIce <https://www.greenice.com>`_:
* Fernando La Chica <fernandolachica@gmail.com>
* `Landoo <https://www.landoo.es>`_:
* Aritz Olea <ao@landoo.es>
* `Studio73 <https://www.studio73.es>`_:
* Miguel Gandia <miguel@studio73.es>

View File

@@ -0,0 +1,4 @@
Add amount information to Delivery Slip report.
You can select at partner level if picking list report must be valued or not.
If the picking is done it's valued with quantity done, otherwise the picking
is valued with reserved quantity.

View File

@@ -0,0 +1 @@
* If the picking is not reserved, values aren't computed.

View File

@@ -0,0 +1,7 @@
To get the stock picking valued report:
#. Create a Sales Order with storable products a *Valued picking* able
customer.
#. Confirm the Sale Order.
#. Click on *Delivery* stat button.
#. Go to *Print > Delivery Slip*.

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template id="valued_report_picking" inherit_id="stock.report_delivery_document">
<xpath expr="//div[hasclass('page')]" position="before">
<t t-set="is_outgoing" t-value="o.picking_type_code == 'outgoing'" />
</xpath>
<xpath
expr="//table[@t-if=&quot;o.move_line_ids and o.state==&apos;done&apos;&quot;]/thead/tr"
position="inside"
>
<t t-if="o.valued and o.sale_id and o.move_line_ids and is_outgoing">
<t t-if="o.state != 'done'">
<th class="text-end"><strong>Qty Reserved</strong></th>
</t>
<th class="text-end"><strong>Unit Price</strong></th>
<th class="text-end" groups="product.group_discount_per_so_line">
<strong>Discount</strong>
</th>
<th class="text-end"><strong>Subtotal</strong></th>
<th class="text-end"><strong>Taxes</strong></th>
</t>
</xpath>
<xpath expr="//th[@name='th_sml_qty_ordered']" position="attributes">
<attribute
name="t-if"
add="and (not is_outgoing or not (o.valued and o.sale_id and o.move_line_ids))"
separator=" "
/>
</xpath>
<xpath
expr="//t[@t-foreach='packages']//t[@t-if='has_serial_number']"
position="attributes"
>
<attribute
name="t-if"
add="or (o.valued and o.sale_id and o.move_line_ids and is_outgoing)"
separator=" "
/>
</xpath>
<xpath
expr="//t[@name='no_package_move_lines']//t[@t-if='has_serial_number']"
position="attributes"
>
<attribute
name="t-if"
add="or (o.valued and o.sale_id and o.move_line_ids and is_outgoing)"
separator=" "
/>
</xpath>
<xpath
expr="//table[@name='stock_move_line_table']/tbody/t[@t-else='']//t[@t-if='has_serial_number']"
position="attributes"
>
<attribute
name="t-if"
add="or (o.valued and o.sale_id and o.move_line_ids and is_outgoing)"
separator=" "
/>
</xpath>
<xpath
expr="//table[@t-if=&quot;o.move_line_ids and o.state==&apos;done&apos;&quot;]"
position="after"
>
<t t-if="o.valued and o.sale_id and o.move_line_ids and is_outgoing">
<table class="table table-sm mt32">
<thead>
<tr>
<th class="text-end"><strong>Untaxed Amount</strong></th>
<th class="text-end"><strong>Taxes</strong></th>
<th class="text-end"><strong>Total</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="text-end">
<span t-field="o.amount_untaxed" />
</td>
<td class="text-end">
<span t-field="o.amount_tax" />
</td>
<td class="text-end">
<span t-field="o.amount_total" />
</td>
</tr>
</tbody>
</table>
</t>
</xpath>
</template>
<template
id="valued_report_picking_has_serial_move_line"
inherit_id="stock.stock_report_delivery_has_serial_move_line"
>
<xpath expr="//td[@name='move_line_lot_qty_done']" position="after">
<t t-if="move_line.picking_id.state != 'done'">
<td class="text-end">
<span t-field="move_line.product_uom_qty" />
<span t-field="move_line.product_uom_id" /></td>
</t>
<t t-elif="move_line.picking_id.state == 'done'">
<td class="text-center">
<span t-field="move_line.qty_done" />
<span t-field="move_line.product_uom_id" /></td>
</t>
<t t-if="o.valued and o.sale_id and o.move_line_ids and is_outgoing">
<td class="text-end"><span t-field="move_line.sale_price_unit" /></td>
<td class="text-end" groups="product.group_discount_per_so_line">
<span t-field="move_line.sale_discount" />
</td>
<td class="text-end"><span
t-field="move_line.sale_price_subtotal"
/></td>
<td class="text-end"><span
t-field="move_line.sale_tax_description"
/></td>
</t>
</xpath>
<xpath expr="//td[@name='move_line_lot_qty_done']" position="attributes">
<attribute
name="t-if"
add="not (o.valued or o.sale_id or o.move_line_ids or is_outgoing)"
separator=" "
/>
</xpath>
</template>
</odoo>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -0,0 +1,470 @@
<?xml version="1.0" encoding="utf-8" ?>
<!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 0.15.1: http://docutils.sourceforge.net/" />
<title>Valued Picking Report</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See http://docutils.sf.net/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="valued-picking-report">
<h1 class="title">Valued Picking Report</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" 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" 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" href="https://github.com/OCA/stock-logistics-reporting/tree/15.0/stock_picking_report_valued"><img alt="OCA/stock-logistics-reporting" src="https://img.shields.io/badge/github-OCA%2Fstock--logistics--reporting-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/stock-logistics-reporting-15-0/stock-logistics-reporting-15-0-stock_picking_report_valued"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/151/15.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>Add amount information to Delivery Slip report.
You can select at partner level if picking list report must be valued or not.
If the picking is done its valued with quantity done, otherwise the picking
is valued with reserved quantity.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="id1">Configuration</a></li>
<li><a class="reference internal" href="#usage" id="id2">Usage</a></li>
<li><a class="reference internal" href="#known-issues-roadmap" id="id3">Known issues / Roadmap</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id4">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id5">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id6">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id7">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="id8">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#id1">Configuration</a></h1>
<ol class="arabic simple">
<li>Go to <em>Customers &gt; (select one of your choice) &gt; Sales &amp; Purchases</em>.</li>
<li>Set <em>Valued picking</em> field on.</li>
</ol>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#id2">Usage</a></h1>
<p>To get the stock picking valued report:</p>
<ol class="arabic simple">
<li>Create a Sales Order with storable products a <em>Valued picking</em> able
customer.</li>
<li>Confirm the Sale Order.</li>
<li>Click on <em>Delivery</em> stat button.</li>
<li>Go to <em>Print &gt; Delivery Slip</em>.</li>
</ol>
</div>
<div class="section" id="known-issues-roadmap">
<h1><a class="toc-backref" href="#id3">Known issues / Roadmap</a></h1>
<ul class="simple">
<li>If the picking is not reserved, values arent computed.</li>
</ul>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#id4">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/stock-logistics-reporting/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 smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/stock-logistics-reporting/issues/new?body=module:%20stock_picking_report_valued%0Aversion:%2015.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="#id5">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#id6">Authors</a></h2>
<ul class="simple">
<li>Tecnativa</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#id7">Contributors</a></h2>
<ul class="simple">
<li><a class="reference external" href="http://www.avanzosc.es">Avanzosc</a>:<ul>
<li>Oihane Crucelaegui</li>
</ul>
</li>
<li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
<li>Pedro M. Baeza</li>
<li>Antonio Espinosa</li>
<li>Carlos Dauden</li>
<li>David Vidal</li>
<li>Luis M. Ontalba</li>
<li>Ernesto Tejeda</li>
<li>Sergio Teruel</li>
</ul>
</li>
<li><a class="reference external" href="https://www.greenice.com">GreenIce</a>:<ul>
<li>Fernando La Chica &lt;<a class="reference external" href="mailto:fernandolachica&#64;gmail.com">fernandolachica&#64;gmail.com</a>&gt;</li>
</ul>
</li>
<li><a class="reference external" href="https://www.landoo.es">Landoo</a>:<ul>
<li>Aritz Olea &lt;<a class="reference external" href="mailto:ao&#64;landoo.es">ao&#64;landoo.es</a>&gt;</li>
</ul>
</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#id8">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/stock-logistics-reporting/tree/15.0/stock_picking_report_valued">OCA/stock-logistics-reporting</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>

View File

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

View File

@@ -0,0 +1,142 @@
# Copyright 2017 Tecnativa - David Vidal
# Copyright 2017 Tecnativa - Luis M. Ontalba
# Copyright 2019 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.tests import common
class TestStockPickingValued(common.TransactionCase):
@classmethod
def setUpClass(cls):
super(TestStockPickingValued, cls).setUpClass()
company = cls.env.user.company_id
cls.tax = cls.env["account.tax"].create(
{
"name": "TAX 15%",
"amount_type": "percent",
"type_tax_use": "sale",
"amount": 15.0,
}
)
cls.tax10 = cls.env["account.tax"].create(
{
"name": "TAX 10%",
"amount_type": "percent",
"type_tax_use": "sale",
"amount": 10.0,
}
)
cls.product = cls.env["product.product"].create(
{
"name": "Test stuff",
"list_price": 100.0,
"taxes_id": [(6, 0, cls.tax.ids)],
}
)
cls.partner = cls.env["res.partner"].create({"name": "Mr. Odoo"})
cls.sale_order = cls.env["sale.order"].create(
{
"partner_id": cls.partner.id,
"order_line": [
(
0,
0,
{
"product_id": cls.product.id,
"price_unit": 100,
"product_uom_qty": 1,
},
)
],
"company_id": company.id,
}
)
cls.sale_order2 = cls.env["sale.order"].create(
{
"partner_id": cls.partner.id,
"order_line": [
(
0,
0,
{
"product_id": cls.product.id,
"price_unit": 100,
"product_uom_qty": 1,
},
),
(
0,
0,
{
"product_id": cls.product.id,
"price_unit": 100,
"product_uom_qty": 1,
},
),
(
0,
0,
{
"product_id": cls.product.id,
"price_unit": 100,
"product_uom_qty": 1,
"tax_id": [(6, 0, cls.tax10.ids)],
},
),
],
"company_id": company.id,
}
)
cls.sale_order.company_id.tax_calculation_rounding_method = "round_per_line"
def test_01_confirm_order(self):
self.assertTrue(self.partner.valued_picking)
self.sale_order.action_confirm()
self.assertTrue(len(self.sale_order.picking_ids))
for picking in self.sale_order.picking_ids:
picking.action_assign()
self.assertEqual(picking.amount_untaxed, 100.0)
self.assertEqual(picking.amount_tax, 15.0)
self.assertEqual(picking.amount_total, 115.0)
def test_02_confirm_order(self):
"""Valued picking isn't computed if not reserved"""
self.sale_order.action_confirm()
for picking in self.sale_order.picking_ids:
picking.action_assign()
picking.do_unreserve()
self.assertEqual(picking.amount_untaxed, 0.0)
self.assertEqual(picking.amount_tax, 0.0)
self.assertEqual(picking.amount_total, 0.0)
def test_03_tax_rounding_method(self):
self.sale_order.company_id.tax_calculation_rounding_method = "round_globally"
self.sale_order.action_confirm()
self.assertTrue(len(self.sale_order.picking_ids))
for picking in self.sale_order.picking_ids:
picking.action_assign()
self.assertEqual(picking.amount_untaxed, 100.0)
self.assertEqual(picking.amount_tax, 15.0)
self.assertEqual(picking.amount_total, 115.0)
def test_04_lines_distinct_tax(self):
self.sale_order2.company_id.tax_calculation_rounding_method = "round_globally"
self.sale_order2.action_confirm()
self.assertTrue(len(self.sale_order2.picking_ids))
for picking in self.sale_order2.picking_ids:
picking.action_assign()
self.assertEqual(picking.amount_untaxed, 300.0)
self.assertEqual(picking.amount_tax, 40.0)
self.assertEqual(picking.amount_total, 340.0)
def test_05_distinct_qty(self):
self.assertTrue(self.partner.valued_picking)
self.sale_order.action_confirm()
self.assertTrue(len(self.sale_order.picking_ids))
for picking in self.sale_order.picking_ids:
picking.action_assign()
picking.move_line_ids.qty_done = 2.0
self.assertEqual(picking.amount_untaxed, 200.0)
self.assertEqual(picking.amount_tax, 30.0)
self.assertEqual(picking.amount_total, 230.0)

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record model="ir.ui.view" id="view_partner_valued_picking">
<field name="name">Partner view (Valued picking)</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" />
<field name="arch" type="xml">
<xpath
expr="//page[@name='sales_purchases']//field[@name='user_id']"
position="after"
>
<field name="valued_picking" />
</xpath>
</field>
</record>
</odoo>