X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=purchasing%2Fpo_receive_items.php;h=d58e2aabfaca8a6e6972b44693709d4d2e1fb132;hb=78c4b687c8f92a92e2933e7d8ee84d3ef89788ee;hp=3fa2705da45700657219e95dc4437f9bf0a50522;hpb=431531eebf3ba494002cfbf7ea36f9e82d4975c0;p=fa-stable.git diff --git a/purchasing/po_receive_items.php b/purchasing/po_receive_items.php index 3fa2705d..d58e2aab 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")); +// echo "
"; + 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,17 @@ 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) - text_cells(null, $ln_itm->line_no, $ln_itm->receive_qty, 10, 10, "align=right"); + qty_cells(null, $ln_itm->line_no, number_format2($ln_itm->receive_qty, $dec), "align=right", null, $dec); else - text_cells(null, $ln_itm->line_no, $ln_itm->receive_qty, 10, 10, "align=right", - "", "disabled"); + qty_cells(null, $ln_itm->line_no, number_format2($ln_itm->receive_qty, $dec), "align=right", + "disabled", $dec); amount_cell($ln_itm->price); amount_cell($line_total); @@ -100,6 +103,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(); } //-------------------------------------------------------------------------------------------------- @@ -119,18 +123,18 @@ function check_po_changed() 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; } @@ -151,28 +155,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 +188,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 +202,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,12 +218,12 @@ 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.") . "
"; @@ -225,6 +232,7 @@ function process_receive_po() unset($_SESSION['PO']->line_items); unset($_SESSION['PO']); unset($_POST['ProcessGoodsReceived']); + $Ajax->activate('_page_body'); exit; } @@ -239,7 +247,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 +258,29 @@ 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) { $_POST[$line->line_no] = max($_POST[$line->line_no], 0); - if (!is_numeric($_POST[$line->line_no])) - $_POST[$line->line_no] = 0; + if (!check_num($line->line_no)) + $_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 = $_POST[$line->line_no]; + $_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'); } //-------------------------------------------------------------------------------------------------- @@ -286,14 +295,12 @@ if (isset($_POST['ProcessGoodsReceived'])) start_form(false, true); display_grn_summary($_SESSION['PO'], true); -display_heading2(_("Items to Receive")); +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();