Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
8b60c79033
@ -81,6 +81,8 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog('No dispatch for line '.$key.' as no warehouse choosed');
|
dol_syslog('No dispatch for line '.$key.' as no warehouse choosed');
|
||||||
|
$text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').'' .($reg[1]-1);
|
||||||
|
setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -190,8 +192,8 @@ if ($id > 0 || ! empty($ref))
|
|||||||
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
|
|
||||||
if ($mesg) print $mesg;
|
//if ($mesg) print $mesg;
|
||||||
else print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
|
|
||||||
$disabled=1;
|
$disabled=1;
|
||||||
@ -271,41 +273,47 @@ if ($id > 0 || ! empty($ref))
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$nbproduct++;
|
|
||||||
|
|
||||||
$remaintodispatch=($objp->qty - $products_dispatched[$objp->fk_product]); // Calculation of dispatched
|
$remaintodispatch=($objp->qty - $products_dispatched[$objp->fk_product]); // Calculation of dispatched
|
||||||
if ($remaintodispatch < 0) $remaintodispatch=0;
|
if ($remaintodispatch < 0) $remaintodispatch=0;
|
||||||
|
if ($remaintodispatch)
|
||||||
$var=!$var;
|
|
||||||
print "<tr ".$bc[$var].">";
|
|
||||||
print '<td>';
|
|
||||||
print '<a href="'.DOL_URL_ROOT.'/product/fournisseurs.php?id='.$objp->fk_product.'">'.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.'</a>';
|
|
||||||
print ' - '.$objp->label;
|
|
||||||
// To show detail cref and description value, we must make calculation by cref
|
|
||||||
//print ($objp->cref?' ('.$objp->cref.')':'');
|
|
||||||
//if ($objp->description) print '<br>'.nl2br($objp->description);
|
|
||||||
print '<input name="product_'.$i.'" type="hidden" value="'.$objp->fk_product.'">';
|
|
||||||
print '<input name="pu_'.$i.'" type="hidden" value="'.$objp->subprice.'">';
|
|
||||||
print "</td>\n";
|
|
||||||
|
|
||||||
print '<td align="right">'.$objp->qty.'</td>';
|
|
||||||
print '<td align="right">'.$products_dispatched[$objp->fk_product].'</td>';
|
|
||||||
|
|
||||||
// Dispatch
|
|
||||||
print '<td align="right"><input name="qty_'.$i.'" type="text" size="8" value="'.($remaintodispatch).'"></td>';
|
|
||||||
|
|
||||||
// Warehouse
|
|
||||||
print '<td align="right">';
|
|
||||||
if (count($listwarehouses))
|
|
||||||
{
|
{
|
||||||
print $form->selectarray("entrepot_".$i, $listwarehouses, '', $disabled, 0, 0, '', 0, 0, $disabled);
|
$nbproduct++;
|
||||||
|
|
||||||
|
$var=!$var;
|
||||||
|
print "<tr ".$bc[$var].">";
|
||||||
|
print '<td>';
|
||||||
|
print '<a href="'.DOL_URL_ROOT.'/product/fournisseurs.php?id='.$objp->fk_product.'">'.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.'</a>';
|
||||||
|
print ' - '.$objp->label;
|
||||||
|
// To show detail cref and description value, we must make calculation by cref
|
||||||
|
//print ($objp->cref?' ('.$objp->cref.')':'');
|
||||||
|
//if ($objp->description) print '<br>'.nl2br($objp->description);
|
||||||
|
print '<input name="product_'.$i.'" type="hidden" value="'.$objp->fk_product.'">';
|
||||||
|
print '<input name="pu_'.$i.'" type="hidden" value="'.$objp->subprice.'">';
|
||||||
|
print "</td>\n";
|
||||||
|
|
||||||
|
print '<td align="right">'.$objp->qty.'</td>';
|
||||||
|
print '<td align="right">'.$products_dispatched[$objp->fk_product].'</td>';
|
||||||
|
|
||||||
|
// Dispatch
|
||||||
|
print '<td align="right"><input name="qty_'.$i.'" type="text" size="8" value="'.($remaintodispatch).'"></td>';
|
||||||
|
|
||||||
|
// Warehouse
|
||||||
|
print '<td align="right">';
|
||||||
|
if (count($listwarehouses)>1)
|
||||||
|
{
|
||||||
|
print $form->selectarray("entrepot_".$i, $listwarehouses, '', 1, 0, 0, '', 0, 0, $disabled);
|
||||||
|
}
|
||||||
|
elseif (count($listwarehouses)==1)
|
||||||
|
{
|
||||||
|
print $form->selectarray("entrepot_".$i, $listwarehouses, '', 0, 0, 0, '', 0, 0, $disabled);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print $langs->trans("NoWarehouseDefined");
|
||||||
|
}
|
||||||
|
print "</td>\n";
|
||||||
|
print "</tr>\n";
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
print $langs->trans("NoWarehouseDefined");
|
|
||||||
}
|
|
||||||
print "</td>\n";
|
|
||||||
print "</tr>\n";
|
|
||||||
}
|
}
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
@ -339,6 +347,8 @@ if ($id > 0 || ! empty($ref))
|
|||||||
print '</form>';
|
print '</form>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dol_fiche_end();
|
||||||
|
|
||||||
// List of already dispatching
|
// List of already dispatching
|
||||||
$sql = "SELECT p.ref, p.label,";
|
$sql = "SELECT p.ref, p.label,";
|
||||||
$sql.= " e.rowid as warehouse_id, e.label as entrepot,";
|
$sql.= " e.rowid as warehouse_id, e.label as entrepot,";
|
||||||
@ -360,6 +370,8 @@ if ($id > 0 || ! empty($ref))
|
|||||||
{
|
{
|
||||||
print "<br/>\n";
|
print "<br/>\n";
|
||||||
|
|
||||||
|
print_titre($langs->trans("ReceivingForSameOrder"));
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
@ -399,19 +411,6 @@ if ($id > 0 || ! empty($ref))
|
|||||||
{
|
{
|
||||||
dol_print_error($db);
|
dol_print_error($db);
|
||||||
}
|
}
|
||||||
|
|
||||||
dol_fiche_end();
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Boutons actions
|
|
||||||
*/
|
|
||||||
if ($user->societe_id == 0 && $commande->statut < 3 && ($_GET["action"] <> 'valid' || $_GET['action'] == 'builddoc'))
|
|
||||||
{
|
|
||||||
//print '<div class="tabsAction">';
|
|
||||||
|
|
||||||
//print "</div>";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -109,3 +109,4 @@ NbOfProductAfterPeriod=Quantity of product %s in stock after selected period (>
|
|||||||
MassStockMovement=Mass stock movement
|
MassStockMovement=Mass stock movement
|
||||||
SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s".
|
SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s".
|
||||||
RecordMovement=Record transfert
|
RecordMovement=Record transfert
|
||||||
|
ReceivingForSameOrder=Receivings for this order
|
||||||
@ -47,7 +47,7 @@ PMPValue=Valor (PMP)
|
|||||||
PMPValueShort=PMP
|
PMPValueShort=PMP
|
||||||
EnhancedValueOfWarehouses=Valor de stocks
|
EnhancedValueOfWarehouses=Valor de stocks
|
||||||
UserWarehouseAutoCreate=Crear automáticamente existencias/almacén propio del usuario en la creación del usuario
|
UserWarehouseAutoCreate=Crear automáticamente existencias/almacén propio del usuario en la creación del usuario
|
||||||
QtyDispatched=Cantidad desglosada
|
QtyDispatched=Cantidad recibida
|
||||||
OrderDispatch=Recepción de stocks
|
OrderDispatch=Recepción de stocks
|
||||||
RuleForStockManagementDecrease=Regla de gestión de decrementos de stock
|
RuleForStockManagementDecrease=Regla de gestión de decrementos de stock
|
||||||
RuleForStockManagementIncrease=Regla de gestión de incrementos de stock
|
RuleForStockManagementIncrease=Regla de gestión de incrementos de stock
|
||||||
@ -61,7 +61,7 @@ ReStockOnDeleteInvoice=Incrementa los stocks físicos en la eliminación de fact
|
|||||||
OrderStatusNotReadyToDispatch=El pedido aún no está o no tiene un estado que permita un desglose de stock.
|
OrderStatusNotReadyToDispatch=El pedido aún no está o no tiene un estado que permita un desglose de stock.
|
||||||
StockDiffPhysicTeoric=Motivo de la diferencia entre valores físicos y teóricos
|
StockDiffPhysicTeoric=Motivo de la diferencia entre valores físicos y teóricos
|
||||||
NoPredefinedProductToDispatch=No hay productos predefinidos en este objeto. Por lo tanto no se puede realizar un desglose de stock.
|
NoPredefinedProductToDispatch=No hay productos predefinidos en este objeto. Por lo tanto no se puede realizar un desglose de stock.
|
||||||
DispatchVerb=Desglosar
|
DispatchVerb=Validar recepción
|
||||||
StockLimitShort=Límite
|
StockLimitShort=Límite
|
||||||
StockLimit=Stock límite para alertas
|
StockLimit=Stock límite para alertas
|
||||||
PhysicalStock=Stock físico
|
PhysicalStock=Stock físico
|
||||||
@ -96,16 +96,17 @@ Replenishment=Reaprovisionamiento
|
|||||||
ReplenishmentOrders=Ordenes de reaprovisionamiento
|
ReplenishmentOrders=Ordenes de reaprovisionamiento
|
||||||
UseVirtualStock=Usar stock virtual en lugar de stock físico
|
UseVirtualStock=Usar stock virtual en lugar de stock físico
|
||||||
RuleForStockReplenishment=Regla para el reaprovisionamiento de stock
|
RuleForStockReplenishment=Regla para el reaprovisionamiento de stock
|
||||||
SelectProductWithNotNullQty=Seleccione al menos un proveedor y un producto con una cantidad válida
|
SelectProductWithNotNullQty=Seleccie al menos un producto con una cantidad distinta de cero y un proveedor
|
||||||
AlertOnly= Sólo alertas
|
AlertOnly=Sólo alertas
|
||||||
WarehouseForStockDecrease=El almacén <b>%s</b> será utilizado para el decremento de stock
|
WarehouseForStockDecrease=Para el decremento de stock se usará el almacén <b>%s</b>
|
||||||
WarehouseForStockIncrease=El almacén <b>%s</b> será utilizado para el incremento de stock
|
WarehouseForStockIncrease=Para el incremento de stock se usará el almacén <b>%s</b>
|
||||||
ForThisWarehouse=Para este almacén
|
ForThisWarehouse=Para este almacén
|
||||||
ReplenishmentStatusDesc=Esta es la lista de todos los productos con un stock físico menor que el stock deseado (o un valor de alerta si el checkbox "sólo alertas" está marcado) y que sugiere crear pedidos de proveedor para rellenar la diferencia.
|
ReplenishmentStatusDesc=Este listado le permite ver productos con un stock inferior a la cantidad mínima deseada (o valor de alerta si el checkbok "Sólo alertas" está activado) y le sugiere crear los pedidos a proveedores para completar la diferencia.
|
||||||
ReplenishmentOrdersDesc=Esta es la lista de todos los pedidos de proveedor abiertos
|
ReplenishmentOrdersDesc=Este es el listado de pedidos a proveedores en curso
|
||||||
Replenishments=Reaprovisionamientos
|
Replenishments=Reaprovisionamiento
|
||||||
NbOfProductBeforePeriod=Cantidad de producto %s en stock antes del periodo seleccionado (< %s)
|
NbOfProductBeforePeriod=Cantidad del producto %s en stock antes del periodo seleccionado (< %s)
|
||||||
NbOfProductAfterPeriod=Cantidad de producto %s en stock después del periodo seleccionado (< %s)
|
NbOfProductAfterPeriod=Cantidad del producto %s en stock después del periodo seleccionado (> %s)
|
||||||
MassStockMovement=Movimiento de stock masivo
|
MassStockMovement=Movimientos de stock en masa
|
||||||
SelectProductInAndOutWareHouse=Seleccione un producto, una cantidad, un almacén de origen y un almacén de destino, después pulse "%s". Una vez esto sea realizado para todos los movimientos requeridos, pulse en "%s".
|
SelectProductInAndOutWareHouse=Selecccione un producto, una cantidad, un almacén origen y un almacén destino, seguidamente haga clic "%s". Una vez seleccionados todos los movimientos, haga clic en "%s".
|
||||||
RecordMovement=Registrar transferencias
|
RecordMovement=Registrar transferencias
|
||||||
|
ReceivingForSameOrder=Recepciones de este pedido
|
||||||
@ -109,3 +109,4 @@ NbOfProductAfterPeriod=Quantité du produit <b>%s</b> en stock après la périod
|
|||||||
MassStockMovement=Mouvement de stock en masse
|
MassStockMovement=Mouvement de stock en masse
|
||||||
SelectProductInAndOutWareHouse=Sélectionner un produit, une quantité à transférer, un entrepôt source et destination et cliquer sur "%s". Une fois tous les mouvements choisis, cliquer sur "%s".
|
SelectProductInAndOutWareHouse=Sélectionner un produit, une quantité à transférer, un entrepôt source et destination et cliquer sur "%s". Une fois tous les mouvements choisis, cliquer sur "%s".
|
||||||
RecordMovement=Enregistrer transferts
|
RecordMovement=Enregistrer transferts
|
||||||
|
ReceivingForSameOrder=Réceptions pour cette commande
|
||||||
Loading…
Reference in New Issue
Block a user