[0002950] Fixed false quantity on hand errors on sales delivery.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Fri, 21 Nov 2014 09:18:42 +0000 (10:18 +0100)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Fri, 21 Nov 2014 09:22:40 +0000 (10:22 +0100)
sales/customer_delivery.php
sales/includes/cart_class.inc

index 36dc0b49b9acd4100ff4b8c66bca626dae547ab1..3c3c1800c5e02f1ae396863a37166ad053b6e8a7 100644 (file)
@@ -434,7 +434,7 @@ foreach ($_SESSION['Items']->line_items as $line=>$ln_itm) {
                // (but anyway dispatch is checked again later before transaction is saved)
 
                $qty = $ln_itm->qty_dispatched;
-               if ($check = check_negative_stock($ln_itm->stock_id, -$ln_itm->qty_dispatched, $_POST['Location'], $_POST['DispatchDate']))
+               if ($check = check_negative_stock($ln_itm->stock_id, $ln_itm->qty_done-$ln_itm->qty_dispatched, $_POST['Location'], $_POST['DispatchDate']))
                        $qty = $check['qty'];
 
                $q_class =  hook_get_dispatchable_quantity($ln_itm, $_POST['Location'], $_POST['DispatchDate'], $qty);
index e39ebf997b10bde2368bb00cbccda9f5b14461e3..a363562eeb4f39ab5101b977a8944e62ac9056a9 100644 (file)
@@ -563,12 +563,13 @@ class cart
                        if (has_stock_holding($line_item->mb_flag))
                        {
                                if (!$this->trans_no) // new delivery
-                                       $qtys[$line_item->stock_id]['qty'] = $line_item->quantity + @$qtys[$line_item->stock_id]['qty'];
+                                       $qtys[$line_item->stock_id]['qty'] = $line_item->qty_dispatched + @$qtys[$line_item->stock_id]['qty'];
                                else    // DN modification: check change in quantity
-                                       $qtys[$line_item->stock_id]['qty'] = ($line_item->qty_dispatched-$line_item->quantity) + @$qtys[$line_item->stock_id]['qty'];
+                                       $qtys[$line_item->stock_id]['qty'] = ($line_item->qty_dispatched-$line_item->qty_old) + @$qtys[$line_item->stock_id]['qty'];
                                $qtys[$line_item->stock_id]['line'] = $line_no;
                        }
                }
+
                foreach($qtys as $stock_id => $sum)
                {
                        if (check_negative_stock($stock_id, -$sum['qty'], $location ? $location : $this->Location, $date ? $date : $this->document_date))