diff --git a/htdocs/admin/stock.php b/htdocs/admin/stock.php
index 6fc37f45734..134aeb663b4 100644
--- a/htdocs/admin/stock.php
+++ b/htdocs/admin/stock.php
@@ -483,13 +483,15 @@ if ($virtualdiffersfromphysical)
print ''."\n";
print '
';
- print ''.$langs->trans("UseVirtualStockByDefault").' ';
+ print '';
+ print $form->textwithpicto($langs->trans("UseRealStockByDefault"), $langs->trans("ReplenishmentCalculation"));
+ print ' ';
print '';
if ($conf->use_javascript_ajax) {
- print ajax_constantonoff('STOCK_USE_VIRTUAL_STOCK');
+ print ajax_constantonoff('STOCK_USE_REAL_STOCK_BY_DEFAULT_FOR_REPLENISHMENT');
} else {
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
- print $form->selectarray("STOCK_USE_VIRTUAL_STOCK", $arrval, $conf->global->STOCK_USE_VIRTUAL_STOCK);
+ print $form->selectarray("STOCK_USE_REAL_STOCK_BY_DEFAULT_FOR_REPLENISHMENT", $arrval, $conf->global->STOCK_USE_REAL_STOCK_BY_DEFAULT_FOR_REPLENISHMENT);
}
print " \n";
print " \n";
diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang
index ac97c24085c..b0507c69071 100644
--- a/htdocs/langs/en_US/stocks.lang
+++ b/htdocs/langs/en_US/stocks.lang
@@ -122,8 +122,9 @@ DesiredStockDesc=This stock amount will be the value used to fill the stock by r
StockToBuy=To order
Replenishment=Replenishment
ReplenishmentOrders=Replenishment orders
-VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ
-UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature
+VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical stock + open orders) may differ
+UseRealStockByDefault=Use real stock, instead of virtual stock, for replenishment feature
+ReplenishmentCalculation=Amount to order will be (desired quantity - real stock) instead of (desired quantity - virtual stock)
UseVirtualStock=Use virtual stock
UsePhysicalStock=Use physical stock
CurentSelectionMode=Current selection mode
diff --git a/htdocs/product/stock/replenish.php b/htdocs/product/stock/replenish.php
index 0fd5a658a0b..96b9d62c3fb 100644
--- a/htdocs/product/stock/replenish.php
+++ b/htdocs/product/stock/replenish.php
@@ -80,7 +80,6 @@ if (!$sortorder) {
$sortorder = 'ASC';
}
-// Define virtualdiffersfromphysical
$virtualdiffersfromphysical = 0;
if (!empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT)
|| !empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER)
@@ -92,7 +91,11 @@ if (!empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT)
$virtualdiffersfromphysical = 1; // According to increase/decrease stock options, virtual and physical stock may differs.
}
-$usevirtualstock = !empty($conf->global->STOCK_USE_VIRTUAL_STOCK);
+if ($virtualdiffersfromphysical) {
+ $usevirtualstock = empty($conf->global->STOCK_USE_REAL_STOCK_BY_DEFAULT_FOR_REPLENISHMENT) ? 1 : 0;
+} else {
+ $usevirtualstock = 0;
+}
if ($mode == 'physical') $usevirtualstock = 0;
if ($mode == 'virtual') $usevirtualstock = 1;
@@ -526,22 +529,23 @@ print load_fiche_titre($langs->trans('Replenishment'), '', 'stock');
print dol_get_fiche_head($head, 'replenish', '', -1, '');
-print ''.$langs->trans("ReplenishmentStatusDesc").' '."\n";
+print ''.$langs->trans("ReplenishmentStatusDesc").' '."\n";
if (empty($fk_warhouse) && !empty($conf->global->STOCK_ALLOW_ADD_LIMIT_STOCK_BY_WAREHOUSE)) {
print ''.$langs->trans("ReplenishmentStatusDescPerWarehouse").' '." \n";
}
+print ' ';
if ($usevirtualstock == 1)
{
print $langs->trans("CurentSelectionMode").': ';
- print $langs->trans("CurentlyUsingVirtualStock");
- print ' ('.$langs->trans("UsePhysicalStock").' )';
+ print ''.$langs->trans("UseVirtualStock").' ';
+ print ' '.$langs->trans("UsePhysicalStock").' ';
print ' ';
}
if ($usevirtualstock == 0)
{
print $langs->trans("CurentSelectionMode").': ';
- print $langs->trans("CurentlyUsingPhysicalStock");
- print ' ('.$langs->trans("UseVirtualStock").' )';
+ print ''.$langs->trans("UseVirtualStock").' ';
+ print ' '.$langs->trans("UsePhysicalStock").' ';
print ' ';
}
print ' '."\n";
@@ -591,54 +595,33 @@ print ' ';
if ($search_ref || $search_label || $sall || $salert || $draftorder || GETPOST('search', 'alpha')) {
- $filters = '&search_ref='.$search_ref.'&search_label='.$search_label;
- $filters .= '&sall='.$sall;
- $filters .= '&salert='.$salert;
- $filters .= '&draftorder='.$draftorder;
- $filters .= '&mode='.$mode;
- $filters .= '&fk_supplier='.$fk_supplier;
- $filters .= '&fk_entrepot='.$fk_entrepot;
- print_barre_liste(
- $texte,
- $page,
- 'replenish.php',
- $filters,
- $sortfield,
- $sortorder,
- '',
- $num
- );
+ $filters = '&search_ref='.urlencode($search_ref).'&search_label='.urlencode($search_label);
+ $filters .= '&sall='.urlencode($sall);
+ $filters .= '&salert='.urlencode($salert);
+ $filters .= '&draftorder='.urlencode($draftorder);
+ $filters .= '&mode='.urlencode($mode);
+ $filters .= '&fk_supplier='.urlencode($fk_supplier);
+ $filters .= '&fk_entrepot='.urlencode($fk_entrepot);
} else {
- $filters = '&search_ref='.$search_ref.'&search_label='.$search_label;
- $filters .= '&fourn_id='.$fourn_id;
- $filters .= (isset($type) ? '&type='.$type : '');
- $filters .= '&='.$salert;
- $filters .= '&draftorder='.$draftorder;
- $filters .= '&mode='.$mode;
- $filters .= '&fk_supplier='.$fk_supplier;
- $filters .= '&fk_entrepot='.$fk_entrepot;
- print_barre_liste(
- $texte,
- $page,
- 'replenish.php',
- $filters,
- $sortfield,
- $sortorder,
- '',
- $num
- );
+ $filters = '&search_ref='.urlencode($search_ref).'&search_label='.urlencode($search_label);
+ $filters .= '&fourn_id='.urlencode($fourn_id);
+ $filters .= (isset($type) ? '&type='.urlencode($type) : '');
+ $filters .= '&='.urlencode($salert);
+ $filters .= '&draftorder='.urlencode($draftorder);
+ $filters .= '&mode='.urlencode($mode);
+ $filters .= '&fk_supplier='.urlencode($fk_supplier);
+ $filters .= '&fk_entrepot='.urlencode($fk_entrepot);
}
-
if ($limit > 0 && $limit != $conf->liste_limit) {
$filters .= '&limit='.urlencode($limit);
}
-$param = (isset($type) ? '&type='.$type : '');
-$param .= '&fourn_id='.$fourn_id.'&search_label='.$search_label.'&includeproductswithoutdesiredqty='.$includeproductswithoutdesiredqty.'&salert='.$salert.'&draftorder='.$draftorder;
-$param .= '&search_ref='.$search_ref;
-$param .= '&mode='.$mode;
-$param .= '&fk_supplier='.$fk_supplier;
-$param .= '&fk_entrepot='.$fk_entrepot;
+$param = (isset($type) ? '&type='.urlencode($type) : '');
+$param .= '&fourn_id='.urlencode($fourn_id).'&search_label='.urlencode($search_label).'&includeproductswithoutdesiredqty='.urlencode($includeproductswithoutdesiredqty).'&salert='.urlencode($salert).'&draftorder='.urlencode($draftorder);
+$param .= '&search_ref='.urlencode($search_ref);
+$param .= '&mode='.urlencode($mode);
+$param .= '&fk_supplier='.urlencode($fk_supplier);
+$param .= '&fk_entrepot='.urlencode($fk_entrepot);
$stocklabel = $langs->trans('Stock');
$stocklabelbis = $langs->trans('Stock');
@@ -651,6 +634,8 @@ if (!empty($conf->global->STOCK_ALLOW_ADD_LIMIT_STOCK_BY_WAREHOUSE) && $fk_entre
}
$texte = $langs->trans('Replenishment');
+print ' ';
+
print ''; // You can use div-table-responsive-no-min if you dont need reserved height for your table
if (!empty($conf->global->REPLENISH_ALLOW_VARIABLESIZELIST)) {
@@ -664,7 +649,7 @@ if (!empty($conf->global->REPLENISH_ALLOW_VARIABLESIZELIST)) {
'',
$num,
$nbtotalofrecords,
- 'object_stock.png',
+ '',
0,
'',
'',
@@ -681,7 +666,7 @@ if (!empty($conf->global->REPLENISH_ALLOW_VARIABLESIZELIST)) {
'',
$num,
$nbtotalofrecords,
- 'object_stock.png'
+ ''
);
}