X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=sales%2Fcustomer_credit_invoice.php;h=8ccbb6e9cfcf217faab43851b7b535f91d20ada3;hb=3e2a432dd72688dbac39a07716201b2b00c16c8b;hp=b084a7d1bf0cd332a54f826c4cb14a9efc89d1ee;hpb=0ad7b92c6cf2e4e65ca0fa94ba31f30f7b292ba8;p=fa-stable.git
diff --git a/sales/customer_credit_invoice.php b/sales/customer_credit_invoice.php
index b084a7d1..8ccbb6e9 100644
--- a/sales/customer_credit_invoice.php
+++ b/sales/customer_credit_invoice.php
@@ -73,28 +73,36 @@ function can_process()
{
if (!is_date($_POST['CreditDate'])) {
display_error(_("The entered date is invalid."));;
+ set_focus('CreditDate');
return false;
} elseif (!is_date_in_fiscalyear($_POST['CreditDate'])) {
display_error(_("The entered date is not in fiscal year."));
+ set_focus('CreditDate');
return false;
}
if ($_SESSION['Items']->trans_no==0) {
if (!references::is_valid($_POST['ref'])) {
display_error(_("You must enter a reference."));;
+ set_focus('ref');
return false;
}
if (!is_new_reference($_POST['ref'], 11)) {
display_error(_("The entered reference is already in use."));;
+ set_focus('ref');
return false;
}
}
if (!check_num('ChargeFreightCost', 0)) {
display_error(_("The entered shipping cost is invalid or less than zero."));;
+ set_focus('ChargeFreightCost');
+ return false;
+ }
+ if (!check_quantities()) {
+ display_error(_("Selected quantity cannot be less than zero nor more than quantity not credited yet."));
return false;
}
-
return true;
}
@@ -135,14 +143,23 @@ if (isset($_GET['InvoiceNumber']) && $_GET['InvoiceNumber'] > 0) {
} elseif (!processing_active()) {
/* This page can only be called with an invoice number for crediting*/
die (_("This page can only be opened if an invoice has been selected for crediting."));
-} else {
+} elseif (!check_quantities()) {
+ display_error(_("Selected quantity cannot be less than zero nor more than quantity not credited yet."));
+}
+
+function check_quantities()
+{
+ $ok =1;
foreach ($_SESSION['Items']->line_items as $line_no=>$itm) {
if (isset($_POST['Line'.$line_no])) {
- if (check_num('Line'.$line_no, ($itm->quantity - $itm->qty_done))) {
- $_SESSION['Items']->line_items[$line_no]->qty_dispatched =
+ if (check_num('Line'.$line_no, 0, $itm->quantity)) {
+ $_SESSION['Items']->line_items[$line_no]->qty_dispatched =
input_num('Line'.$line_no);
}
}
+ else {
+ $ok = 0;
+ }
if (isset($_POST['Line'.$line_no.'Desc'])) {
$line_desc = $_POST['Line'.$line_no.'Desc'];
@@ -151,6 +168,7 @@ if (isset($_GET['InvoiceNumber']) && $_GET['InvoiceNumber'] > 0) {
}
}
}
+ return $ok;
}
//-----------------------------------------------------------------------------
@@ -223,7 +241,7 @@ function display_credit_items()
// $_POST['ref'] = references::get_next(11);
if ($_SESSION['Items']->trans_no==0) {
- ref_cells(_("Reference"), 'ref', $_SESSION['Items']->reference, "class='tableheader2'");
+ ref_cells(_("Reference"), 'ref', '', $_SESSION['Items']->reference, "class='tableheader2'");
} else {
label_cells(_("Reference"), $_SESSION['Items']->reference, "class='tableheader2'");
}
@@ -249,7 +267,7 @@ function display_credit_items()
label_row(_("Invoice Date"), $_SESSION['Items']->src_date, "class='tableheader2'");
- date_row(_("Credit Note Date"), 'CreditDate', null, 0, 0, 0, "class='tableheader2'");
+ date_row(_("Credit Note Date"), 'CreditDate', '', null, 0, 0, 0, "class='tableheader2'");
end_table();
@@ -257,6 +275,7 @@ function display_credit_items()
end_table(1); // outer table
+ div_start('credit_items');
start_table("$table_style width=80%");
$th = array(_("Item Code"), _("Item Description"), _("Invoiced Quantity"), _("Units"),
_("Credit Quantity"), _("Price"), _("Discount %"), _("Total"));
@@ -274,13 +293,12 @@ function display_credit_items()
// view_stock_status_cell($ln_itm->stock_id); alternative view
label_cell($ln_itm->stock_id);
- text_cells(null, 'Line'.$line_no.'Desc', $ln_itm->item_description, 30, 50);
-
- qty_cell($ln_itm->quantity);
+ text_cells(null, 'Line'.$line_no.'Desc', $ln_itm->item_description, 30, 50);
+ $dec = get_qty_dec($ln_itm->stock_id);
+ qty_cell($ln_itm->quantity, false, $dec);
label_cell($ln_itm->units);
-
- amount_cells(null, 'Line'.$line_no, qty_format($ln_itm->qty_dispatched));
-
+ amount_cells(null, 'Line'.$line_no, number_format2($ln_itm->qty_dispatched, $dec),
+ null, null, $dec);
$line_total =($ln_itm->qty_dispatched * $ln_itm->price * (1 - $ln_itm->discount_percent));
amount_cell($ln_itm->price);
@@ -295,7 +313,7 @@ function display_credit_items()
start_row();
label_cell(_("Credit Shipping Cost"), "colspan=7 align=right");
- amount_cells(null, "ChargeFreightCost", $_POST['ChargeFreightCost'], 6, 6);
+ amount_cells_ex(null, "ChargeFreightCost", 6, 8, $_POST['ChargeFreightCost']);
end_row();
$inv_items_total = $_SESSION['Items']->get_items_total_dispatch();
@@ -312,53 +330,56 @@ function display_credit_items()
label_row(_("Credit Note Total"), $display_total, "colspan=7 align=right", "align=right");
end_table();
+ div_end();
}
//-----------------------------------------------------------------------------
-
function display_credit_options()
{
- global $table_style2;
-
- echo "
";
- start_table($table_style2);
-
- echo "