details:   https://code.openbravo.com/erp/devel/pi/rev/ee2bac874153
changeset: 31642:ee2bac874153
user:      Alvaro Ferraz <alvaro.ferraz <at> openbravo.com>
date:      Fri Mar 10 15:57:33 2017 +0100
summary:   Related to bug 35471: Add last TaxAmt when calculating 
cascade/dependant taxes

diffstat:

 src-db/database/model/functions/C_INVOICETAX_ADJUSTMENT.xml |   2 ++
 src-db/database/model/functions/C_ORDERTAX_ADJUSTMENT.xml   |   2 ++
 src-db/database/model/triggers/C_INVOICELINETAX_TRG.xml     |  13 ++++++-------
 src-db/database/model/triggers/C_ORDERLINETAX_TRG.xml       |  12 +++++-------
 4 files changed, 15 insertions(+), 14 deletions(-)

diffs (113 lines):

diff -r 5e4e6352a9f7 -r ee2bac874153 
src-db/database/model/functions/C_INVOICETAX_ADJUSTMENT.xml
--- a/src-db/database/model/functions/C_INVOICETAX_ADJUSTMENT.xml       Fri Mar 
10 14:37:32 2017 +0100
+++ b/src-db/database/model/functions/C_INVOICETAX_ADJUSTMENT.xml       Fri Mar 
10 15:57:33 2017 +0100
@@ -137,6 +137,8 @@
           SET LineNetAmt = LineNetAmt + CUR_Tax.LineAdjustment
           WHERE C_InvoiceLine_ID = CUR_Line.C_InvoiceLine_ID;
 
+          -- TODO: Adjust C_InvoiceLineTax accordingly
+
           EXIT;
         END LOOP;
       END IF;
diff -r 5e4e6352a9f7 -r ee2bac874153 
src-db/database/model/functions/C_ORDERTAX_ADJUSTMENT.xml
--- a/src-db/database/model/functions/C_ORDERTAX_ADJUSTMENT.xml Fri Mar 10 
14:37:32 2017 +0100
+++ b/src-db/database/model/functions/C_ORDERTAX_ADJUSTMENT.xml Fri Mar 10 
15:57:33 2017 +0100
@@ -132,6 +132,8 @@
           SET LineNetAmt = LineNetAmt + CUR_Tax.LineAdjustment
           WHERE C_OrderLine_ID = CUR_Line.C_OrderLine_ID;
 
+          -- TODO: Adjust C_OrderLineTax accordingly
+
           EXIT;
         END LOOP;
       END IF;
diff -r 5e4e6352a9f7 -r ee2bac874153 
src-db/database/model/triggers/C_INVOICELINETAX_TRG.xml
--- a/src-db/database/model/triggers/C_INVOICELINETAX_TRG.xml   Fri Mar 10 
14:37:32 2017 +0100
+++ b/src-db/database/model/triggers/C_INVOICELINETAX_TRG.xml   Fri Mar 10 
15:57:33 2017 +0100
@@ -38,7 +38,6 @@
 v_Processed   VARCHAR(60);
 v_Increment_Amount C_INVOICETAX.TAXAMT%TYPE;
 v_Increment_Base C_INVOICETAX.TAXBASEAMT%TYPE;
-v_IsTaxIncluded M_PRICELIST.IsTaxIncluded%TYPE;
     
 BEGIN
     
@@ -53,11 +52,11 @@
       v_C_Invoice_ID:=:OLD.C_INVOICE_ID;
     END IF;
 
-    SELECT C_CURRENCY.STDPRECISION, PROCESSED, M_PRICELIST.ISTAXINCLUDED
-    INTO v_Prec, v_Processed, v_IsTaxIncluded
-    FROM C_INVOICE, C_CURRENCY, M_PRICELIST
+    SELECT C_CURRENCY.STDPRECISION, PROCESSED
+    INTO v_Prec, v_Processed
+    FROM C_INVOICE, C_CURRENCY
     WHERE C_INVOICE.C_CURRENCY_ID = C_CURRENCY.C_CURRENCY_ID
-    AND C_INVOICE.M_PRICELIST_ID = M_PRICELIST.M_PRICELIST_ID
+
     AND C_INVOICE_ID = v_C_Invoice_ID;
     
     SELECT DocTaxAmount, Rate, Cascade, BaseAmount, C_TaxBase_ID, Line
@@ -84,7 +83,7 @@
     AND Recalculate = 'Y';
     IF(v_Count>0) THEN
       IF (v_DocTaxAmount = 'D' AND (v_Cascade = 'Y' OR v_BaseAmount IN ('TAX', 
'LNATAX', 'TBATAX'))) THEN
-        SELECT COALESCE(CASE WHEN MAX(it.TaxBaseAmt) > 0 THEN 
MAX(ROUND(it.TaxBaseAmt, v_Prec)) ELSE MIN(ROUND(it.TaxBaseAmt, v_Prec)) END + 
SUM(it.TaxAmt), 0)
+        SELECT COALESCE(CASE WHEN MAX(it.TaxBaseAmt) > 0 THEN 
MAX(ROUND(it.TaxBaseAmt, v_Prec)) + MAX(it.TaxAmt) ELSE 
MIN(ROUND(it.TaxBaseAmt, v_Prec)) + MIN(it.TaxAmt) END, 0)
         INTO v_Increment_Base
         FROM C_InvoiceTax it
         JOIN C_Tax t
