Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2013-11-14 17:17:19 +01:00
commit 8b60c79033
4 changed files with 63 additions and 61 deletions

View File

@ -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
{ {

View File

@ -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

View File

@ -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

View File

@ -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