From: Joe Hunt Date: Mon, 8 Dec 2008 11:10:26 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: v2.4.2~19^2~1691 X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=b76384515a4eca6456b6f045836e3c913244c78f;hp=2aab14aed5938bc674997cff83c319bdf40490d6;p=fa-stable.git *** empty log message *** --- diff --git a/CHANGELOG.txt b/CHANGELOG.txt index a5383b19..8e73e8cf 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -19,6 +19,15 @@ Legend: ! -> Note $ -> Affected files +08-Dec-2008 Joe Hunt +! Better support for purchasing data (automatic updating from PO receive) +$ /purchasing/includes/db/grn_db.inc + /purchasing/includes/db/invoice_db.inc + /purchasing/includes/db/po_db.inc + /purchasing/includes/ui/invoice_ui.inc + /purchasing/includes/purchasing_db.inc + /reporting/rep209.php + 07-Dec-2008 Janusz Dobrowolski + Added list category grouping. $ /includes/ui/ui_lists.inc diff --git a/purchasing/includes/db/grn_db.inc b/purchasing/includes/db/grn_db.inc index 1e080be7..f360a1ff 100644 --- a/purchasing/includes/db/grn_db.inc +++ b/purchasing/includes/db/grn_db.inc @@ -68,7 +68,9 @@ function add_grn(&$po, $date_, $reference, $location) /*Need to get the standard cost as it is now so we can process GL jorunals later*/ $order_line->standard_cost = get_standard_cost($order_line->stock_id); } - + // added 2008-12-08 Joe Hunt. Update the purchase data table + add_or_update_purchase_data($po->supplier_id, $order_line->stock_id, $order_line->price, + $order_line->item_description); /*Need to insert a grn item */ diff --git a/purchasing/includes/db/invoice_db.inc b/purchasing/includes/db/invoice_db.inc index ec22b1cb..ab76757c 100644 --- a/purchasing/includes/db/invoice_db.inc +++ b/purchasing/includes/db/invoice_db.inc @@ -209,6 +209,9 @@ function add_supp_invoice($supp_trans) // do not receive as ref because we chang // only update the diff (last parameter, adj_only is set to true). $mat_cost = update_average_material_cost($supp_trans->supplier_id, $entered_grn->item_code, $diff, $entered_grn->this_quantity_inv, $old_date, true); + // added 2008-12-08 Joe Hunt. Update the purchase data table + add_or_update_purchase_data($supp_trans->supplier_id, $entered_grn->item_code, $entered_grn->chg_price); + // function just above this $deliveries = get_deliveries_between($entered_grn->item_code, $old_date, $date_); if ($deliveries[0] != 0) // have deliveries been done during the period? diff --git a/purchasing/includes/db/po_db.inc b/purchasing/includes/db/po_db.inc index cb2a1e49..a442c8b0 100644 --- a/purchasing/includes/db/po_db.inc +++ b/purchasing/includes/db/po_db.inc @@ -174,6 +174,14 @@ function read_po_items($order_no, &$order, $open_items_only=false) while ($myrow = db_fetch($result)) { + $data = get_purchase_data($order->supplier_id, $myrow['item_code']); + if ($data !== false) + { + if ($data['supplier_description'] != "") + $myrow['description'] = $data['supplier_description']; + if ($data['suppliers_uom'] != "") + $myrow['units'] = $data['suppliers_uon']; + } if (is_null($myrow["units"])) { $units = ""; diff --git a/purchasing/includes/purchasing_db.inc b/purchasing/includes/purchasing_db.inc index a33c81b8..e98bd89a 100644 --- a/purchasing/includes/purchasing_db.inc +++ b/purchasing/includes/purchasing_db.inc @@ -55,5 +55,36 @@ function get_purchase_price($supplier_id, $stock_id) //---------------------------------------------------------------------------------------- +function get_purchase_data($supplier_id, $stock_id) +{ + $sql = "SELECT * FROM ".TB_PREF."purch_data + WHERE supplier_id = '" . $supplier_id . "' + AND stock_id = '". $stock_id . "'"; + $result = db_query($sql, "The supplier pricing details for " . $stock_id . " could not be retrieved"); + + return db_fetch($result); +} + +function add_or_update_purchase_data($supplier_id, $stock_id, $price, $description="", $uom="") +{ + $data = get_purchase_data($supplier_id, $stock_id); + if ($data === false) + { + $sql = "INSERT INTO ".TB_PREF."purch_data (supplier_id, stock_id, price, suppliers_uom, + conversion_factor, supplier_description) VALUES ('$supplier_id', '$stock_id', + $price, '$uom', 1, '$description')"; + db_query($sql,"The supplier purchasing details could not be added"); + return; + } + $price = round($price * $data['conversion_factor'], user_price_dec()); + $sql = "UPDATE ".TB_PREF."purch_data SET price=$price"; + if ($uom != "") + $sql .= ",suppliers_uom='$uom'"; + if ($description != "") + $sql .= ",supplier_description='$description'"; + $sql .= " WHERE stock_id='$stock_id' AND supplier_id='$supplier_id'"; + db_query($sql,"The supplier purchasing details could not be updated"); + return true; +} ?> \ No newline at end of file diff --git a/purchasing/includes/ui/invoice_ui.inc b/purchasing/includes/ui/invoice_ui.inc index 1f6193b1..07f0d0e9 100644 --- a/purchasing/includes/ui/invoice_ui.inc +++ b/purchasing/includes/ui/invoice_ui.inc @@ -392,10 +392,11 @@ function display_grn_items(&$supp_trans, $mode=0) { if ($heading2 != "") { + //br(); display_note($heading2, 0, 0, "class='overduefg'"); - echo ""; } - submit_cells('InvGRNAll', _("Add All Items"), "align=right",false,true); + echo ""; + submit('InvGRNAll', _("Add All Items"), true, false,true); } end_outer_table(0, false); diff --git a/reporting/rep209.php b/reporting/rep209.php index cc3d93ba..b59ca1ad 100644 --- a/reporting/rep209.php +++ b/reporting/rep209.php @@ -103,6 +103,19 @@ function print_po() $SubTotal = 0; while ($myrow2=db_fetch($result)) { + $data = get_purchase_data($myrow['supplier_id'], $myrow2['item_code']); + if ($data !== false) + { + if ($data['supplier_description'] != "") + $myrow2['description'] = $data['supplier_description']; + if ($data['suppliers_uom'] != "") + $myrow2['units'] = $data['suppliers_uom']; + if ($data['conversion_factor'] != 1) + { + $myrow2['unit_price'] = round($myrow2['unit_price'] / $data['conversion_factor'], user_price_dec()); + $myrow2['quantiry_ordered'] = round($myrow2['quantiry_ordered'] / $data['conversion_factor'], user_qty_dec()); + } + } $Net = round(($myrow2["unit_price"] * $myrow2["quantity_ordered"]), user_price_dec()); $SubTotal += $Net;