details: /erp/devel/main/rev/3e0886948e27
changeset: 8908:3e0886948e27
user: Sivaraman Rajagopal <sivaraman.rajagopal <at> openbravo.com>
date: Mon Nov 15 10:03:21 2010 +0530
summary: Fixes issue 14920: Wrong Net Unit Price when Line Net Amount is
edited
Line Net Amount is re-calculated, multiplying invoice quantity with actual
price, in order to check below condition. Message will be thrown if it fail
Line Net Amount == (price actual * invoice quantity)
details: /erp/devel/main/rev/2dbba9a7d6a0
changeset: 8909:2dbba9a7d6a0
user: RM packaging bot <staff.rm <at> openbravo.com>
date: Mon Nov 15 14:40:37 2010 +0000
summary: CI: promote changesets from pi to main
diffstat:
src-db/database/sourcedata/AD_MESSAGE.xml | 22 +++++++++
src-db/database/sourcedata/AD_MODULE.xml | 4 +-
src/org/openbravo/erpCommon/ad_callouts/SL_Invoice_Amt.java | 30 ++++++++++--
3 files changed, 49 insertions(+), 7 deletions(-)
diffs (114 lines):
diff -r a1a1fcf144f4 -r 2dbba9a7d6a0 src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml Fri Nov 12 17:59:16 2010 +0100
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml Mon Nov 15 14:40:37 2010 +0000
@@ -30387,6 +30387,17 @@
<!--2C9BE7698E31458E966E9CFBF91A35BF-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
<!--2C9BE7698E31458E966E9CFBF91A35BF--></AD_MESSAGE>
+<!--2CB71A652AB845D3A8A6477359C66451--><AD_MESSAGE>
+<!--2CB71A652AB845D3A8A6477359C66451-->
<AD_MESSAGE_ID><![CDATA[2CB71A652AB845D3A8A6477359C66451]]></AD_MESSAGE_ID>
+<!--2CB71A652AB845D3A8A6477359C66451-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--2CB71A652AB845D3A8A6477359C66451--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--2CB71A652AB845D3A8A6477359C66451--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--2CB71A652AB845D3A8A6477359C66451-->
<VALUE><![CDATA[CosiderUsing]]></VALUE>
+<!--2CB71A652AB845D3A8A6477359C66451--> <MSGTEXT><![CDATA[Please consider
using]]></MSGTEXT>
+<!--2CB71A652AB845D3A8A6477359C66451--> <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--2CB71A652AB845D3A8A6477359C66451-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--2CB71A652AB845D3A8A6477359C66451--></AD_MESSAGE>
+
<!--2E175A7785AD4313B24D3E9034B05BAD--><AD_MESSAGE>
<!--2E175A7785AD4313B24D3E9034B05BAD-->
<AD_MESSAGE_ID><![CDATA[2E175A7785AD4313B24D3E9034B05BAD]]></AD_MESSAGE_ID>
<!--2E175A7785AD4313B24D3E9034B05BAD-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -31930,6 +31941,17 @@
<!--8437C016631646ED9643B0B53E4F2AF8-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
<!--8437C016631646ED9643B0B53E4F2AF8--></AD_MESSAGE>
+<!--8469430EFFEF43F0AD20EC3830EBBF1E--><AD_MESSAGE>
+<!--8469430EFFEF43F0AD20EC3830EBBF1E-->
<AD_MESSAGE_ID><![CDATA[8469430EFFEF43F0AD20EC3830EBBF1E]]></AD_MESSAGE_ID>
+<!--8469430EFFEF43F0AD20EC3830EBBF1E-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--8469430EFFEF43F0AD20EC3830EBBF1E--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--8469430EFFEF43F0AD20EC3830EBBF1E--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--8469430EFFEF43F0AD20EC3830EBBF1E-->
<VALUE><![CDATA[NotCorrectAmountProvided]]></VALUE>
+<!--8469430EFFEF43F0AD20EC3830EBBF1E--> <MSGTEXT><![CDATA[It's not correct
the amount provided]]></MSGTEXT>
+<!--8469430EFFEF43F0AD20EC3830EBBF1E--> <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--8469430EFFEF43F0AD20EC3830EBBF1E-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--8469430EFFEF43F0AD20EC3830EBBF1E--></AD_MESSAGE>
+
<!--85FD4D54C85F324EE040007F01012930--><AD_MESSAGE>
<!--85FD4D54C85F324EE040007F01012930-->
<AD_MESSAGE_ID><![CDATA[85FD4D54C85F324EE040007F01012930]]></AD_MESSAGE_ID>
<!--85FD4D54C85F324EE040007F01012930-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r a1a1fcf144f4 -r 2dbba9a7d6a0 src-db/database/sourcedata/AD_MODULE.xml
--- a/src-db/database/sourcedata/AD_MODULE.xml Fri Nov 12 17:59:16 2010 +0100
+++ b/src-db/database/sourcedata/AD_MODULE.xml Mon Nov 15 14:40:37 2010 +0000
@@ -6,7 +6,7 @@
<!--0--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
<!--0--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
<!--0--> <NAME><![CDATA[Core]]></NAME>
-<!--0--> <VERSION><![CDATA[2.50.18840]]></VERSION>
+<!--0--> <VERSION><![CDATA[2.50.18908]]></VERSION>
<!--0--> <DESCRIPTION><![CDATA[Core module is the base one]]></DESCRIPTION>
<!--0--> <HELP><![CDATA[Core module is the base one, all developments in core
are included as part of the standard Openbravo ERP.]]></HELP>
<!--0--> <URL><![CDATA[www.openbravo.com]]></URL>
@@ -22,7 +22,7 @@
<!--0--> <ISTRANSLATIONMODULE><![CDATA[N]]></ISTRANSLATIONMODULE>
<!--0--> <HASREFERENCEDATA><![CDATA[Y]]></HASREFERENCEDATA>
<!--0--> <REFERENCEDATAINFO><![CDATA[Standard document types for orders,
invoices, etc. and settings]]></REFERENCEDATAINFO>
-<!--0--> <VERSION_LABEL><![CDATA[dev]]></VERSION_LABEL>
+<!--0--> <VERSION_LABEL><![CDATA[CI]]></VERSION_LABEL>
<!--0--> <ISCOMMERCIAL><![CDATA[N]]></ISCOMMERCIAL>
<!--0--></AD_MODULE>
diff -r a1a1fcf144f4 -r 2dbba9a7d6a0
src/org/openbravo/erpCommon/ad_callouts/SL_Invoice_Amt.java
--- a/src/org/openbravo/erpCommon/ad_callouts/SL_Invoice_Amt.java Fri Nov
12 17:59:16 2010 +0100
+++ b/src/org/openbravo/erpCommon/ad_callouts/SL_Invoice_Amt.java Mon Nov
15 14:40:37 2010 +0000
@@ -125,10 +125,11 @@
SLOrderProductData[] dataInvoice = SLOrderProductData.selectInvoice(this,
strInvoiceId);
if (strChanged.equals("inplinenetamt")) {
- priceActual = LineNetAmt.divide(qtyInvoice, PricePrecision,
BigDecimal.ROUND_HALF_UP);
- DecimalFormat df = Utility.getFormat(vars, "priceEdition");
- LineNetAmt =
qtyInvoice.multiply(priceActual.setScale(df.getMaximumFractionDigits(),
- BigDecimal.ROUND_HALF_UP));
+ if (qtyInvoice.compareTo(BigDecimal.ZERO) == 0) {
+ priceActual = BigDecimal.ZERO;
+ } else {
+ priceActual = LineNetAmt.divide(qtyInvoice, PricePrecision,
BigDecimal.ROUND_HALF_UP);
+ }
}
if (priceActual.compareTo(BigDecimal.ZERO) == 0)
LineNetAmt = BigDecimal.ZERO;
@@ -142,7 +143,6 @@
dataInvoice[0].dateinvoiced, qtyInvoice.toString(),
dataInvoice[0].mPricelistId,
dataInvoice[0].id));
resultado.append("new Array(\"inppricestd\", " + priceStd.toString() +
"),");
- resultado.append("new Array(\"inplinenetamt\", " + LineNetAmt.toString()
+ "),");
}
// If quantity changes, recalculates unit price (actual price) applying
@@ -162,6 +162,26 @@
// Net amount of a line equals quantity x unit price (actual price)
LineNetAmt = qtyInvoice.multiply(priceActual);
+ if (strChanged.equals("inplinenetamt")) {
+ DecimalFormat priceEditionFmt = Utility.getFormat(vars, "priceEdition");
+ DecimalFormat euroEditionFmt = Utility.getFormat(vars, "euroEdition");
+ BigDecimal CalculatedLineNetAmt = qtyInvoice.multiply(
+ priceActual
+ .setScale(priceEditionFmt.getMaximumFractionDigits(),
BigDecimal.ROUND_HALF_UP))
+ .setScale(euroEditionFmt.getMaximumFractionDigits(),
BigDecimal.ROUND_HALF_UP);
+ if (!LineNetAmt.equals(CalculatedLineNetAmt)) {
+ StringBuffer strMessage = new StringBuffer(Utility.messageBD(this,
+ "NotCorrectAmountProvided", vars.getLanguage()));
+ strMessage.append(": ");
+ strMessage.append((strLineNetAmt.equals("") ? BigDecimal.ZERO : new
BigDecimal(
+ strLineNetAmt)));
+ strMessage.append(". ");
+ strMessage.append(Utility.messageBD(this, "CosiderUsing",
vars.getLanguage()));
+ strMessage.append(" " + CalculatedLineNetAmt);
+ resultado.append("new Array('MESSAGE', \"" + strMessage.toString() +
"\"),");
+ }
+ }
+
if (LineNetAmt.scale() > StdPrecision)
LineNetAmt = LineNetAmt.setScale(StdPrecision, BigDecimal.ROUND_HALF_UP);
------------------------------------------------------------------------------
Centralized Desktop Delivery: Dell and VMware Reference Architecture
Simplifying enterprise desktop deployment and management using
Dell EqualLogic storage and VMware View: A highly scalable, end-to-end
client virtualization framework. Read more!
http://p.sf.net/sfu/dell-eql-dev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits