details:   https://code.openbravo.com/erp/devel/pi/rev/31fa39bf2c6a
changeset: 28269:31fa39bf2c6a
user:      Atul Gaware <atul.gaware <at> openbravo.com>
date:      Mon Jan 18 23:55:32 2016 +0530
summary:   Fixes Issue 31788:In a Purchase Order window the Price turns to 0 
using a
price list including taxes under some circumstancies

In case of Tax included Price List, Create PO Lines action handler now sets
Gross Standard Price = Gross Base Unit Price with proper value so that
during m_promotion_calculate if there exists any price adjustments, price
needs to be re-calculated in the order line. Earlier as gross std price was
set to  zero, Gross Unit Price, Line Gross Amount of the line was set to 0..

diffstat:

 src/org/openbravo/common/actionhandler/OrderCreatePOLines.java |  11 ++++++---
 1 files changed, 7 insertions(+), 4 deletions(-)

diffs (45 lines):

diff -r 4d04e9933ae6 -r 31fa39bf2c6a 
src/org/openbravo/common/actionhandler/OrderCreatePOLines.java
--- a/src/org/openbravo/common/actionhandler/OrderCreatePOLines.java    Tue Jan 
19 17:46:10 2016 +0100
+++ b/src/org/openbravo/common/actionhandler/OrderCreatePOLines.java    Mon Jan 
18 23:55:32 2016 +0530
@@ -11,7 +11,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) 2013 Openbravo SLU 
+ * All portions are Copyright (C) 2013-2016 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -154,7 +154,7 @@
       newOrderLine.setTax(tax);
 
       // Price
-      BigDecimal unitPrice, netPrice, grossPrice, stdPrice, limitPrice, 
grossAmt, netListPrice, grossListPrice;
+      BigDecimal unitPrice, netPrice, grossPrice, stdPrice, limitPrice, 
grossAmt, netListPrice, grossListPrice, grossStdPrice;
       stdPrice = BigDecimal.ZERO;
       final int pricePrecision = 
order.getCurrency().getPricePrecision().intValue();
       final int stdPrecision = 
order.getCurrency().getStandardPrecision().intValue();
@@ -168,11 +168,12 @@
         netPrice = FinancialUtils.calculateNetFromGross(tax.getId(), grossAmt, 
pricePrecision,
             grossAmt, qtyOrdered);
         limitPrice = netPrice;
-        stdPrice = netPrice;
+        // selected line standard price is Gross Std Price in this case
+        grossStdPrice = unitPrice;
         netListPrice = netPrice;
       } else {
         netPrice = unitPrice;
-        grossListPrice = grossAmt = grossPrice = BigDecimal.ZERO;
+        grossListPrice = grossAmt = grossPrice = grossStdPrice = 
BigDecimal.ZERO;
       }
 
       newOrderLine.setUnitPrice(netPrice);
@@ -181,6 +182,8 @@
       newOrderLine.setGrossListPrice(grossListPrice);
       newOrderLine.setPriceLimit(limitPrice);
       newOrderLine.setStandardPrice(stdPrice);
+      // Set Base Gross Unit Price thats is Gross Standard Price
+      newOrderLine.setBaseGrossUnitPrice(grossStdPrice);
       
newOrderLine.setLineNetAmount(netPrice.multiply(qtyOrdered).setScale(stdPrecision,
           BigDecimal.ROUND_HALF_UP));
       newOrderLine.setLineGrossAmount(grossAmt);

------------------------------------------------------------------------------
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=267308311&iu=/4140
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to