X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=purchasing%2Fpo_receive_items.php;h=14a017be94d95278fee23d703bb623e8682e1a26;hb=2aab14aed5938bc674997cff83c319bdf40490d6;hp=836a05483ffc5874ecb9223d07501943efdf3509;hpb=de3a75773afa86df1739d14f24399d6f7a46f809;p=fa-stable.git diff --git a/purchasing/po_receive_items.php b/purchasing/po_receive_items.php index 836a0548..14a017be 100644 --- a/purchasing/po_receive_items.php +++ b/purchasing/po_receive_items.php @@ -16,28 +16,28 @@ page(_("Receive Purchase Order Items"), false, false, "", $js); //--------------------------------------------------------------------------------------------------------------- -if (isset($_GET['AddedID'])) +if (isset($_GET['AddedID'])) { $grn = $_GET['AddedID']; $trans_type = 25; display_notification_centered(_("Purchase Order Delivery has been processed")); - display_note(get_trans_view_str($trans_type, $grn, _("View this Delivery"))); + display_note(get_trans_view_str($trans_type, $grn, _("&View this Delivery"))); //echo "
"; - //echo get_gl_view_str(25, $grn, _("View the GL Journal Entries for this Delivery")); + //echo get_gl_view_str(25, $grn, _("View the GL &Journal Entries for this Delivery")); // echo "
"; - hyperlink_no_params("$path_to_root/purchasing/inquiry/po_search.php", _("Select a different purchase order for receiving items against")); + hyperlink_no_params("$path_to_root/purchasing/inquiry/po_search.php", _("Select a different &purchase order for receiving items against")); display_footer_exit(); } //-------------------------------------------------------------------------------------------------- -if ((!isset($_GET['PONumber']) || $_GET['PONumber'] == 0) && !isset($_SESSION['PO'])) -//if (isset($_GET['PONumber']) && !$_GET['PONumber'] > 0 && !isset($_SESSION['PO'])) +if ((!isset($_GET['PONumber']) || $_GET['PONumber'] == 0) && !isset($_SESSION['PO'])) +//if (isset($_GET['PONumber']) && !$_GET['PONumber'] > 0 && !isset($_SESSION['PO'])) { die (_("This page can only be opened if a purchase order has been selected. Please select a purchase order first.")); } @@ -47,10 +47,12 @@ if ((!isset($_GET['PONumber']) || $_GET['PONumber'] == 0) && !isset($_SESSION['P function display_po_receive_items() { global $table_style; + + div_start('grn_items'); start_table("colspan=7 $table_style width=90%"); $th = array(_("Item Code"), _("Description"), _("Ordered"), _("Units"), _("Received"), _("Outstanding"), _("This Delivery"), _("Price"), _("Total")); - table_header($th); + table_header($th); /*show the line items on the order with the quantity being received for modification */ @@ -59,7 +61,7 @@ function display_po_receive_items() if (count($_SESSION['PO']->line_items)> 0 ) { - foreach ($_SESSION['PO']->line_items as $ln_itm) + foreach ($_SESSION['PO']->line_items as $ln_itm) { alt_table_row_color($k); @@ -79,16 +81,16 @@ function display_po_receive_items() text_cells(null, $ln_itm->stock_id . "Desc", $ln_itm->item_description, 30, 50); else label_cell($ln_itm->item_description); - qty_cell($ln_itm->quantity); + $dec = get_qty_dec($ln_itm->stock_id); + qty_cell($ln_itm->quantity, false, $dec); label_cell($ln_itm->units); - qty_cell($ln_itm->qty_received); - qty_cell($qty_outstanding); + qty_cell($ln_itm->qty_received, false, $dec); + qty_cell($qty_outstanding, false, $dec); if ($qty_outstanding > 0) - qty_cells(null, $ln_itm->line_no, qty_format($ln_itm->receive_qty), "align=right"); + qty_cells(null, $ln_itm->line_no, number_format2($ln_itm->receive_qty, $dec), "align=right", null, $dec); else - qty_cells(null, $ln_itm->line_no, qty_format($ln_itm->receive_qty), "align=right", - "disabled"); + label_cell(number_format2($ln_itm->receive_qty, $dec), "align=right"); amount_cell($ln_itm->price); amount_cell($line_total); @@ -100,6 +102,7 @@ function display_po_receive_items() label_row(_("Total value of items received"), $display_total, "colspan=8 align=right", "nowrap align=right"); end_table(); + div_end(); } //-------------------------------------------------------------------------------------------------- @@ -111,31 +114,29 @@ function check_po_changed() // Otherwise if you try to fullfill item quantities separately will give error. $sql = "SELECT item_code, quantity_ordered, quantity_received, qty_invoiced FROM ".TB_PREF."purch_order_details - WHERE order_no=" . $_SESSION['PO']->order_no . " - AND (quantity_ordered > quantity_received) - ORDER BY po_detail_item"; + WHERE order_no=" . $_SESSION['PO']->order_no + ." ORDER BY po_detail_item"; $result = db_query($sql, "could not query purch order details"); check_db_error("Could not check that the details of the purchase order had not been changed by another user ", $sql); $line_no = 1; - while ($myrow = db_fetch($result)) + while ($myrow = db_fetch($result)) { $ln_item = $_SESSION['PO']->line_items[$line_no]; - // only compare against items that are outstanding $qty_outstanding = $ln_item->quantity - $ln_item->qty_received; - if ($qty_outstanding > 0) + if ($qty_outstanding > 0) { - if ($ln_item->qty_inv != $myrow["qty_invoiced"] || - $ln_item->stock_id != $myrow["item_code"] || - $ln_item->quantity != $myrow["quantity_ordered"] || - $ln_item->qty_received != $myrow["quantity_received"]) + if ($ln_item->qty_inv != $myrow["qty_invoiced"] || + $ln_item->stock_id != $myrow["item_code"] || + $ln_item->quantity != $myrow["quantity_ordered"] || + $ln_item->qty_received != $myrow["quantity_received"]) { return true; } } - $line_no++; + $line_no++; } /*loop through all line items of the order to ensure none have been invoiced */ return false; @@ -151,28 +152,31 @@ function can_process() return false; } - if (!is_date($_POST['DefaultReceivedDate'])) + if (!is_date($_POST['DefaultReceivedDate'])) { display_error(_("The entered date is invalid.")); + set_focus('DefaultReceivedDate'); return false; } - if (!references::is_valid($_POST['ref'])) + if (!references::is_valid($_POST['ref'])) { display_error(_("You must enter a reference.")); + set_focus('ref'); return false; } - if (!is_new_reference($_POST['ref'], 25)) + if (!is_new_reference($_POST['ref'], 25)) { display_error(_("The entered reference is already in use.")); + set_focus('ref'); return false; } $something_received = 0; - foreach ($_SESSION['PO']->line_items as $order_line) + foreach ($_SESSION['PO']->line_items as $order_line) { - if ($order_line->receive_qty > 0) + if ($order_line->receive_qty > 0) { $something_received = 1; break; @@ -181,10 +185,10 @@ function can_process() // Check whether trying to deliver more items than are recorded on the actual purchase order (+ overreceive allowance) $delivery_qty_too_large = 0; - foreach ($_SESSION['PO']->line_items as $order_line) + foreach ($_SESSION['PO']->line_items as $order_line) { - if ($order_line->receive_qty+$order_line->qty_received > - $order_line->quantity * (1+ (sys_prefs::over_receive_allowance() / 100))) + if ($order_line->receive_qty+$order_line->qty_received > + $order_line->quantity * (1+ (sys_prefs::over_receive_allowance() / 100))) { $delivery_qty_too_large = 1; break; @@ -195,7 +199,7 @@ function can_process() { /*Then dont bother proceeding cos nothing to do ! */ display_error(_("There is nothing to process. Please enter valid quantities greater than zero.")); return false; - } + } elseif ($delivery_qty_too_large == 1) { display_error(_("Entered quantities cannot be greater than the quantity entered on the purchase order including the allowed over-receive percentage") . " (" . sys_prefs::over_receive_allowance() ."%)." @@ -211,21 +215,24 @@ function can_process() function process_receive_po() { - global $path_to_root; + global $path_to_root, $Ajax; if (!can_process()) return; - if (check_po_changed()) + if (check_po_changed()) { - echo "
" . _("This order has been changed or invoiced since this delivery was started to be actioned. Processing halted. To enter a delivery against this purchase order, it must be re-selected and re-read again to update the changes made by the other user.") . "
"; - - echo "
" . _("Select a different purchase order for receiving goods against") . "
"; - echo "
OrderNumber . "'>" . _("Re-Read the updated purchase order for receiving goods against") . "
"; + display_error(_("This order has been changed or invoiced since this delivery was started to be actioned. Processing halted. To enter a delivery against this purchase order, it must be re-selected and re-read again to update the changes made by the other user.")); + hyperlink_no_params("$path_to_root/purchasing/inquiry/po_search.php", + _("Select a different purchase order for receiving goods against")); + hyperlink_params("$path_to_root/purchasing/po_receive_items.php", + _("Re-Read the updated purchase order for receiving goods against"), + "PONumber=" . $_SESSION['PO']->order_no); unset($_SESSION['PO']->line_items); unset($_SESSION['PO']); unset($_POST['ProcessGoodsReceived']); - exit; + $Ajax->activate('_page_body'); + display_footer_exit(); } $grn = add_grn($_SESSION['PO'], $_POST['DefaultReceivedDate'], @@ -239,7 +246,7 @@ function process_receive_po() //-------------------------------------------------------------------------------------------------- -if (isset($_GET['PONumber']) && $_GET['PONumber'] > 0 && !isset($_POST['Update'])) +if (isset($_GET['PONumber']) && $_GET['PONumber'] > 0 && !isset($_POST['Update'])) { create_new_po(); @@ -250,28 +257,30 @@ if (isset($_GET['PONumber']) && $_GET['PONumber'] > 0 && !isset($_POST['Update'] //-------------------------------------------------------------------------------------------------- -if (isset($_POST['Update']) || isset($_POST['ProcessGoodsReceived'])) +if (isset($_POST['Update']) || isset($_POST['ProcessGoodsReceived'])) { /* if update quantities button is hit page has been called and ${$line->line_no} would have be set from the post to the quantity to be received in this receival*/ - foreach ($_SESSION['PO']->line_items as $line) + foreach ($_SESSION['PO']->line_items as $line) { - + if( ($line->quantity - $line->qty_received)>0) { $_POST[$line->line_no] = max($_POST[$line->line_no], 0); if (!check_num($line->line_no)) - $_POST[$line->line_no] = qty_format(0); + $_POST[$line->line_no] = number_format2(0, get_qty_dec($line->stock_id)); if (!isset($_POST['DefaultReceivedDate']) || $_POST['DefaultReceivedDate'] == "") $_POST['DefaultReceivedDate'] = Today(); $_SESSION['PO']->line_items[$line->line_no]->receive_qty = input_num($line->line_no); - if (isset($_POST[$line->stock_id . "Desc"]) && strlen($_POST[$line->stock_id . "Desc"]) > 0) + if (isset($_POST[$line->stock_id . "Desc"]) && strlen($_POST[$line->stock_id . "Desc"]) > 0) { $_SESSION['PO']->line_items[$line->line_no]->item_description = $_POST[$line->stock_id . "Desc"]; } + } } + $Ajax->activate('grn_items'); } //-------------------------------------------------------------------------------------------------- @@ -289,11 +298,9 @@ display_grn_summary($_SESSION['PO'], true); display_heading(_("Items to Receive")); display_po_receive_items(); -echo "
"; -submit('Update', _("Update")); -echo " "; -submit('ProcessGoodsReceived', _("Process Receive Items")); -echo "
"; +echo '
'; +submit_center_first('Update', _("Update"), '', true); +submit_center_last('ProcessGoodsReceived', _("Process Receive Items"), _("Clear all GL entry fields"), true); end_form();