From b9c8852471accccd55fbb1e50317b9233a437ced Mon Sep 17 00:00:00 2001 From: simnandez Date: Thu, 14 Nov 2013 17:08:59 +0100 Subject: [PATCH] Qual: Improve suppliers orders manual receivings --- htdocs/fourn/commande/dispatch.php | 93 +++++++++++++++--------------- htdocs/langs/en_US/stocks.lang | 3 +- htdocs/langs/es_ES/stocks.lang | 27 ++++----- htdocs/langs/fr_FR/stocks.lang | 1 + 4 files changed, 63 insertions(+), 61 deletions(-) diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index 115bd66ae48..48a2614deb0 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -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 ""; - if ($mesg) print $mesg; - else print '
'; + //if ($mesg) print $mesg; + print '
'; $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 ""; - print ''; - print ''.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.''; - 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 '
'.nl2br($objp->description); - print ''; - print ''; - print "\n"; - - print ''.$objp->qty.''; - print ''.$products_dispatched[$objp->fk_product].''; - - // Dispatch - print ''; - - // Warehouse - print ''; - if (count($listwarehouses)) + if ($remaintodispatch) { - print $form->selectarray("entrepot_".$i, $listwarehouses, '', $disabled, 0, 0, '', 0, 0, $disabled); + $nbproduct++; + + $var=!$var; + print ""; + print ''; + print ''.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.''; + 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 '
'.nl2br($objp->description); + print ''; + print ''; + print "\n"; + + print ''.$objp->qty.''; + print ''.$products_dispatched[$objp->fk_product].''; + + // Dispatch + print ''; + + // Warehouse + print ''; + 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 "\n"; + print "\n"; } - else - { - print $langs->trans("NoWarehouseDefined"); - } - print "\n"; - print "\n"; } $i++; } @@ -338,6 +346,8 @@ if ($id > 0 || ! empty($ref)) print ''; } + + 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 "
\n"; - + + print_titre($langs->trans("ReceivingForSameOrder")); + print ''; print ''; @@ -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 '
'; - - //print "
"; - } } else { diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang index 8500fc31ac6..7aad675d0ba 100644 --- a/htdocs/langs/en_US/stocks.lang +++ b/htdocs/langs/en_US/stocks.lang @@ -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 \ No newline at end of file +RecordMovement=Record transfert +ReceivingForSameOrder=Receivings for this order \ No newline at end of file diff --git a/htdocs/langs/es_ES/stocks.lang b/htdocs/langs/es_ES/stocks.lang index 7fa650aeac6..cf6e5941587 100644 --- a/htdocs/langs/es_ES/stocks.lang +++ b/htdocs/langs/es_ES/stocks.lang @@ -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 %s será utilizado para el decremento de stock -WarehouseForStockIncrease=El almacén %s 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 %s +WarehouseForStockIncrease=Para el incremento de stock se usará el almacén %s 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 \ No newline at end of file diff --git a/htdocs/langs/fr_FR/stocks.lang b/htdocs/langs/fr_FR/stocks.lang index 4d7fd8b6769..a39576f86f3 100644 --- a/htdocs/langs/fr_FR/stocks.lang +++ b/htdocs/langs/fr_FR/stocks.lang @@ -109,3 +109,4 @@ NbOfProductAfterPeriod=Quantité du produit %s 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 \ No newline at end of file