details:   https://code.openbravo.com/erp/devel/pi/rev/8486f723f504
changeset: 33714:8486f723f504
user:      Mark <markmm82 <at> gmail.com>
date:      Mon Mar 12 16:40:55 2018 -0400
summary:   Fixes issue 38050: Wrong "Paid in full date" set when a backdated 
invoice
is registered associated to a backdated prepaid order

If the invoice is registered associated to a backdated prepaid order and it is
paid, then "Paid in full date" is updated with the last payment date instead of
the date in wich the invoice is processed.

details:   https://code.openbravo.com/erp/devel/pi/rev/479d562459f9
changeset: 33715:479d562459f9
user:      David Miguelez <david.miguelez <at> openbravo.com>
date:      Wed Mar 21 18:52:01 2018 +0100
summary:   Related to Issue 38050. Changed query to retrieve last payment date
for an Invoice to follow the same logic as in Java
(FIN_AddPayment.getFinalSettlementDate())

diffstat:

 
modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml
 |  14 ++++++++-
 1 files changed, 12 insertions(+), 2 deletions(-)

diffs (45 lines):

diff -r 1d807780854f -r 479d562459f9 
modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml
     Wed Mar 21 15:04:25 2018 +0000
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml
     Wed Mar 21 18:52:01 2018 +0100
@@ -16,7 +16,7 @@
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
-* All portions are Copyright (C) 2010-2017 Openbravo SLU
+* All portions are Copyright (C) 2010-2018 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************/
@@ -95,6 +95,7 @@
 v_paymentamt NUMBER:=0;
 v_depositamt NUMBER:=0;
 v_transactiontype VARCHAR2(32);
+v_finalsettlementdate C_Invoice.FinalSettlement%TYPE;
 
 BEGIN
 
@@ -613,6 +614,15 @@
       WHERE C_INVOICE_ID=P_RECORD_ID
         AND OUTSTANDINGAMT != 0;
 
+      IF(v_OutstandingAmount = 0) THEN
+        SELECT MAX(lastpayment)
+        INTO v_finalsettlementdate
+        FROM fin_payment_sched_inv_v
+        WHERE c_invoice_id = P_RECORD_ID;
+      ELSE
+        v_finalsettlementdate := NULL;
+      END IF;
+
       --Updating Payment Monitor values into C_INVOICE
       UPDATE C_INVOICE
       SET TOTALPAID = v_PaidAmount,
@@ -621,7 +631,7 @@
           DAYSTILLDUE = V_DayStillDue,
           LASTCALCULATEDONDATE = now(),
           ISPAID = CASE v_OutstandingAmount WHEN 0 THEN 'Y' ELSE 'N' END,
-          FINALSETTLEMENT = CASE v_OutstandingAmount WHEN 0 THEN now() ELSE 
NULL END
+          FINALSETTLEMENT = v_finalsettlementdate
       WHERE C_INVOICE_ID = P_RECORD_ID;
 
       -- Updating SO_CREDITUSED when Invoices are being processed

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to