Fixed tax display warnigs in purchasing module.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Sun, 19 Dec 2010 10:39:14 +0000 (10:39 +0000)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Sun, 19 Dec 2010 10:39:14 +0000 (10:39 +0000)
purchasing/includes/db/grn_db.inc
purchasing/includes/db/po_db.inc
purchasing/includes/po_class.inc
purchasing/po_receive_items.php

index 8e521288428b51b7cbdfe91681cfd9eb59522c9b..2b979f1a3b91359d3ed522365ecda8b527bcb37f 100644 (file)
@@ -229,8 +229,9 @@ function get_grn_items($grn_batch_id=0, $supplier_id="", $outstanding_only=false
        $is_invoiced_only=false, $invoice_no=0, $begin="", $end="")
 {
     $sql = "SELECT ".TB_PREF."grn_batch.*, ".TB_PREF."grn_items.*, "
-       .TB_PREF."purch_order_details.unit_price,
-               ".TB_PREF."purch_order_details.std_cost_unit, units
+       .TB_PREF."purch_order_details.unit_price,"
+       .TB_PREF."purch_order_details.quantity_ordered,"
+               .TB_PREF."purch_order_details.std_cost_unit, units
        FROM ".TB_PREF."grn_batch, ".TB_PREF."grn_items, "
        .TB_PREF."purch_order_details, ".TB_PREF."stock_master";
     if ($invoice_no != 0)
@@ -305,7 +306,7 @@ function read_grn_items_to_order($grn_batch, &$order)
                        }
 
                        $order->add_to_order($order->lines_on_order, $myrow["item_code"],
-                               1,$myrow["description"], $myrow["unit_price"],$units,
+                               $myrow["qty_recd"],$myrow["description"], $myrow["unit_price"],$units,
                                sql2date($myrow["delivery_date"]), $myrow["quantity_inv"],
                                $myrow["qty_recd"]);
 
@@ -332,6 +333,7 @@ function read_grn($grn_batch, &$order)
        if ($result)
        {
 
+               $order->trans_type = ST_SUPPRECEIVE;
                $order->orig_order_date = sql2date($row["delivery_date"]);
                $order->location = $row["loc_code"];
                $order->reference = $row["reference"];
index 64cd7d3ab0617c3d9595a259af6259d3766c6762..ebd2c7241e177f0dfe0f576bb7728a60e31520e6 100644 (file)
@@ -137,6 +137,7 @@ function read_po_header($order_no, &$order)
 
        $myrow = db_fetch($result);
 
+       $order->trans_type = ST_PURCHORDER;
        $order->order_no = $order_no;
        
        $order->set_supplier($myrow["supplier_id"], $myrow["supp_name"], $myrow["curr_code"],
index c9ab5b0785570bb935c906e3976cd9c2d966535d..2324d25dbd6c70c2d73a0249b7244b0c738d868b 100644 (file)
@@ -124,8 +124,12 @@ class purch_order
                }
                return 0;
        }
-
-       function get_taxes($shipping_cost=null)
+       
+       //
+       //      Returns taxes for PO/GRN.
+       //      $receival=true in purchase receive context.
+       //
+       function get_taxes($shipping_cost=null, $receival=false)
        {
                $items = array();
                $prices = array();
@@ -134,7 +138,7 @@ class purch_order
 
                foreach ($this->line_items as $ln_itm) {
                        $items[] = $ln_itm->stock_id;
-                       $prices[] = round($ln_itm->quantity * $ln_itm->price,  user_price_dec());
+                       $prices[] = round($ln_itm->price * ($receival ? $ln_itm->receive_qty : $ln_itm->quantity),  user_price_dec());
                }
                $taxes = get_tax_for_items($items, $prices, $shipping_cost,
                  $this->tax_group_id, $this->tax_included,  $this->tax_group_array);
index c7e7cb134d34699128aa109c21302f3673df1877..d5fb35d169e70d188d432d36b780c3aeea2557b4 100644 (file)
@@ -108,7 +108,7 @@ function display_po_receive_items()
        $display_sub_total = price_format($total/* + input_num('freight_cost')*/);
 
        label_row(_("Sub-total"), $display_sub_total, "colspan=$colspan align=right","align=right");
-       $taxes = $_SESSION['PO']->get_taxes(input_num('freight_cost'));
+       $taxes = $_SESSION['PO']->get_taxes(input_num('freight_cost'), true);
        
        $tax_total = display_edit_tax_items($taxes, $colspan, $_SESSION['PO']->tax_included);