details:   https://code.openbravo.com/erp/devel/pi/rev/96b2297ea85b
changeset: 17572:96b2297ea85b
user:      Gorka Ion Damián <gorkaion.damian <at> openbravo.com>
date:      Mon Jul 30 13:51:36 2012 +0200
summary:   Related to issue 21195.Use std precision for amounts.

diffstat:

 src-db/database/model/functions/M_INOUT_CREATEINVOICE.xml |  14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diffs (40 lines):

diff -r 5f9d5073728d -r 96b2297ea85b 
src-db/database/model/functions/M_INOUT_CREATEINVOICE.xml
--- a/src-db/database/model/functions/M_INOUT_CREATEINVOICE.xml Fri Jul 27 
14:27:55 2012 +0200
+++ b/src-db/database/model/functions/M_INOUT_CREATEINVOICE.xml Mon Jul 30 
13:51:36 2012 +0200
@@ -95,7 +95,8 @@
       v_PriceLimit NUMBER;
       v_gross_unit_price NUMBER;
       v_line_gross_amount NUMBER;
-      v_precision NUMBER;
+      v_priceprecision NUMBER;
+      v_stdprecision NUMBER;
       --
       v_taxBaseAmt NUMBER;
       v_LineNetAmt NUMBER;
@@ -196,7 +197,8 @@
             WHERE c_bpartner_id = CUR_Shipment.C_BPartner_ID;
           END IF;
           
-          SELECT PricePrecision INTO v_precision
+          SELECT PricePrecision, stdprecision
+            INTO v_priceprecision, v_stdprecision
           FROM C_CURRENCY
           WHERE C_CURRENCY_ID = v_C_Currency_ID;
           
@@ -293,12 +295,12 @@
               v_C_Tax_ID:=C_Gettax(CUR_ShipmentLines.M_Product_ID, 
CUR_Shipment.MovementDate, CUR_Shipment.AD_Org_ID, CUR_Shipment.M_Warehouse_ID, 
CUR_Shipment.C_BPartner_Location_ID, CUR_Shipment.C_BPartner_Location_ID, 
CUR_Shipment.C_Project_ID, 'N') ;
               IF (v_istaxincluded = 'Y') THEN
                 v_gross_unit_price:= v_PriceActual;
-                v_line_gross_amount:= ROUND(v_gross_unit_price * 
CUR_ShipmentLines.MovementQty, v_precision);
-                v_PriceActual:= C_GET_NET_PRICE_FROM_GROSS(v_C_Tax_ID, 
v_PriceActual, 0, v_precision, 1);
-                v_LineNetAmt:= ROUND(v_PriceActual * 
CUR_ShipmentLines.MovementQty, v_precision);
+                v_line_gross_amount:= ROUND(v_gross_unit_price * 
CUR_ShipmentLines.MovementQty, v_stdprecision);
+                v_PriceActual:= C_GET_NET_PRICE_FROM_GROSS(v_C_Tax_ID, 
v_PriceActual, 0, v_priceprecision, 1);
+                v_LineNetAmt:= ROUND(v_PriceActual * 
CUR_ShipmentLines.MovementQty, v_stdprecision);
               ELSE
                 v_PriceActual:=M_Get_Offers_Price(now(), 
CUR_Shipment.C_BPartner_ID, CUR_ShipmentLines.M_Product_ID, v_PriceActual, 
CUR_ShipmentLines.MovementQty, v_M_PriceList_ID);
-                v_LineNetAmt:=ROUND(M_Get_Offers_Price(now(), 
CUR_Shipment.C_BPartner_ID, CUR_ShipmentLines.M_Product_ID, v_PriceActual, 
CUR_ShipmentLines.MovementQty, v_M_PriceList_ID) 
*CUR_ShipmentLines.MovementQty, 2) ;
+                v_LineNetAmt:=ROUND(M_Get_Offers_Price(now(), 
CUR_Shipment.C_BPartner_ID, CUR_ShipmentLines.M_Product_ID, v_PriceActual, 
CUR_ShipmentLines.MovementQty, v_M_PriceList_ID) 
*CUR_ShipmentLines.MovementQty, v_stdprecision) ;
               END IF;
             END IF;
             -- Get UOM + Tax -- VERY simplified, but should work in most cases

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to