diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php
index 14cd07ec817..f12316591d0 100644
--- a/htdocs/product/stock/product.php
+++ b/htdocs/product/stock/product.php
@@ -110,7 +110,7 @@ $parameters=array('id'=>$id, 'ref'=>$ref, 'objcanvas'=>$objcanvas);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
-if($action == 'addlimitstockwarehouse') {
+if ($action == 'addlimitstockwarehouse') {
$seuil_stock_alerte = GETPOST('seuil_stock_alerte');
$desiredstock = GETPOST('desiredstock');
@@ -625,7 +625,8 @@ if ($id > 0 || $ref)
print '';
// Real stock
- $text_stock_options = '';
+ $text_stock_options = $langs->trans("RealStockDesc").'
';
+ $text_stock_options.= $langs->trans("RealStockWillAutomaticallyWhen").'
';
$text_stock_options.= (! empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT) || ! empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT_CLOSE)?$langs->trans("DeStockOnShipment").'
':'');
$text_stock_options.= (! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER)?$langs->trans("DeStockOnValidateOrder").'
':'');
$text_stock_options.= (! empty($conf->global->STOCK_CALCULATE_ON_BILL)?$langs->trans("DeStockOnBill").'
':'');
@@ -642,57 +643,55 @@ if ($id > 0 || $ref)
$stocktheo = price2num($object->stock_theorique, 'MS');
+ $found=0;
+ $helpondiff=''.$langs->trans("StockDiffPhysicTeoric").':
';
+ // Number of customer orders running
+ if (! empty($conf->commande->enabled))
+ {
+ if ($found) $helpondiff.='
'; else $found=1;
+ $helpondiff.=$langs->trans("ProductQtyInCustomersOrdersRunning").': '.$object->stats_commande['qty'];
+ $result=$object->load_stats_commande(0,'0');
+ if ($result < 0) dol_print_error($db,$object->error);
+ $helpondiff.=' ('.$langs->trans("ProductQtyInDraft").': '.$object->stats_commande['qty'].')';
+ }
+
+ // Number of product from customer order already sent (partial shipping)
+ if (! empty($conf->expedition->enabled))
+ {
+ if ($found) $helpondiff.='
'; else $found=1;
+ $result=$object->load_stats_sending(0,'2');
+ $helpondiff.=$langs->trans("ProductQtyInShipmentAlreadySent").': '.$object->stats_expedition['qty'];
+ }
+
+ // Number of supplier order running
+ if (! empty($conf->fournisseur->enabled))
+ {
+ if ($found) $helpondiff.='
'; else $found=1;
+ $result=$object->load_stats_commande_fournisseur(0,'3,4');
+ $helpondiff.=$langs->trans("ProductQtyInSuppliersOrdersRunning").': '.$object->stats_commande_fournisseur['qty'];
+ $result=$object->load_stats_commande_fournisseur(0,'0,1,2');
+ if ($result < 0) dol_print_error($db,$object->error);
+ $helpondiff.=' ('.$langs->trans("ProductQtyInDraftOrWaitingApproved").': '.$object->stats_commande_fournisseur['qty'].')';
+ }
+
+ // Number of product from supplier order already received (partial receipt)
+ if (! empty($conf->fournisseur->enabled))
+ {
+ if ($found) $helpondiff.='
'; else $found=1;
+ $helpondiff.=$langs->trans("ProductQtyInSuppliersShipmentAlreadyRecevied").': '.$object->stats_reception['qty'];
+ }
+
// Calculating a theorical value
- print '