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;
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');
{
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)
{
if (!isset($_POST['quantity']) || $_POST['quantity'] == '')
$_POST['quantity'] = qty_format(max($wo_details["units_reqd"] - $wo_details["units_issued"], 0), $wo_details["stock_id"], $dec);
-start_table($table_style2);
+start_table(TABLESTYLE2);
br();
ref_row(_("Reference:"), 'ref', '', $Refs->get_next(29));