[IMP] stock_report_picking_summary: optional print prices
@@ -26,6 +26,9 @@ print a Report summary with two sheets :
|
||||
|
||||
* Detail Part (each Picking is shown)
|
||||
|
||||
You can choose to print standard prices or not. It can be useful to check some
|
||||
values when you prepare your pickings.
|
||||
|
||||
**Table of contents**
|
||||
|
||||
.. contents::
|
||||
@@ -42,10 +45,16 @@ To use this module, you need to
|
||||
|
||||
* Select any pickings and click on 'Action' / 'Print Picking Summary (PDF)'
|
||||
|
||||
* Choose your options
|
||||
|
||||
.. figure:: https://raw.githubusercontent.com/quentinDupont/stock-logistics-reporting/12.0_ADD_picking_summary_report/stock_picking_report_summary/static/description/wizard.png
|
||||
|
||||
.. figure:: https://raw.githubusercontent.com/quentinDupont/stock-logistics-reporting/12.0_ADD_picking_summary_report/stock_picking_report_summary/static/description/pdf_report.png
|
||||
|
||||
Without prices :
|
||||
|
||||
.. figure:: https://raw.githubusercontent.com/quentinDupont/stock-logistics-reporting/12.0_ADD_picking_summary_report/stock_picking_report_summary/static/description/pdf_report_wo_prices.png
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
@@ -72,6 +81,14 @@ Contributors
|
||||
Maintainers
|
||||
~~~~~~~~~~~
|
||||
|
||||
.. |maintainer-quentinDupont| image:: https://github.com/quentinDupont.png?size=40px
|
||||
:target: https://github.com/quentinDupont
|
||||
:alt: quentinDupont
|
||||
|
||||
Current maintainer:
|
||||
|
||||
|maintainer-quentinDupont|
|
||||
|
||||
This module is part of the `quentinDupont/stock-logistics-reporting <https://github.com/quentinDupont/stock-logistics-reporting/tree/12.0_ADD_picking_summary_report/stock_picking_report_summary>`_ project on GitHub.
|
||||
|
||||
You are welcome to contribute.
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_picking_report_summary
|
||||
# * stock_picking_report_summary
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 12.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-02 13:25+0000\n"
|
||||
"PO-Revision-Date: 2020-12-02 13:25+0000\n"
|
||||
"POT-Creation-Date: 2022-05-11 09:34+0000\n"
|
||||
"PO-Revision-Date: 2022-05-11 09:34+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -25,6 +25,16 @@ msgstr "Annuler"
|
||||
msgid "Category"
|
||||
msgstr "Catégorie"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard_product__standard_price
|
||||
msgid "Cost"
|
||||
msgstr "Coût"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model.fields,help:stock_picking_report_summary.field_picking_summary_wizard_product__standard_price
|
||||
msgid "Cost used for stock valuation in standard price and as a first price to set in average/fifo. Also used as a base price for pricelists. Expressed in the default unit of measure of the product."
|
||||
msgstr "Également utilisé comme prix de base pour les listes. Exprimé dans l'unité de mesure par défaut du produit."
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard_picking__create_uid
|
||||
@@ -39,11 +49,6 @@ msgstr "Créé par"
|
||||
msgid "Created on"
|
||||
msgstr "Créé le"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard__picking_line_qty
|
||||
msgid "Number of Selected Picking"
|
||||
msgstr "Quantité selectionné"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard_picking__display_name
|
||||
@@ -68,7 +73,7 @@ msgstr ""
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard_picking____last_update
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard_product____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Dernière Modification le"
|
||||
msgstr "Dernière modification le"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard__write_uid
|
||||
@@ -84,10 +89,15 @@ msgstr "Dernière mise à jour par"
|
||||
msgid "Last Updated on"
|
||||
msgstr "Dernière mise à jour le"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard__picking_line_qty
|
||||
msgid "Number of Selected Picking"
|
||||
msgstr "Quantité selectionné"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard_picking__picking_id
|
||||
msgid "Picking"
|
||||
msgstr "Bon de livraison"
|
||||
msgstr "Opération de manutention"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard__picking_line_ids
|
||||
@@ -99,6 +109,21 @@ msgstr "Ligne de bon de livraison"
|
||||
msgid "Picking Summary (PDF)"
|
||||
msgstr "Résumé des opérations (PDF)"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model,name:stock_picking_report_summary.model_picking_summary_wizard
|
||||
msgid "Picking Summary Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model,name:stock_picking_report_summary.model_picking_summary_wizard_picking
|
||||
msgid "Picking Summary Wizard Picking"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model,name:stock_picking_report_summary.model_picking_summary_wizard_product
|
||||
msgid "Picking Summary Wizard Product"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model_terms:ir.ui.view,arch_db:stock_picking_report_summary.view_picking_summary_wizard_form
|
||||
msgid "Pickings Details"
|
||||
@@ -124,6 +149,11 @@ msgstr "Résumé des opérations (PDF)"
|
||||
msgid "Print Product Summary"
|
||||
msgstr "Imprimer le résumé des opérations"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard__print_prices
|
||||
msgid "Print Standard Prices"
|
||||
msgstr "Imprimer les prix de revient"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard__print_summary
|
||||
#: model_terms:ir.ui.view,arch_db:stock_picking_report_summary.view_picking_summary_wizard_form
|
||||
@@ -168,6 +198,11 @@ msgstr "Quantité total"
|
||||
msgid "Standard Price Total"
|
||||
msgstr "Total prix de vente"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model_terms:ir.ui.view,arch_db:stock_picking_report_summary.picking_summary
|
||||
msgid "Standard Unit Price"
|
||||
msgstr "Coût unitaire"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model_terms:ir.ui.view,arch_db:stock_picking_report_summary.view_picking_summary_wizard_form
|
||||
msgid "Summary"
|
||||
@@ -178,11 +213,6 @@ msgstr "Résumé"
|
||||
msgid "Total price"
|
||||
msgstr "Prix total"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model_terms:ir.ui.view,arch_db:stock_picking_report_summary.picking_summary
|
||||
msgid "Unit Price"
|
||||
msgstr "Prix unitaire"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model_terms:ir.ui.view,arch_db:stock_picking_report_summary.picking_summary
|
||||
msgid "Unity"
|
||||
@@ -193,18 +223,3 @@ msgstr "Unité"
|
||||
#: model:ir.model.fields,field_description:stock_picking_report_summary.field_picking_summary_wizard_product__wizard_id
|
||||
msgid "Wizard"
|
||||
msgstr "Assistant"
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model,name:stock_picking_report_summary.model_picking_summary_wizard
|
||||
msgid "picking.summary.wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model,name:stock_picking_report_summary.model_picking_summary_wizard_picking
|
||||
msgid "picking.summary.wizard.picking"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_picking_report_summary
|
||||
#: model:ir.model,name:stock_picking_report_summary.model_picking_summary_wizard_product
|
||||
msgid "picking.summary.wizard.product"
|
||||
msgstr ""
|
||||
|
||||
@@ -10,6 +10,37 @@ class PickingSummaryWizard(models.TransientModel):
|
||||
_name = 'picking.summary.wizard'
|
||||
_description = 'Picking Summary Wizard'
|
||||
|
||||
# Columns Section
|
||||
print_summary = fields.Boolean(
|
||||
string='Print Summary', default=True)
|
||||
|
||||
print_detail = fields.Boolean(
|
||||
string='Print Detail', default=True)
|
||||
|
||||
print_unity_in_list = fields.Boolean(
|
||||
string='Print Unit in Pickings List', default=True)
|
||||
|
||||
print_prices = fields.Boolean(
|
||||
string='Print Standard Prices', default=False)
|
||||
|
||||
product_line_ids = fields.One2many(
|
||||
comodel_name='picking.summary.wizard.product',
|
||||
inverse_name='wizard_id',
|
||||
default=lambda self: self._default_product_line_ids())
|
||||
|
||||
standard_price_total = fields.Float(
|
||||
compute='_compute_standard_price_total',
|
||||
digits=dp.get_precision('Product Price'))
|
||||
|
||||
picking_line_ids = fields.One2many(
|
||||
comodel_name='picking.summary.wizard.picking',
|
||||
inverse_name='wizard_id',
|
||||
default=lambda self: self._default_picking_line_ids())
|
||||
|
||||
picking_line_qty = fields.Integer(
|
||||
string='Number of Selected Picking', readonly=True,
|
||||
default=lambda self: self._default_picking_line_qty())
|
||||
|
||||
# Default Section
|
||||
def _default_picking_line_qty(self):
|
||||
return len(self._context.get('active_ids', []))
|
||||
@@ -48,9 +79,6 @@ class PickingSummaryWizard(models.TransientModel):
|
||||
# Arranged in alphabetical order for category then product name
|
||||
product_lines_sorted = sorted(
|
||||
product_lines.items(), key=lambda x: (x[1]['categ'], x[1]['name']))
|
||||
# product_lines_sorted = sorted(
|
||||
# dict(product_lines_sorted).items(),
|
||||
# key=lambda x: )
|
||||
for product_id, name_qty in product_lines_sorted:
|
||||
res.append((0, 0, {
|
||||
'product_id': product_id,
|
||||
@@ -58,32 +86,6 @@ class PickingSummaryWizard(models.TransientModel):
|
||||
}))
|
||||
return res
|
||||
|
||||
# Columns Section
|
||||
print_summary = fields.Boolean(
|
||||
string='Print Summary', default=True)
|
||||
|
||||
print_detail = fields.Boolean(
|
||||
string='Print Detail', default=True)
|
||||
|
||||
print_unity_in_list = fields.Boolean(
|
||||
string='Print Unit in Pickings List', default=True)
|
||||
|
||||
product_line_ids = fields.One2many(
|
||||
comodel_name='picking.summary.wizard.product',
|
||||
inverse_name='wizard_id', default=_default_product_line_ids)
|
||||
|
||||
standard_price_total = fields.Float(
|
||||
compute='_compute_standard_price_total',
|
||||
digits=dp.get_precision('Product Unit of Measure'))
|
||||
|
||||
picking_line_ids = fields.One2many(
|
||||
comodel_name='picking.summary.wizard.picking',
|
||||
inverse_name='wizard_id', default=_default_picking_line_ids)
|
||||
|
||||
picking_line_qty = fields.Integer(
|
||||
string='Number of Selected Picking', readonly=True,
|
||||
default=_default_picking_line_qty)
|
||||
|
||||
# Compute Section
|
||||
@api.multi
|
||||
def _compute_standard_price_total(self):
|
||||
|
||||
@@ -16,9 +16,13 @@ class PickingSummaryWizardProduct(models.TransientModel):
|
||||
|
||||
quantity_total = fields.Float()
|
||||
|
||||
standard_price = fields.Float(
|
||||
related='product_id.standard_price',
|
||||
digits=dp.get_precision('Product Price'))
|
||||
|
||||
standard_price_total = fields.Float(
|
||||
compute='_compute_standard_price_total',
|
||||
digits=dp.get_precision('Product Unit of Measure'))
|
||||
digits=dp.get_precision('Product Price'))
|
||||
|
||||
@api.multi
|
||||
def _compute_standard_price_total(self):
|
||||
|
||||
@@ -4,3 +4,6 @@ print a Report summary with two sheets :
|
||||
* Products Summary (where the total sum is calculated for each product)
|
||||
|
||||
* Detail Part (each Picking is shown)
|
||||
|
||||
You can choose to print standard prices or not. It can be useful to check some
|
||||
values when you prepare your pickings.
|
||||
|
||||
@@ -6,6 +6,12 @@ To use this module, you need to
|
||||
|
||||
* Select any pickings and click on 'Action' / 'Print Picking Summary (PDF)'
|
||||
|
||||
* Choose your options
|
||||
|
||||
.. figure:: ../static/description/wizard.png
|
||||
|
||||
.. figure:: ../static/description/pdf_report.png
|
||||
|
||||
Without prices :
|
||||
|
||||
.. figure:: ../static/description/pdf_report_wo_prices.png
|
||||
|
||||
@@ -4,16 +4,16 @@
|
||||
<t t-call="web.basic_layout">
|
||||
<t t-foreach="docs" t-as="picking_w">
|
||||
<style type="text/css">
|
||||
table, th, td {
|
||||
table, th, td {
|
||||
border: 1px solid #4a4a4a;
|
||||
width:100%;
|
||||
}
|
||||
h1 {
|
||||
text-align:center;
|
||||
}
|
||||
th, td {
|
||||
padding: 8px;
|
||||
}
|
||||
th, td {
|
||||
padding: 8px;
|
||||
}
|
||||
.align-center{
|
||||
text-align:center;
|
||||
}
|
||||
@@ -28,8 +28,8 @@
|
||||
<th>Category</th>
|
||||
<th class="align-center">Quantity</th>
|
||||
<th class="align-center">Unity</th>
|
||||
<th class="align-center">Unit Price</th>
|
||||
<th class="align-center">Total price</th>
|
||||
<th t-if="picking_w.print_prices" class="align-center">Standard Unit Price</th>
|
||||
<th t-if="picking_w.print_prices" class="align-center">Total price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -43,16 +43,16 @@
|
||||
<td class="align-center">
|
||||
<span t-field="product_line.product_id.uom_id.name"/>
|
||||
</td>
|
||||
<td class="align-center">
|
||||
<span t-esc="round(product_line.product_id.standard_price,2)"/>
|
||||
<td t-if="picking_w.print_prices" class="align-center">
|
||||
<span t-esc="product_line.product_id.standard_price"/>
|
||||
</td>
|
||||
<td class="align-center">
|
||||
<span t-esc="round(product_line.standard_price_total,2)"/>
|
||||
<td t-if="picking_w.print_prices" class="align-center">
|
||||
<span t-esc="product_line.standard_price_total"/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tfoot t-if="picking_w.print_prices">
|
||||
<tr>
|
||||
<th colspan="5">Standard Price Total</th>
|
||||
<td class="align-center">
|
||||
@@ -112,4 +112,3 @@
|
||||
</template>
|
||||
|
||||
</odoo>
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 20 KiB |
@@ -374,6 +374,8 @@ print a Report summary with two sheets :</p>
|
||||
<li>Products Summary (where the total sum is calculated for each product)</li>
|
||||
<li>Detail Part (each Picking is shown)</li>
|
||||
</ul>
|
||||
<p>You can choose to print standard prices or not. It can be useful to check some
|
||||
values when you prepare your pickings.</p>
|
||||
<p><strong>Table of contents</strong></p>
|
||||
<div class="contents local topic" id="contents">
|
||||
<ul class="simple">
|
||||
@@ -394,6 +396,7 @@ print a Report summary with two sheets :</p>
|
||||
<li>go to Inventory</li>
|
||||
<li>Choose a Operation</li>
|
||||
<li>Select any pickings and click on ‘Action’ / ‘Print Picking Summary (PDF)’</li>
|
||||
<li>Choose your options</li>
|
||||
</ul>
|
||||
<div class="figure">
|
||||
<img alt="https://raw.githubusercontent.com/quentinDupont/stock-logistics-reporting/12.0_ADD_picking_summary_report/stock_picking_report_summary/static/description/wizard.png" src="https://raw.githubusercontent.com/quentinDupont/stock-logistics-reporting/12.0_ADD_picking_summary_report/stock_picking_report_summary/static/description/wizard.png" />
|
||||
@@ -401,6 +404,10 @@ print a Report summary with two sheets :</p>
|
||||
<div class="figure">
|
||||
<img alt="https://raw.githubusercontent.com/quentinDupont/stock-logistics-reporting/12.0_ADD_picking_summary_report/stock_picking_report_summary/static/description/pdf_report.png" src="https://raw.githubusercontent.com/quentinDupont/stock-logistics-reporting/12.0_ADD_picking_summary_report/stock_picking_report_summary/static/description/pdf_report.png" />
|
||||
</div>
|
||||
<p>Without prices :</p>
|
||||
<div class="figure">
|
||||
<img alt="https://raw.githubusercontent.com/quentinDupont/stock-logistics-reporting/12.0_ADD_picking_summary_report/stock_picking_report_summary/static/description/pdf_report_wo_prices.png" src="https://raw.githubusercontent.com/quentinDupont/stock-logistics-reporting/12.0_ADD_picking_summary_report/stock_picking_report_summary/static/description/pdf_report_wo_prices.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="bug-tracker">
|
||||
<h1><a class="toc-backref" href="#id2">Bug Tracker</a></h1>
|
||||
@@ -426,6 +433,8 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
|
||||
</div>
|
||||
<div class="section" id="maintainers">
|
||||
<h2><a class="toc-backref" href="#id6">Maintainers</a></h2>
|
||||
<p>Current maintainer:</p>
|
||||
<p><a class="reference external" href="https://github.com/quentinDupont"><img alt="quentinDupont" src="https://github.com/quentinDupont.png?size=40px" /></a></p>
|
||||
<p>This module is part of the <a class="reference external" href="https://github.com/quentinDupont/stock-logistics-reporting/tree/12.0_ADD_picking_summary_report/stock_picking_report_summary">quentinDupont/stock-logistics-reporting</a> project on GitHub.</p>
|
||||
<p>You are welcome to contribute.</p>
|
||||
</div>
|
||||
|
||||
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
@@ -12,7 +12,6 @@ License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
<field name="print_report_name">Pickings Summary</field>
|
||||
<field name="binding_model_id" ref="stock.model_stock_picking"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
</group>
|
||||
<group string="Summary" colspan="2">
|
||||
<field name="print_summary"/>
|
||||
<field name="print_prices" attrs="{'invisible': [('print_summary', '=', False)]}"/>
|
||||
</group>
|
||||
<group string="Pickings Details" colspan="2">
|
||||
<field name="print_detail"/>
|
||||
|
||||