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