@@ -128,7 +127,7 @@
     RAISE_APPLICATION_ERROR(-20000, '@20501@') ;
   ELSE
     IF (v_DocTaxAmount = 'D' AND (v_Cascade = 'Y' OR v_BaseAmount IN ('TAX', 
'LNATAX', 'TBATAX'))) THEN
-      SELECT COALESCE(CASE WHEN MAX(it.TaxBaseAmt) > 0 THEN 
MAX(ROUND(it.TaxBaseAmt, v_Prec)) ELSE MIN(ROUND(it.TaxBaseAmt, v_Prec)) END + 
SUM(it.TaxAmt), 0)
+      SELECT COALESCE(CASE WHEN MAX(it.TaxBaseAmt) > 0 THEN 
MAX(ROUND(it.TaxBaseAmt, v_Prec)) + MAX(it.TaxAmt) ELSE 
MIN(ROUND(it.TaxBaseAmt, v_Prec)) + MIN(it.TaxAmt) END, 0)
       INTO v_Increment_Base
       FROM C_InvoiceTax it
       JOIN C_Tax t
diff -r 5e4e6352a9f7 -r ee2bac874153 
src-db/database/model/triggers/C_ORDERLINETAX_TRG.xml
--- a/src-db/database/model/triggers/C_ORDERLINETAX_TRG.xml     Fri Mar 10 
14:37:32 2017 +0100
+++ b/src-db/database/model/triggers/C_ORDERLINETAX_TRG.xml     Fri Mar 10 
15:57:33 2017 +0100
@@ -37,7 +37,6 @@
 v_Line C_TAX.LINE%TYPE;
 v_Increment_Amount C_ORDERTAX.TAXAMT%TYPE;
 v_Increment_Base C_ORDERTAX.TAXBASEAMT%TYPE;
-v_IsTaxIncluded M_PRICELIST.IsTaxIncluded%TYPE;
 v_Processed VARCHAR(60) ;
 v_DocAction VARCHAR(60);
 BEGIN
@@ -53,11 +52,10 @@
       v_C_Order_ID:=:OLD.C_ORDER_ID;
     END IF;
 
-    SELECT C_CURRENCY.STDPRECISION, M_PRICELIST.ISTAXINCLUDED
-    INTO v_Prec, v_IsTaxIncluded
-    FROM C_ORDER, C_CURRENCY, M_PRICELIST
+    SELECT C_CURRENCY.STDPRECISION
+    INTO v_Prec
+    FROM C_ORDER, C_CURRENCY
     WHERE C_ORDER.C_CURRENCY_ID = C_CURRENCY.C_CURRENCY_ID
-    AND C_ORDER.M_PRICELIST_ID = M_PRICELIST.M_PRICELIST_ID
     AND C_ORDER_ID = v_C_Order_ID;
     
     SELECT DocTaxAmount, Rate, Cascade, BaseAmount, C_TaxBase_ID, Line
@@ -83,7 +81,7 @@
     AND C_Tax_ID = :new.C_Tax_ID;
     IF(v_Count>0) THEN
       IF (v_DocTaxAmount = 'D' AND (v_Cascade = 'Y' OR v_BaseAmount IN ('TAX', 
'LNATAX', 'TBATAX'))) THEN
-        SELECT COALESCE(CASE WHEN MAX(ot.TaxBaseAmt) > 0 THEN 
MAX(ROUND(ot.TaxBaseAmt, v_Prec)) ELSE MIN(ROUND(ot.TaxBaseAmt, v_Prec)) END + 
SUM(ot.TaxAmt), 0)
+        SELECT COALESCE(CASE WHEN MAX(ot.TaxBaseAmt) > 0 THEN 
MAX(ROUND(ot.TaxBaseAmt, v_Prec)) + MAX(ot.TaxAmt) ELSE 
MIN(ROUND(ot.TaxBaseAmt, v_Prec)) + MIN(ot.TaxAmt) END, 0)
         INTO v_Increment_Base
         FROM C_OrderTax ot
         JOIN C_Tax t
@@ -132,7 +130,7 @@
        RAISE_APPLICATION_ERROR(-20000, '@20501@') ;
     END IF;
     IF (v_DocTaxAmount = 'D' AND (v_Cascade = 'Y' OR v_BaseAmount IN ('TAX', 
'LNATAX', 'TBATAX'))) THEN
-      SELECT COALESCE(CASE WHEN MAX(ot.TaxBaseAmt) > 0 THEN 
MAX(ROUND(ot.TaxBaseAmt, v_Prec)) ELSE MIN(ROUND(ot.TaxBaseAmt, v_Prec)) END + 
SUM(ot.TaxAmt), 0)
+      SELECT COALESCE(CASE WHEN MAX(ot.TaxBaseAmt) > 0 THEN 
MAX(ROUND(ot.TaxBaseAmt, v_Prec)) + MAX(ot.TaxAmt) ELSE 
MIN(ROUND(ot.TaxBaseAmt, v_Prec)) + MIN(ot.TaxAmt) END, 0)
       INTO v_Increment_Base
       FROM C_OrderTax ot
       JOIN C_Tax t

------------------------------------------------------------------------------
Announcing the Oxford Dictionaries API! The API offers world-renowned
dictionary content that is easy and intuitive to access. Sign up for an
account today to start using our lexical data to power your apps and
projects. Get started today and enter our developer competition.
http://sdm.link/oxford
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to