[0000258] Broken src_id fields after sales document edition.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Tue, 5 Oct 2010 19:09:46 +0000 (19:09 +0000)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Tue, 5 Oct 2010 19:09:46 +0000 (19:09 +0000)
CHANGELOG.txt
sales/includes/cart_class.inc
sales/includes/sales_db.inc

index e4b31a264aea2b6a4af42d2efe8cafd404f6f97a..6581fb03234d0f3f134dcd1979def90dcc5d240d 100644 (file)
@@ -19,6 +19,11 @@ Legend:
 ! -> Note
 $ -> Affected files
 
+05-Oct-2010 Jusz Dobrowolski
+# [0000258] Broken src_id fields after sales document edition.
+$ /sales/includes/cart_class.inc
+  /sales/includes/sales_db.inc
+
 05-Oct-2010 Joe Hunt
 # [00000257] Bad Layout in sales order inquiry etc. (long item descriptions)
 $ /sales/inquiry/sales_orders_view.php
index 00b311684623ee981682796749bcafbe52d5a691..7a3b765b6963b741ac013fd8dd372160dafbac04 100644 (file)
@@ -157,7 +157,8 @@ class cart
                                if ($this->trans_type == ST_SALESINVOICE)
                                        $line->src_no = $srcline['debtor_trans_no'];
                                $line->qty_old = $line->qty_dispatched = $line->quantity;
-                               $line->quantity += $srcline['quantity'] - $srcline['qty_done']; // add free qty on src doc
+                               $line->quantity += $srcline['quantity'] - 
+                                       ($src_type==ST_SALESORDER ? $srcline['qty_sent'] : $srcline['qty_done']); // add free qty on src doc
                                $line_no++;
                                break;
                        }
@@ -348,10 +349,11 @@ class cart
                        $this->freight_cost = $freight_cost;
        }
 
-       function add_to_cart($line_no, $stock_id, $qty, $price, $disc, $qty_done=0, $standard_cost=0, $description=null, $id=0, $src_no=0)
+       function add_to_cart($line_no, $stock_id, $qty, $price, $disc, $qty_done=0, $standard_cost=0, $description=null, $id=0, $src_no=0,
+               $src_id=0)
        {
                $line = new line_details($stock_id, $qty, $price, $disc,
-                       $qty_done,  $standard_cost, $description, $id, $src_no);
+                       $qty_done,  $standard_cost, $description, $id, $src_no, $src_id);
 
                if ($line->valid) {
                        $this->line_items[$line_no] = $line;
@@ -574,12 +576,13 @@ class line_details
 
 
        function line_details ($stock_id, $qty, $prc, $disc_percent,
-               $qty_done, $standard_cost, $description, $id=0, $src_no=0 )
+               $qty_done, $standard_cost, $description, $id=0, $src_no=0, $src_id=0)
        {
        /* Constructor function to add a new LineDetail object with passed params */
 
                $this->id = $id;
                $this->src_no = $src_no;
+               $this->src_id = $src_id;
                $item_row = get_item($stock_id);
 
                if (!$item_row) 
index 4dff712f2ae1b2c729b8099f5294670d3ce3776d..a09311c6016a6d1ee119317e4a23097b1e6afc2a 100644 (file)
@@ -300,7 +300,8 @@ function read_sales_trans($doc_type, $trans_no, &$cart)
                                        $myrow["stock_id"],$myrow["quantity"],
                                        $myrow["unit_price"], $myrow["discount_percent"],
                                        $myrow["qty_done"], $myrow["standard_cost"],
-                                       $myrow["StockDescription"],$myrow["id"], $myrow["debtor_trans_no"]);
+                                       $myrow["StockDescription"],$myrow["id"], $myrow["debtor_trans_no"],
+                                       @$myrow["src_id"]);
                        }
                }
        } // !newdoc