details:   https://code.openbravo.com/erp/devel/pi/rev/cf1b9c10c9c3
changeset: 20663:cf1b9c10c9c3
user:      Sandra Huguet <sandra.huguet <at> openbravo.com>
date:      Thu Jun 27 18:30:12 2013 +0200
summary:   Fixed bug 24207 ability to post a invoice when the grand total is 0

diffstat:

 src/org/openbravo/erpCommon/ad_forms/DocInvoice.java |  19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

diffs (38 lines):

diff -r 36c1a675e6ff -r cf1b9c10c9c3 
src/org/openbravo/erpCommon/ad_forms/DocInvoice.java
--- a/src/org/openbravo/erpCommon/ad_forms/DocInvoice.java      Thu Jun 27 
15:42:54 2013 +0530
+++ b/src/org/openbravo/erpCommon/ad_forms/DocInvoice.java      Thu Jun 27 
18:30:12 2013 +0200
@@ -37,6 +37,8 @@
 import org.openbravo.erpCommon.utility.SequenceIdData;
 import org.openbravo.model.common.currency.ConversionRateDoc;
 import org.openbravo.model.common.currency.Currency;
+import org.openbravo.model.common.invoice.Invoice;
+import org.openbravo.model.common.invoice.InvoiceLine;
 import org.openbravo.model.financialmgmt.calendar.Period;
 
 public class DocInvoice extends AcctServer {
@@ -1121,13 +1123,20 @@
   public boolean getDocumentConfirmation(ConnectionProvider conn, String 
strRecordId) {
     DocInvoiceData[] data = null;
     FieldProvider dataFP[] = getObjectFieldProvider();
-
     if (ZERO.compareTo(new BigDecimal(dataFP[0].getField("GrandTotal"))) == 0) 
{
-      strMessage = "@TotalGrossIsZero@";
-      setStatus(STATUS_DocumentDisabled);
-      return false;
+      Invoice invoice = OBDal.getInstance().get(Invoice.class, strRecordId);
+      boolean zero = true;
+      for (InvoiceLine invoiceline : invoice.getInvoiceLineList()) {
+        if (ZERO.compareTo(invoiceline.getLineNetAmount()) != 0) {
+          zero = false;
+        }
+      }
+      if (zero) {
+        strMessage = "@TotalGrossIsZero@";
+        setStatus(STATUS_DocumentDisabled);
+        return false;
+      }
     }
-
     try {
       data = DocInvoiceData.selectRegistro(conn, AD_Client_ID, strRecordId);
       AcctSchema[] m_acctSchemas = reloadLocalAcctSchemaArray(data[0].adOrgId);

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to