X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=manufacturing%2Fwork_order_add_finished.php;h=1d42cbf643ceb86be1945854c0ae1e34f0852188;hb=211598c5964fd138631395c7f329ec8b87c43c0b;hp=953e863f7d0fecb5e3631bfdf1e6f703b2cd4808;hpb=d9b4de9d7e9d3ba77f6ece752fd6cc988effd8f1;p=fa-stable.git diff --git a/manufacturing/work_order_add_finished.php b/manufacturing/work_order_add_finished.php index 953e863f..1d42cbf6 100644 --- a/manufacturing/work_order_add_finished.php +++ b/manufacturing/work_order_add_finished.php @@ -22,9 +22,9 @@ include_once($path_to_root . "/manufacturing/includes/manufacturing_db.inc"); include_once($path_to_root . "/manufacturing/includes/manufacturing_ui.inc"); $js = ""; -if ($use_popup_windows) +if ($SysPrefs->use_popup_windows) $js .= get_js_open_window(900, 500); -if ($use_date_picker) +if (user_use_date_picker()) $js .= get_js_date_picker(); page(_($help_context = "Produce or Unassemble Finished Items From Work Order"), false, false, "", $js); @@ -50,6 +50,7 @@ if (isset($_GET['AddedID'])) display_note(print_link(_("Print the GL Journal Entries for this Work Order"), 702, $ar), 1); hyperlink_no_params("search_work_orders.php", _("Select another &Work Order to Process")); + br(); end_page(); exit; @@ -67,9 +68,9 @@ if (strlen($wo_details[0]) == 0) //-------------------------------------------------------------------------------------------------- -function can_process() +function can_process($wo_details) { - global $wo_details, $SysPrefs, $Refs; + global $SysPrefs, $Refs; if (!$Refs->is_valid($_POST['ref'])) { @@ -100,7 +101,7 @@ function can_process() } elseif (!is_date_in_fiscalyear($_POST['date_'])) { - display_error(_("The entered date is not in fiscal year.")); + display_error(_("The entered date is out of fiscal year or is closed for further data entry.")); set_focus('date_'); return false; } @@ -110,14 +111,17 @@ function can_process() set_focus('date_'); return false; } - + // don't produce more that required. Otherwise change the Work Order. + if (input_num('quantity') > ($wo_details["units_reqd"] - $wo_details["units_issued"])) + { + display_error(_("The production exceeds the quantity needed. Please change the Work Order.")); + set_focus('quantity'); + return false; + } // if unassembling we need to check the qoh if (($_POST['ProductionType'] == 0) && !$SysPrefs->allow_negative_stock()) { - $wo_details = get_work_order($_POST['selected_id']); - - $qoh = get_qoh_on_date($wo_details["stock_id"], $wo_details["loc_code"], $_POST['date_']); - if (-input_num('quantity') + $qoh < 0) + if (check_negative_stock($wo_details["stock_id"], -input_num('quantity'), $wo_details["loc_code"], $_POST['date_'])) { display_error(_("The unassembling cannot be processed because there is insufficient stock.")); set_focus('quantity'); @@ -134,13 +138,13 @@ function can_process() { if ($row['mb_flag'] == 'D') // service, non stock continue; - $qoh = get_qoh_on_date($row["stock_id"], $row["loc_code"], $_POST['date_']); - if ($qoh - $row['units_req'] * input_num('quantity') < 0) + + if (check_negative_stock($row["stock_id"], -$row['units_req'] * input_num('quantity'), $row["loc_code"], $_POST['date_'])) { display_error( _("The production cannot be processed because a required item would cause a negative inventory balance :") . " " . $row['stock_id'] . " - " . $row['description']); - $err = true; - } + $err = true; + } } if ($err) { @@ -153,7 +157,7 @@ function can_process() //-------------------------------------------------------------------------------------------------- -if ((isset($_POST['Process']) || isset($_POST['ProcessAndClose'])) && can_process() == true) +if ((isset($_POST['Process']) || isset($_POST['ProcessAndClose'])) && can_process($wo_details) == true) { $close_wo = 0; @@ -211,4 +215,3 @@ end_form(); end_page(); -?> \ No newline at end of file