unset ($_SESSION['transfer_items']);
}
- session_register("transfer_items");
-
$_SESSION['transfer_items'] = new items_cart(ST_LOCTRANSFER);
$_POST['AdjDate'] = new_doc_date();
if (!is_date_in_fiscalyear($_POST['AdjDate']))
if (isset($_POST['Process']))
{
- global $Refs;
$tr = &$_SESSION['transfer_items'];
$input_error = 0;
if (count($tr->line_items) == 0) {
display_error(_("You must enter at least one non empty item line."));
set_focus('stock_id');
- return false;
+ $input_error = 1;
}
if (!$Refs->is_valid($_POST['ref']))
{
}
elseif (!is_date($_POST['AdjDate']))
{
- display_error(_("The entered date for the adjustment is invalid."));
+ display_error(_("The entered transfer date is invalid."));
set_focus('AdjDate');
$input_error = 1;
}
display_error(_("The locations to transfer from and to must be different."));
set_focus('FromStockLocation');
$input_error = 1;
- }
- else
+ }
+ elseif (!$SysPrefs->allow_negative_stock())
{
- $failed_item = $tr->check_qoh($_POST['FromStockLocation'], $_POST['AdjDate'], true);
- if ($failed_item >= 0)
+ $low_stock = $tr->check_qoh($_POST['FromStockLocation'], $_POST['AdjDate'], true);
+
+ if ($low_stock)
{
- $line = $tr->line_items[$failed_item];
- display_error(_("The quantity entered is greater than the available quantity for this item at the source location :") .
- " " . $line->stock_id . " - " . $line->item_description);
- echo "<br>";
- $_POST['Edit'.$failed_item] = 1; // enter edit mode
+ display_error(_("The transfer cannot be processed because it would cause negative inventory balance in source location for marked items as of document date or later."));
$input_error = 1;
}
}
display_order_header($_SESSION['transfer_items']);
-start_table("$table_style width=70%", 10);
+start_table(TABLESTYLE, "width=70%", 10);
start_row();
echo "<td>";
display_transfer_items(_("Items"), $_SESSION['transfer_items']);