Modifying Supplier Credit: reverted GL postings - fixed.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Thu, 29 Sep 2022 08:12:08 +0000 (10:12 +0200)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Thu, 29 Sep 2022 08:12:08 +0000 (10:12 +0200)
Supplier Credit Note: invalid reference number selected for credit against invoice - fixed

purchasing/includes/db/invoice_db.inc
purchasing/includes/db/suppalloc_db.inc
purchasing/supplier_credit.php

index 04909404a5ec6c6c5df946c8c5eab37dd5a28402..844994521b9dace304d612dc28e80f459596e5c5 100644 (file)
@@ -124,7 +124,6 @@ function get_diff_in_home_currency($supplier, $old_date, $date, $amount1, $amoun
        return $diff;
 }
 //----------------------------------------------------------------------------------------
-
 function add_supp_invoice(&$supp_trans)
 {
        global $Refs;
@@ -166,7 +165,6 @@ function add_supp_invoice(&$supp_trans)
            foreach ($taxes as $n => $taxitem)
                        $item_added_tax += isset($taxitem['Override']) ? $taxitem['Override'] : round2($taxitem['Value'], user_price_dec());
        }
-
        if ($trans_type == ST_SUPPCREDIT)
        {
                // let's negate everything because it's a credit note
@@ -497,7 +495,7 @@ function read_supp_invoice($trans_no, $trans_type, &$supp_trans)
                                        $details_row["description"], 
                                        $details_row['qty_recd'],
                                        $details_row['quantity_inv'],
-                                       $details_row["quantity"], 0, $details_row["FullUnitPrice"],
+                                       ($trans_type == ST_SUPPCREDIT ? -1 : 1) * $details_row["quantity"], 0, $details_row["FullUnitPrice"], // SUPPCREDIT quantities are stored negative in database
                                        0, 0);
                }
                else
index ad83e7e4011224f03c381d0dfb532599f426e37b..cf996d602d0e72db63625d953053293cf3c60c11 100644 (file)
@@ -44,7 +44,7 @@ function get_supp_trans_allocation_balance($trans_type, $trans_no)
        $result = db_query($sql,"calculate the allocation");
        $myrow = db_fetch_row($result);
 
-       return $myrow[0];
+       return $myrow ? $myrow[0] : 0;
 }
 
 //----------------------------------------------------------------------------------------
index 4bfc235e52f4cd581b4e9be4de6bf2884929a570..21361cb8c497878426dbaadde60bd07857f19075 100644 (file)
@@ -54,6 +54,7 @@ if (isset($_GET['New']))
                $_SESSION['supp_trans']->trans_type = ST_SUPPCREDIT;
                $_SESSION['supp_trans']->trans_no = 0;
                $_SESSION['supp_trans']->supp_reference = '';
+               $_SESSION['supp_trans']->reference = '';
                $help_context = "Supplier Credit Note";
                $_SESSION['page_title'] = _("Supplier Credit Note");
 
@@ -246,10 +247,7 @@ function handle_commit_credit_note()
        if (!check_data())
                return;
 
-       if (isset($_POST['invoice_no']))
-               $invoice_no = add_supp_invoice($_SESSION['supp_trans'], $_POST['invoice_no']);
-       else
-               $invoice_no = add_supp_invoice($_SESSION['supp_trans']);
+       $invoice_no = add_supp_invoice($_SESSION['supp_trans']);
 
     $_SESSION['supp_trans']->clear_items();
     unset($_SESSION['supp_trans']);