details:   https://code.openbravo.com/erp/devel/pi/rev/1124bbf1942d
changeset: 28600:1124bbf1942d
user:      Víctor Martínez Romanos <victor.martinez <at> openbravo.com>
date:      Thu Feb 11 13:42:35 2016 +0100
summary:   Fixed bug 32100: Reactivation control of a prepaid cash vat invoice

When an invoice is linked to a payment, the system currently avoids to 
reactivate it. You first need to reactivate the payment, so the cash vat 
information is deleted, and then you can reactivate the invoice.
However for prepaid invoices, the system does allow to reactivate the invoice, 
but the cash vat information is wrongly kept.

Now we delete all the cash vat info records linked to a prepayment for this 
invoice at invoice reactivation time. When the invoice is latter on processed, 
the cash vat records will be calculated again.

details:   https://code.openbravo.com/erp/devel/pi/rev/5543dcdb0d5f
changeset: 28601:5543dcdb0d5f
user:      Víctor Martínez Romanos <victor.martinez <at> openbravo.com>
date:      Thu Feb 11 15:59:45 2016 +0100
summary:   Fixed bug 32206: Invoice reactivation with Manual Cash VAT Settlement

Avoid to reactivate an invoice linked to a Manual Cash VAT Settlement

diffstat:

 
modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml
 |  28 ++++++++++
 modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml 
                       |  12 ++++
 2 files changed, 40 insertions(+), 0 deletions(-)

diffs (67 lines):

diff -r 43feadf21bf7 -r 5543dcdb0d5f 
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
     Fri Feb 12 11:04:34 2016 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml
     Thu Feb 11 15:59:45 2016 +0100
@@ -1070,6 +1070,20 @@
       IF (v_count <> 0) THEN
         RAISE_APPLICATION_ERROR(-20000, '@APRM_InvoiceWithPayments@' || ' ' || 
v_documentno);
       END IF;
+
+      SELECT count(*)
+      INTO v_count
+      FROM DUAL
+      WHERE EXISTS (SELECT 1
+                    FROM C_InvoiceTax_CashVAT itcv
+                    INNER JOIN C_InvoiceTax it on (it.C_InvoiceTax_ID = 
itcv.C_InvoiceTax_ID)
+                    WHERE it.C_Invoice_ID = p_record_id
+                    AND itcv.IsManualSettlement = 'Y'
+                    );
+      IF (v_count > 0) THEN
+        RAISE_APPLICATION_ERROR(-20000, 
'@APRM_InvoiceWithManualCashVATSettlement@');
+      END IF;
+
       SELECT count(*), max(p.documentno)
         INTO v_count, v_documentno
       FROM fin_payment_schedule ps, fin_payment_scheduledetail psd, 
fin_payment_prop_detail pd, fin_payment_proposal p
@@ -1121,6 +1135,20 @@
       UPDATE C_BPARTNER
          SET SO_CREDITUSED = COALESCE(SO_CREDITUSED,0) - v_convertedAmount
       WHERE C_BPARTNER_ID = v_BPartner_ID;
+
+      -- Delete C_InvoiceTax_CashVAT records for this invoice
+      --  this only happens for prepayments, which are bypassed by the 
previous check
+      DELETE FROM C_InvoiceTax_CashVAT itcv
+      WHERE EXISTS (SELECT 1
+                    FROM C_InvoiceTax it
+                    WHERE it.C_InvoiceTax_ID = itcv.C_InvoiceTax_ID
+                    AND it.C_Invoice_ID = p_record_id
+                    )
+      AND EXISTS (SELECT 1
+                  FROM FIN_Payment_Detail fpd
+                  WHERE fpd.FIN_Payment_Detail_ID = itcv.FIN_Payment_Detail_ID
+                  AND fpd.IsPrepayment = 'Y')
+      AND itcv.IsManualSettlement = 'N';
     END;
 
   ELSIF (p_docaction = 'RC') THEN
diff -r 43feadf21bf7 -r 5543dcdb0d5f 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml
    Fri Feb 12 11:04:34 2016 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml
    Thu Feb 11 15:59:45 2016 +0100
@@ -1309,6 +1309,18 @@
 <!--D0F129E2F69F4D199DAE68813D2327A2-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--D0F129E2F69F4D199DAE68813D2327A2--></AD_MESSAGE>
 
+<!--D1CF6692476E409DBACAC1809BBC1788--><AD_MESSAGE>
+<!--D1CF6692476E409DBACAC1809BBC1788-->  
<AD_MESSAGE_ID><![CDATA[D1CF6692476E409DBACAC1809BBC1788]]></AD_MESSAGE_ID>
+<!--D1CF6692476E409DBACAC1809BBC1788-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--D1CF6692476E409DBACAC1809BBC1788-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--D1CF6692476E409DBACAC1809BBC1788-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--D1CF6692476E409DBACAC1809BBC1788-->  
<VALUE><![CDATA[APRM_InvoiceWithManualCashVATSettlement]]></VALUE>
+<!--D1CF6692476E409DBACAC1809BBC1788-->  <MSGTEXT><![CDATA[The invoice is 
already included into a Manual Cash VAT Settlement]]></MSGTEXT>
+<!--D1CF6692476E409DBACAC1809BBC1788-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--D1CF6692476E409DBACAC1809BBC1788-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--D1CF6692476E409DBACAC1809BBC1788-->  
<ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--D1CF6692476E409DBACAC1809BBC1788--></AD_MESSAGE>
+
 <!--D2585EEAC94945C7B3CF79C209FD7650--><AD_MESSAGE>
 <!--D2585EEAC94945C7B3CF79C209FD7650-->  
<AD_MESSAGE_ID><![CDATA[D2585EEAC94945C7B3CF79C209FD7650]]></AD_MESSAGE_ID>
 <!--D2585EEAC94945C7B3CF79C209FD7650-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to