details:   https://code.openbravo.com/erp/devel/pi/rev/b1547bcf9013
changeset: 32344:b1547bcf9013
user:      Armaignac <collazoandy4 <at> gmail.com>
date:      Sat Jun 17 00:35:55 2017 -0400
summary:   Fixes issue 36198: Volume Discount Invoice is created with 0 total 
gross amount

The gross amount value was not added to the created invoice line causing 0 
amount
if the price list include taxes

Now the gross amount is added to the invoice line and recalculate the line 
gross amount
if the line qtyinvoiced <> 0

diffstat:

 src-db/database/model/functions/M_RAPPEL_INVOICE_CREATE.xml |  7 ++++---
 src-db/database/model/triggers/C_INVOICELINE_BEFORE_TRG.xml |  4 +++-
 2 files changed, 7 insertions(+), 4 deletions(-)

diffs (52 lines):

diff -r 264924b5476d -r b1547bcf9013 
src-db/database/model/functions/M_RAPPEL_INVOICE_CREATE.xml
--- a/src-db/database/model/functions/M_RAPPEL_INVOICE_CREATE.xml       Fri Jun 
02 13:38:20 2017 +0200
+++ b/src-db/database/model/functions/M_RAPPEL_INVOICE_CREATE.xml       Sat Jun 
17 00:35:55 2017 -0400
@@ -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) 2001-2016 Openbravo SLU
+* All portions are Copyright (C) 2001-2017 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************/
@@ -269,6 +269,7 @@
         IL.C_TAX_ID,
         TO_NUMBER(NULL) AS RAPPELINVOICED,
         (-v_Discount) *SUM(IL.LINENETAMT) /100 AS LINENET, --    
SUM(IL.LINENETAMT)
+        (-v_Discount) *SUM(IL.LINE_GROSS_AMOUNT) /100 AS GROSS_AMOUNT,
         COALESCE(IL.C_PROJECT_ID, I.C_PROJECT_ID) AS C_PROJECT_ID,
         COALESCE(IL.USER1_ID, I.USER1_ID) AS USER1_ID,
         COALESCE(IL.USER2_ID, I.USER2_ID) AS USER2_ID,
@@ -467,7 +468,7 @@
           CREATED, CREATEDBY, UPDATED, UPDATEDBY,
           C_INVOICE_ID, C_ORDERLINE_ID, M_INOUTLINE_ID, LINE,
           DESCRIPTION, M_PRODUCT_ID, QTYINVOICED, PRICELIST,
-          PRICEACTUAL, PRICELIMIT, LINENETAMT, C_CHARGE_ID,
+          PRICEACTUAL, PRICELIMIT, LINENETAMT, LINE_GROSS_AMOUNT, C_CHARGE_ID,
           CHARGEAMT, C_UOM_ID, C_TAX_ID, S_RESOURCEASSIGNMENT_ID,
           TAXAMT, M_ATTRIBUTESETINSTANCE_ID, ISDESCRIPTION,
           QUANTITYORDER, M_PRODUCT_UOM_ID, PRICESTD, M_OFFER_ID,
@@ -481,7 +482,7 @@
           now(), v_AD_User_ID, now(), v_AD_User_ID,
           v_invoiceId, NULL, NULL, v_line,
           v_description, CUR_INVOICE.M_PRODUCT_ID, 0, 0,
-          0, 0, CUR_INVOICE.LINENET, NULL,
+          0, 0, CUR_INVOICE.LINENET, CUR_INVOICE.GROSS_AMOUNT, NULL,
           0, CUR_INVOICE.C_UOM_ID, CUR_INVOICE.C_TAX_ID, NULL,
           0, NULL, 'N',
           NULL, NULL, 0, NULL,
diff -r 264924b5476d -r b1547bcf9013 
src-db/database/model/triggers/C_INVOICELINE_BEFORE_TRG.xml
--- a/src-db/database/model/triggers/C_INVOICELINE_BEFORE_TRG.xml       Fri Jun 
02 13:38:20 2017 +0200
+++ b/src-db/database/model/triggers/C_INVOICELINE_BEFORE_TRG.xml       Sat Jun 
17 00:35:55 2017 -0400
@@ -78,7 +78,9 @@
     IF (v_execute='Y') THEN
   
       -- If tax included taxes recalculate net price / amounts
-      :new.line_gross_amount := ROUND(:new.gross_unit_price * 
:new.Qtyinvoiced, v_std_prec);
+      IF (:new.qtyinvoiced <> 0) THEN
+        :new.line_gross_amount := ROUND(:new.gross_unit_price * 
:new.Qtyinvoiced, v_std_prec);
+      END IF;
       
       SELECT tc.ASBOM INTO v_AsBOM FROM C_TAXCATEGORY tc, C_tax t WHERE 
tc.C_TAXCATEGORY_ID = t.C_TAXCATEGORY_ID AND t.C_TAX_ID = :new.C_Tax_ID;
       IF (v_AsBOM = 'Y') THEN

------------------------------------------------------------------------------
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