Also register movement for 0 produced to update cost.

Use correct movement label for negative consumed.
This commit is contained in:
Francis Appels 2021-02-25 11:23:19 +01:00
parent bca9004f36
commit 0e89dd7344

View File

@ -202,7 +202,11 @@ if (empty($reshook))
// Record stock movement // Record stock movement
$id_product_batch = 0; $id_product_batch = 0;
$stockmove->origin = $object; $stockmove->origin = $object;
if ($qtytoprocess >= 0) {
$idstockmove = $stockmove->livraison($user, $line->fk_product, GETPOST('idwarehouse-'.$line->id.'-'.$i), $qtytoprocess, 0, $labelmovement, dol_now(), '', '', GETPOST('batch-'.$line->id.'-'.$i), $id_product_batch, $codemovement); $idstockmove = $stockmove->livraison($user, $line->fk_product, GETPOST('idwarehouse-'.$line->id.'-'.$i), $qtytoprocess, 0, $labelmovement, dol_now(), '', '', GETPOST('batch-'.$line->id.'-'.$i), $id_product_batch, $codemovement);
} else {
$idstockmove = $stockmove->reception($user, $line->fk_product, GETPOST('idwarehouse-'.$line->id.'-'.$i), $qtytoprocess, 0, $labelmovement, dol_now(), '', '', GETPOST('batch-'.$line->id.'-'.$i), $id_product_batch, $codemovement);
}
if ($idstockmove < 0) { if ($idstockmove < 0) {
$error++; $error++;
setEventMessages($stockmove->error, $stockmove->errors, 'errors'); setEventMessages($stockmove->error, $stockmove->errors, 'errors');
@ -250,7 +254,6 @@ if (empty($reshook))
$qtytoprocess = price2num(GETPOST('qtytoproduce-'.$line->id.'-'.$i)); $qtytoprocess = price2num(GETPOST('qtytoproduce-'.$line->id.'-'.$i));
$pricetoprocess = GETPOST('pricetoproduce-'.$line->id.'-'.$i) ? price2num(GETPOST('pricetoproduce-'.$line->id.'-'.$i)) : 0; $pricetoprocess = GETPOST('pricetoproduce-'.$line->id.'-'.$i) ? price2num(GETPOST('pricetoproduce-'.$line->id.'-'.$i)) : 0;
if ($qtytoprocess != 0) {
// Check warehouse is set if we should have to // Check warehouse is set if we should have to
if (GETPOSTISSET('idwarehousetoproduce-'.$line->id.'-'.$i)) { // If there is a warehouse to set if (GETPOSTISSET('idwarehousetoproduce-'.$line->id.'-'.$i)) { // If there is a warehouse to set
if (!(GETPOST('idwarehousetoproduce-'.$line->id.'-'.$i) > 0)) { // If there is no warehouse set. if (!(GETPOST('idwarehousetoproduce-'.$line->id.'-'.$i) > 0)) { // If there is no warehouse set.
@ -276,7 +279,7 @@ if (empty($reshook))
setEventMessages($stockmove->error, $stockmove->errors, 'errors'); setEventMessages($stockmove->error, $stockmove->errors, 'errors');
} }
} }
if ($qtytoprocess != 0) {
if (!$error) { if (!$error) {
// Record production // Record production
$moline = new MoLine($db); $moline = new MoLine($db);