FIX mrp_usability: define sold out in bottom page
This commit is contained in:
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 12.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-07-16 13:56+0000\n"
|
||||
"PO-Revision-Date: 2019-07-16 16:01+0200\n"
|
||||
"POT-Creation-Date: 2020-10-06 13:37+0000\n"
|
||||
"PO-Revision-Date: 2020-10-06 15:38+0200\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -15,41 +15,52 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: \n"
|
||||
"Language: fr\n"
|
||||
"X-Generator: Poedit 2.0.6\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
|
||||
#. module: mrp_usability
|
||||
#: model_terms:ir.ui.view,arch_db:mrp_usability.mrp_production_form_view
|
||||
msgid "Are you sure you want to cancel this manufacturing order?"
|
||||
msgstr "Etes vous sur de vouloir annuler cet ordre de production"
|
||||
|
||||
#. module: mrp_usability
|
||||
#: model_terms:ir.ui.view,arch_db:mrp_usability.product_template_form_view_bom_button
|
||||
msgid "Bill of Materials"
|
||||
msgstr "Nomenclature"
|
||||
|
||||
#. module: mrp_usability
|
||||
#: model_terms:ir.ui.view,arch_db:mrp_usability.report_mrporder
|
||||
msgid "Lot"
|
||||
msgstr ""
|
||||
|
||||
#. module: mrp_usability
|
||||
#: model:ir.model,name:mrp_usability.model_product_product
|
||||
#: model_terms:ir.ui.view,arch_db:mrp_usability.report_mrporder
|
||||
msgid "Product"
|
||||
msgstr "Article"
|
||||
|
||||
#. module: mrp_usability
|
||||
#: model:ir.model,name:mrp_usability.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Modèle d'article"
|
||||
|
||||
#. module: mrp_usability
|
||||
#: model:ir.model,name:mrp_usability.model_mrp_production
|
||||
msgid "Production Order"
|
||||
msgstr "Ordre de production"
|
||||
msgstr ""
|
||||
|
||||
#. module: mrp_usability
|
||||
#: model_terms:ir.ui.view,arch_db:mrp_usability.report_mrporder
|
||||
msgid "Quantity"
|
||||
msgstr "Quantité"
|
||||
msgid "Sold Out Quantity"
|
||||
msgstr "Quantité en Rupture"
|
||||
|
||||
#. module: mrp_usability
|
||||
#: model_terms:ir.ui.view,arch_db:mrp_usability.report_mrporder
|
||||
msgid ""
|
||||
"These products were unavailable (or partially) while edition of this Manufacturing Order.\n"
|
||||
" Here is complete quantities for these."
|
||||
" Here is missing quantities."
|
||||
msgstr ""
|
||||
"Les produits ci-dessous étaient indisponibles (complètement ou partiellement) lors de l'édition de l'OF.<br/>\n"
|
||||
"Voici les quantités totales de ceux-ci."
|
||||
"Voici les quantités manquantes."
|
||||
|
||||
#. module: mrp_usability
|
||||
#: model_terms:ir.ui.view,arch_db:mrp_usability.view_mrp_bom_filter
|
||||
|
||||
@@ -3,9 +3,18 @@
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
|
||||
from odoo import models
|
||||
from odoo import api, models
|
||||
|
||||
|
||||
class MrpProduction(models.Model):
|
||||
_inherit = 'mrp.production'
|
||||
_order = 'id desc'
|
||||
|
||||
@api.model
|
||||
def get_stock_move_sold_out_report(self, move):
|
||||
lines = move.active_move_line_ids
|
||||
qty_in_lots = sum([x.product_uom_qty for x in lines])
|
||||
diff = round(move.product_qty - qty_in_lots, 3)
|
||||
if diff == 0.0:
|
||||
return ""
|
||||
return diff
|
||||
|
||||
@@ -11,37 +11,31 @@
|
||||
<td t-if="has_serial_number"><span t-field="ml.lot_id"/></td>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//table[1]//tbody//td[3]" position="inside">
|
||||
<span t-if="ml.state !='done' and (ml.move_id.product_qty - ml.product_uom_qty > 0.0)"> => rupture </span>
|
||||
<span t-esc="round(ml.move_id.product_qty - ml.product_uom_qty, 3)" t-if="ml.state !='done' and (ml.move_id.product_qty - ml.product_uom_qty > 0.0)"/>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//div[hasclass('oe_structure')][2]" position="after">
|
||||
<t t-set="has_product_unavailable"
|
||||
t-value="any(o.move_raw_ids.filtered(lambda x: x.product_uom_qty > x.reserved_availability))"/>
|
||||
<h4 if="has_product_unavailable">
|
||||
These products were unavailable (or partially) while edition of this Manufacturing Order.
|
||||
Here is complete quantities for these.
|
||||
Here is missing quantities.
|
||||
</h4>
|
||||
<table class="table table-sm" t-if="o.move_raw_ids and has_product_unavailable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Product</th>
|
||||
<th>Quantity</th>
|
||||
<th>Sold Out Quantity</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<t t-set="lines"
|
||||
<t t-set="moves"
|
||||
t-value="o.move_raw_ids.filtered(lambda x: x.product_uom_qty > x.reserved_availability)"/>
|
||||
<t t-foreach="lines" t-as="ml">
|
||||
<t t-foreach="moves" t-as="m">
|
||||
<tr>
|
||||
<td>
|
||||
<span t-field="ml.product_id"/>
|
||||
<span t-field="m.product_id"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-esc="ml.product_uom_qty" t-if="ml.state !='done'"/>
|
||||
<span t-esc="ml.qty_done" t-if="ml.state =='done'"/>
|
||||
<span t-field="ml.product_uom" groups="uom.group_uom"/>
|
||||
<span t-esc="o.get_stock_move_sold_out_report(m)" t-if="m.state !='done'"/>
|
||||
<span t-field="m.product_uom" groups="uom.group_uom"/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
|
||||
Reference in New Issue
Block a user