X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=sales%2Fcustomer_credit_invoice.php;h=d87653e0847e2193de13bfa8bb278717dc534585;hb=4c16d92ae1e1032f23e029d7d2f901a65a4223bc;hp=2e8bb162b0c0ca4ce8ed9a7d6c0095166a2b2318;hpb=236c7f536aac0064585c371d37cf527f6984f3ce;p=fa-stable.git
diff --git a/sales/customer_credit_invoice.php b/sales/customer_credit_invoice.php
index 2e8bb162..d87653e0 100644
--- a/sales/customer_credit_invoice.php
+++ b/sales/customer_credit_invoice.php
@@ -39,7 +39,6 @@ page($_SESSION['page_title'], false, false, "", $js);
if (isset($_GET['AddedID'])) {
$credit_no = $_GET['AddedID'];
$trans_type = 11;
- print_hidden_script(11);
display_notification_centered(_("Credit Note has been processed"));
@@ -54,7 +53,6 @@ if (isset($_GET['AddedID'])) {
} elseif (isset($_GET['UpdatedID'])) {
$credit_no = $_GET['UpdatedID'];
$trans_type = 11;
- print_hidden_script(11);
display_notification_centered(_("Credit Note has been updated"));
@@ -99,7 +97,10 @@ function can_process()
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;
}
@@ -109,15 +110,6 @@ if (isset($_GET['InvoiceNumber']) && $_GET['InvoiceNumber'] > 0) {
$ci = new Cart(10, $_GET['InvoiceNumber'], true);
- if ($ci==null) {
- display_error(_("This invoice can not be credited using the automatic facility."));
- display_error("Please report that a duplicate debtor_trans header record was found for invoice " . key($ci->src_docs));
- echo "
";
- processing_end();
- exit;
- }
- //valid invoice record returned from the entered invoice number
-
$ci->trans_type = 11;
$ci->src_docs = $ci->trans_no;
$ci->src_date = $ci->document_date;
@@ -140,14 +132,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))) {
+ 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'];
@@ -156,6 +157,7 @@ if (isset($_GET['InvoiceNumber']) && $_GET['InvoiceNumber'] > 0) {
}
}
}
+ return $ok;
}
//-----------------------------------------------------------------------------
@@ -262,6 +264,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"));
@@ -283,9 +286,8 @@ function display_credit_items()
$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, number_format2($ln_itm->qty_dispatched, $dec));
-
+ 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);
@@ -317,53 +319,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 "