Qual: Improve suppliers orders manual receivings
This commit is contained in:
parent
2e5320a532
commit
b9c8852471
@ -81,6 +81,8 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece
|
||||
else
|
||||
{
|
||||
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>";
|
||||
|
||||
if ($mesg) print $mesg;
|
||||
else print '<br>';
|
||||
//if ($mesg) print $mesg;
|
||||
print '<br>';
|
||||
|
||||
|
||||
$disabled=1;
|
||||
@ -271,41 +273,47 @@ if ($id > 0 || ! empty($ref))
|
||||
}
|
||||
else
|
||||
{
|
||||
$nbproduct++;
|
||||
|
||||
$remaintodispatch=($objp->qty - $products_dispatched[$objp->fk_product]); // Calculation of dispatched
|
||||
if ($remaintodispatch < 0) $remaintodispatch=0;
|
||||
|
||||
$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))
|
||||
if ($remaintodispatch)
|
||||
{
|
||||
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++;
|
||||
}
|
||||
@ -338,6 +346,8 @@ if ($id > 0 || ! empty($ref))
|
||||
|
||||
print '</form>';
|
||||
}
|
||||
|
||||
dol_fiche_end();
|
||||
|
||||
// List of already dispatching
|
||||
$sql = "SELECT p.ref, p.label,";
|
||||
@ -359,7 +369,9 @@ if ($id > 0 || ! empty($ref))
|
||||
if ($num > 0)
|
||||
{
|
||||
print "<br/>\n";
|
||||
|
||||
|
||||
print_titre($langs->trans("ReceivingForSameOrder"));
|
||||
|
||||
print '<table class="noborder" width="100%">';
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
@ -399,19 +411,6 @@ if ($id > 0 || ! empty($ref))
|
||||
{
|
||||
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
|
||||
{
|
||||
|
||||
@ -108,4 +108,5 @@ NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (
|
||||
NbOfProductAfterPeriod=Quantity of product %s in stock after selected period (> %s)
|
||||
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".
|
||||
RecordMovement=Record transfert
|
||||
RecordMovement=Record transfert
|
||||
ReceivingForSameOrder=Receivings for this order
|
||||
@ -47,7 +47,7 @@ PMPValue=Valor (PMP)
|
||||
PMPValueShort=PMP
|
||||
EnhancedValueOfWarehouses=Valor de stocks
|
||||
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
|
||||
RuleForStockManagementDecrease=Regla de gestión de decrementos 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.
|
||||
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.
|
||||
DispatchVerb=Desglosar
|
||||
DispatchVerb=Validar recepción
|
||||
StockLimitShort=Límite
|
||||
StockLimit=Stock límite para alertas
|
||||
PhysicalStock=Stock físico
|
||||
@ -96,16 +96,17 @@ Replenishment=Reaprovisionamiento
|
||||
ReplenishmentOrders=Ordenes de reaprovisionamiento
|
||||
UseVirtualStock=Usar stock virtual en lugar de stock físico
|
||||
RuleForStockReplenishment=Regla para el reaprovisionamiento de stock
|
||||
SelectProductWithNotNullQty=Seleccione al menos un proveedor y un producto con una cantidad válida
|
||||
AlertOnly= Sólo alertas
|
||||
WarehouseForStockDecrease=El almacén <b>%s</b> será utilizado para el decremento de stock
|
||||
WarehouseForStockIncrease=El almacén <b>%s</b> será utilizado para el incremento de stock
|
||||
SelectProductWithNotNullQty=Seleccie al menos un producto con una cantidad distinta de cero y un proveedor
|
||||
AlertOnly=Sólo alertas
|
||||
WarehouseForStockDecrease=Para el decremento de stock se usará el almacén <b>%s</b>
|
||||
WarehouseForStockIncrease=Para el incremento de stock se usará el almacén <b>%s</b>
|
||||
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.
|
||||
ReplenishmentOrdersDesc=Esta es la lista de todos los pedidos de proveedor abiertos
|
||||
Replenishments=Reaprovisionamientos
|
||||
NbOfProductBeforePeriod=Cantidad de producto %s en stock antes del periodo seleccionado (< %s)
|
||||
NbOfProductAfterPeriod=Cantidad de producto %s en stock después del periodo seleccionado (< %s)
|
||||
MassStockMovement=Movimiento de stock masivo
|
||||
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".
|
||||
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=Este es el listado de pedidos a proveedores en curso
|
||||
Replenishments=Reaprovisionamiento
|
||||
NbOfProductBeforePeriod=Cantidad del producto %s en stock antes del periodo seleccionado (< %s)
|
||||
NbOfProductAfterPeriod=Cantidad del producto %s en stock después del periodo seleccionado (> %s)
|
||||
MassStockMovement=Movimientos de stock en masa
|
||||
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
|
||||
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
|
||||
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
|
||||
ReceivingForSameOrder=Réceptions pour cette commande
|
||||
Loading…
Reference in New Issue
Block a user