X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=purchasing%2Fpo_receive_items.php;h=cec4715f05c66b0224c93e0486f47fdbd9469bac;hb=902f1015d874c33bd7946b17de2ad80b4f2144b6;hp=039355e4beab455676dbd7cfcc13d1670486f701;hpb=6e349a924dd02e35d94555807d34b25e4427ab6e;p=fa-stable.git diff --git a/purchasing/po_receive_items.php b/purchasing/po_receive_items.php index 039355e4..cec4715f 100644 --- a/purchasing/po_receive_items.php +++ b/purchasing/po_receive_items.php @@ -1,6 +1,16 @@ . +***********************************************************************/ +$page_security = 'SA_GRN'; +$path_to_root = ".."; include_once($path_to_root . "/purchasing/includes/po_class.inc"); include_once($path_to_root . "/includes/session.inc"); @@ -23,13 +33,15 @@ if (isset($_GET['AddedID'])) 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_params("$path_to_root/purchasing/supplier_invoice.php", _("Entry purchase &invoice for this receival"), "New=1"); + + hyperlink_no_params("$path_to_root/purchasing/inquiry/po_search.php", _("Select a different &purchase order for receiving items against")); display_footer_exit(); } @@ -47,6 +59,8 @@ 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")); @@ -66,7 +80,7 @@ function display_po_receive_items() $qty_outstanding = $ln_itm->quantity - $ln_itm->qty_received; - if ($ln_itm->receive_qty == 0) + if (!isset($_POST['Update']) && !isset($_POST['ProcessGoodsReceived']) && $ln_itm->receive_qty == 0) { //If no quantites yet input default the balance to be received $ln_itm->receive_qty = $qty_outstanding; } @@ -88,10 +102,9 @@ function display_po_receive_items() if ($qty_outstanding > 0) 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, number_format2($ln_itm->receive_qty, $dec), "align=right", - "disabled", $dec); + label_cell(number_format2($ln_itm->receive_qty, $dec), "align=right"); - amount_cell($ln_itm->price); + amount_decimal_cell($ln_itm->price); amount_cell($line_total); end_row(); } @@ -101,6 +114,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(); } //-------------------------------------------------------------------------------------------------- @@ -112,9 +126,8 @@ 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); @@ -123,7 +136,6 @@ function check_po_changed() 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) @@ -136,7 +148,7 @@ function check_po_changed() return true; } } - $line_no++; + $line_no++; } /*loop through all line items of the order to ensure none have been invoiced */ return false; @@ -215,26 +227,30 @@ function can_process() function process_receive_po() { - global $path_to_root; + global $path_to_root, $Ajax; if (!can_process()) return; 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'], $_POST['ref'], $_POST['Location']); + new_doc_date($_POST['DefaultReceivedDate']); unset($_SESSION['PO']->line_items); unset($_SESSION['PO']); @@ -261,13 +277,13 @@ if (isset($_POST['Update']) || isset($_POST['ProcessGoodsReceived'])) set from the post to the quantity to be received in this receival*/ 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] = number_format2(0, get_qty_dec($line->stock_id)); if (!isset($_POST['DefaultReceivedDate']) || $_POST['DefaultReceivedDate'] == "") - $_POST['DefaultReceivedDate'] = Today(); + $_POST['DefaultReceivedDate'] = new_doc_date(); $_SESSION['PO']->line_items[$line->line_no]->receive_qty = input_num($line->line_no); @@ -275,7 +291,9 @@ if (isset($_POST['Update']) || isset($_POST['ProcessGoodsReceived'])) { $_SESSION['PO']->line_items[$line->line_no]->item_description = $_POST[$line->stock_id . "Desc"]; } + } } + $Ajax->activate('grn_items'); } //-------------------------------------------------------------------------------------------------- @@ -287,17 +305,15 @@ if (isset($_POST['ProcessGoodsReceived'])) //-------------------------------------------------------------------------------------------------- -start_form(false, true); +start_form(); 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"), 'default'); end_form();