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 (-$_POST['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'] * $_POST['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 ($_POST['ProductionType'] == 0)
$_POST['quantity'] = -$_POST['quantity'];
- $id = work_order_produce($_POST['selected_id'], $_POST['ref'], $_POST['quantity'],
+ $id = work_order_produce($_POST['selected_id'], $_POST['ref'], input_num('quantity'),
$_POST['date_'], $_POST['memo_'], $close_wo);
meta_forward($_SERVER['PHP_SELF'], "AddedID=".$_POST['selected_id']."&date=".$_POST['date_']);
hidden('selected_id', $_POST['selected_id']);
//hidden('WOReqQuantity', $_POST['WOReqQuantity']);
+$dec = get_qty_dec($wo_details["stock_id"]);
if (!isset($_POST['quantity']) || $_POST['quantity'] == '')
-{
- $_POST['quantity'] = max($wo_details["units_reqd"] - $wo_details["units_issued"], 0);
-}
+ $_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));
yesno_list_row(_("Type:"), 'ProductionType', $_POST['ProductionType'],
_("Produce Finished Items"), _("Return Items to Work Order"));
-small_qty_row(_("Quantity:"), 'quantity', null, null, null, get_qty_dec($wo_details["stock_id"]));
+small_qty_row(_("Quantity:"), 'quantity', null, null, null, $dec);
date_row(_("Date:"), 'date_');