details:   /erp/devel/pi/rev/512884f96d70
changeset: 8402:512884f96d70
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Tue Sep 14 18:47:54 2010 +0200
summary:   Fixes bug 0014099: Some fields have to be hidden when APRM module is 
installed

details:   /erp/devel/pi/rev/29dcc697ba0b
changeset: 8403:29dcc697ba0b
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Tue Sep 14 20:14:02 2010 +0200
summary:   Fixes bug 0014559: Some fields were hidden accidentally

details:   /erp/devel/pi/rev/c60a42a9b75d
changeset: 8404:c60a42a9b75d
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Wed Sep 15 11:23:33 2010 +0200
summary:   Adds stackTrace for exceptions

details:   /erp/devel/pi/rev/b278937fb48b
changeset: 8405:b278937fb48b
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Wed Sep 15 11:33:03 2010 +0200
summary:   Removed possible nullpointers

details:   /erp/devel/pi/rev/d68ba500226d
changeset: 8406:d68ba500226d
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Wed Sep 15 12:32:30 2010 +0200
summary:   Fixes bug 0014421: Accounting work flow needs to be revisit when 
payment is generated using available credit amount

diffstat:

 src-db/database/sourcedata/AD_FIELD.xml                           |   14 +-
 src/org/openbravo/erpCommon/ad_forms/AcctServer.java              |   15 +
 src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java |   12 +-
 src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java    |  182 
+++++++++-
 4 files changed, 200 insertions(+), 23 deletions(-)

diffs (truncated from 450 to 300 lines):

diff -r 66d4e6ca8cf6 -r d68ba500226d src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml   Wed Sep 15 14:20:26 2010 +0530
+++ b/src-db/database/sourcedata/AD_FIELD.xml   Wed Sep 15 12:32:30 2010 +0200
@@ -174158,7 +174158,7 @@
 <!--1002100045-->  <AD_COLUMN_ID><![CDATA[1002100012]]></AD_COLUMN_ID>
 <!--1002100045-->  <AD_FIELDGROUP_ID><![CDATA[101]]></AD_FIELDGROUP_ID>
 <!--1002100045-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--1002100045-->  <DISPLAYLOGIC><![cda...@financialmanagement@='' & 
@financialmanagement...@='N']]></DISPLAYLOGIC>
+<!--1002100045-->  
<DISPLAYLOGIC><![cda...@financialmanagement@='']]></DISPLAYLOGIC>
 <!--1002100045-->  <DISPLAYLENGTH><![CDATA[12]]></DISPLAYLENGTH>
 <!--1002100045-->  <ISREADONLY><![CDATA[Y]]></ISREADONLY>
 <!--1002100045-->  <SEQNO><![CDATA[420]]></SEQNO>
@@ -175835,7 +175835,7 @@
 <!--1002100233-->  <AD_TAB_ID><![CDATA[290]]></AD_TAB_ID>
 <!--1002100233-->  <AD_COLUMN_ID><![CDATA[1002100009]]></AD_COLUMN_ID>
 <!--1002100233-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--1002100233-->  <DISPLAYLOGIC><![cda...@financialmanagement@='' & 
@financialmanagement...@='N']]></DISPLAYLOGIC>
+<!--1002100233-->  <DISPLAYLOGIC><![cda...@financialmanagement@='' 
]]></DISPLAYLOGIC>
 <!--1002100233-->  <DISPLAYLENGTH><![CDATA[12]]></DISPLAYLENGTH>
 <!--1002100233-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--1002100233-->  <SEQNO><![CDATA[240]]></SEQNO>
@@ -202213,7 +202213,7 @@
 <!--98C2FF6256AC11DE8C2BD7F555940B62-->  <AD_TAB_ID><![CDATA[161]]></AD_TAB_ID>
 <!--98C2FF6256AC11DE8C2BD7F555940B62-->  
<AD_COLUMN_ID><![CDATA[17FDE34256AC11DE8CD0DFCC30CA23CC]]></AD_COLUMN_ID>
 <!--98C2FF6256AC11DE8C2BD7F555940B62-->  
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--98C2FF6256AC11DE8C2BD7F555940B62-->  
<DISPLAYLOGIC><![cda...@financialmanagement@='' & 
@financialmanagement...@='N']]></DISPLAYLOGIC>
+<!--98C2FF6256AC11DE8C2BD7F555940B62-->  
<DISPLAYLOGIC><![cda...@financialmanagement@='']]></DISPLAYLOGIC>
 <!--98C2FF6256AC11DE8C2BD7F555940B62-->  
<DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
 <!--98C2FF6256AC11DE8C2BD7F555940B62-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--98C2FF6256AC11DE8C2BD7F555940B62-->  <SEQNO><![CDATA[200]]></SEQNO>
@@ -202237,7 +202237,7 @@
 <!--98C38D2E56AC11DE8275F3BADDEF3F7F-->  <AD_TAB_ID><![CDATA[161]]></AD_TAB_ID>
 <!--98C38D2E56AC11DE8275F3BADDEF3F7F-->  
<AD_COLUMN_ID><![CDATA[17E54C6A56AC11DEBAE03BCB821144C5]]></AD_COLUMN_ID>
 <!--98C38D2E56AC11DE8275F3BADDEF3F7F-->  
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--98C38D2E56AC11DE8275F3BADDEF3F7F-->  
<DISPLAYLOGIC><![cda...@financialmanagement@='' & 
@financialmanagement...@='N']]></DISPLAYLOGIC>
+<!--98C38D2E56AC11DE8275F3BADDEF3F7F-->  
<DISPLAYLOGIC><![cda...@financialmanagement@='']]></DISPLAYLOGIC>
 <!--98C38D2E56AC11DE8275F3BADDEF3F7F-->  
<DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
 <!--98C38D2E56AC11DE8275F3BADDEF3F7F-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--98C38D2E56AC11DE8275F3BADDEF3F7F-->  <SEQNO><![CDATA[210]]></SEQNO>
@@ -203728,7 +203728,7 @@
 <!--C925D6B656AC11DEAE52E723C9919EF7-->  
<AD_TAB_ID><![CDATA[800033]]></AD_TAB_ID>
 <!--C925D6B656AC11DEAE52E723C9919EF7-->  
<AD_COLUMN_ID><![CDATA[DA4F35FA56AB11DEA15BF76C2FF29E52]]></AD_COLUMN_ID>
 <!--C925D6B656AC11DEAE52E723C9919EF7-->  
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--C925D6B656AC11DEAE52E723C9919EF7-->  
<DISPLAYLOGIC><![cda...@enableinfininvoices@='N' & @financialmanagem...@='' & 
@financialmanagement...@='N']]></DISPLAYLOGIC>
+<!--C925D6B656AC11DEAE52E723C9919EF7-->  
<DISPLAYLOGIC><![cda...@enableinfininvoices@='N' & 
@financialmanagem...@='']]></DISPLAYLOGIC>
 <!--C925D6B656AC11DEAE52E723C9919EF7-->  
<DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
 <!--C925D6B656AC11DEAE52E723C9919EF7-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--C925D6B656AC11DEAE52E723C9919EF7-->  <SEQNO><![CDATA[90]]></SEQNO>
@@ -203752,7 +203752,7 @@
 <!--C92612B656AC11DEBB69837DC96AB39A-->  
<AD_TAB_ID><![CDATA[800033]]></AD_TAB_ID>
 <!--C92612B656AC11DEBB69837DC96AB39A-->  
<AD_COLUMN_ID><![CDATA[DA2DB20456AB11DE9BB80FC471DFC7FA]]></AD_COLUMN_ID>
 <!--C92612B656AC11DEBB69837DC96AB39A-->  
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--C92612B656AC11DEBB69837DC96AB39A-->  
<DISPLAYLOGIC><![cda...@enableinfininvoices@='N']]></DISPLAYLOGIC>
+<!--C92612B656AC11DEBB69837DC96AB39A-->  
<DISPLAYLOGIC><![cda...@enableinfininvoices@='N' & 
@financialmanagem...@='']]></DISPLAYLOGIC>
 <!--C92612B656AC11DEBB69837DC96AB39A-->  
<DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
 <!--C92612B656AC11DEBB69837DC96AB39A-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--C92612B656AC11DEBB69837DC96AB39A-->  <SEQNO><![CDATA[80]]></SEQNO>
@@ -204261,7 +204261,7 @@
 <!--D9A9CA880316499E83F26F4DDEE28626-->  
<AD_TAB_ID><![CDATA[800033]]></AD_TAB_ID>
 <!--D9A9CA880316499E83F26F4DDEE28626-->  
<AD_COLUMN_ID><![CDATA[00A4CC469B0D4EF4AB17FA4ADC8C0EA5]]></AD_COLUMN_ID>
 <!--D9A9CA880316499E83F26F4DDEE28626-->  
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--D9A9CA880316499E83F26F4DDEE28626-->  
<DISPLAYLOGIC><![cda...@enableinfininvoices@='Y' & @financialmanagem...@='' & 
@financialmanagement...@='N']]></DISPLAYLOGIC>
+<!--D9A9CA880316499E83F26F4DDEE28626-->  
<DISPLAYLOGIC><![cda...@enableinfininvoices@='Y']]></DISPLAYLOGIC>
 <!--D9A9CA880316499E83F26F4DDEE28626-->  
<DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
 <!--D9A9CA880316499E83F26F4DDEE28626-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--D9A9CA880316499E83F26F4DDEE28626-->  <SEQNO><![CDATA[70]]></SEQNO>
diff -r 66d4e6ca8cf6 -r d68ba500226d 
src/org/openbravo/erpCommon/ad_forms/AcctServer.java
--- a/src/org/openbravo/erpCommon/ad_forms/AcctServer.java      Wed Sep 15 
14:20:26 2010 +0530
+++ b/src/org/openbravo/erpCommon/ad_forms/AcctServer.java      Wed Sep 15 
12:32:30 2010 +0200
@@ -568,6 +568,7 @@
         loadObjectFieldProvider(connectionProvider, AD_Client_ID, strClave);
       } catch (ServletException e) {
         log4j.warn(e);
+        e.printStackTrace();
       }
       FieldProvider data[] = getObjectFieldProvider();
       try {
@@ -584,6 +585,7 @@
         Status = AcctServer.STATUS_Error;
         save(conn, vars.getUser());
         log4j.warn(e);
+        e.printStackTrace();
       }
     } catch (ServletException e) {
       log4j.error(e);
@@ -720,6 +722,7 @@
       no = AcctServerData.updateSave(conn, tableName, Status, strUser, 
Record_ID);
     } catch (ServletException e) {
       log4j.warn(e);
+      e.printStackTrace();
     }
     return no == 1;
   } // save
@@ -743,6 +746,7 @@
       return loadDocument(data, force, conn, con);
     } catch (NoConnectionAvailableException e) {
       log4j.warn(e);
+      e.printStackTrace();
       return false;
     }
   }
@@ -835,6 +839,7 @@
         AcctServerData.delete(connectionProvider, AD_Table_ID, Record_ID);
       } catch (ServletException e) {
         log4j.warn(e);
+        e.printStackTrace();
       }
       // if (log4j.isDebugEnabled()) log4j.debug("post - deleted=" + no);
     } else if (Posted.equals("Y")) {
@@ -872,6 +877,7 @@
       }
     } catch (ServletException e) {
       log4j.warn(e);
+      e.printStackTrace();
     }
     if (GL_Category_ID != null && GL_Category_ID.equals(""))
       log4j.warn("AcctServer - loadDocumentType - No GL Info");
@@ -918,6 +924,7 @@
       }
     } catch (ServletException e) {
       log4j.warn(e);
+      e.printStackTrace();
     }
 
     return no == 1;
@@ -953,6 +960,7 @@
       m_fact[index] = createFact(m_as[index], conn, con, vars);
     } catch (Exception e) {
       log4j.warn(e);
+      e.printStackTrace();
     }
     if (m_fact[index] == null)
       return STATUS_Error;
@@ -1149,6 +1157,7 @@
           client, org);
     } catch (ServletException e) {
       log4j.warn(e);
+      e.printStackTrace();
     }
     if (data == null || data.length == 0) {
       /*
@@ -1206,6 +1215,7 @@
             + DocumentType + " => " + C_Period_ID);
     } catch (ServletException e) {
       log4j.warn(e);
+      e.printStackTrace();
     }
   } // setC_Period_ID
 
@@ -1255,6 +1265,7 @@
           compare = DateTimeData.compare(conn, dateTrx1, dateTrx2);
         } catch (ServletException e) {
           log4j.warn(e);
+          e.printStackTrace();
         }
         String DateTrx = dateTrx1;
         if (compare.equals("-1"))
@@ -1274,6 +1285,7 @@
       }
     } catch (ServletException e) {
       log4j.warn(e);
+      e.printStackTrace();
     }
     // if (log4j.isDebugEnabled())
     // log4j.debug("AcctServer - Matcher.match - Client_ID=" + AD_Client_ID
@@ -1315,6 +1327,7 @@
           M_InOutLine_ID, C_InvoiceLine_ID, M_Product_ID, DateTrx, Qty);
     } catch (ServletException e) {
       log4j.warn(e);
+      e.printStackTrace();
     }
     return no;
   } // createMatchInv
@@ -1437,6 +1450,7 @@
       // log4j.debug("AcctServer - *******************************getAccount 
3");
     } catch (ServletException e) {
       log4j.warn(e);
+      e.printStackTrace();
     }
     // Get Acct
     String Account_ID = "";
@@ -1457,6 +1471,7 @@
       acct = Account.getAccount(conn, Account_ID);
     } catch (ServletException e) {
       log4j.warn(e);
+      e.printStackTrace();
     }
     return acct;
   } // getAccount
diff -r 66d4e6ca8cf6 -r d68ba500226d 
src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java
--- a/src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java Wed Sep 
15 14:20:26 2010 +0530
+++ b/src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java Wed Sep 
15 12:32:30 2010 +0200
@@ -76,10 +76,14 @@
   public boolean loadDocumentDetails(FieldProvider[] data, ConnectionProvider 
conn) {
     DocumentType = AcctServer.DOCTYPE_FinAccTransaction;
     DateDoc = data[0].getField("trxdate");
-    BigDecimal paymentAmount = new 
BigDecimal(data[0].getField("PaymentAmount"));
-    BigDecimal depositAmount = new 
BigDecimal(data[0].getField("DepositAmount"));
-    usedCredit = new BigDecimal(data[0].getField("UsedCredit"));
-    generatedCredit = new BigDecimal(data[0].getField("GeneratedCredit"));
+    BigDecimal paymentAmount = "".equals(data[0].getField("PaymentAmount")) ? 
ZERO
+        : new BigDecimal(data[0].getField("PaymentAmount"));
+    BigDecimal depositAmount = "".equals(data[0].getField("DepositAmount")) ? 
ZERO
+        : new BigDecimal(data[0].getField("DepositAmount"));
+    usedCredit = "".equals(data[0].getField("UsedCredit")) ? ZERO : new 
BigDecimal(data[0]
+        .getField("UsedCredit"));
+    generatedCredit = "".equals(data[0].getField("GeneratedCredit")) ? ZERO : 
new BigDecimal(
+        data[0].getField("GeneratedCredit"));
     Amounts[AMTTYPE_Gross] = depositAmount.subtract(paymentAmount).toString();
     loadDocumentType();
     p_lines = loadLines();
diff -r 66d4e6ca8cf6 -r d68ba500226d 
src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java
--- a/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java    Wed Sep 
15 14:20:26 2010 +0530
+++ b/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java    Wed Sep 
15 12:32:30 2010 +0200
@@ -102,7 +102,7 @@
         // If payment exists the payment details are loaded, if not the GLItem 
info is loaded,
         // finally fee is loaded
         if (payment != null)
-          linesInfo = add(linesInfo, 
loadLinesPaymentDetailsFieldProvider(transaction));
+          linesInfo = add(linesInfo, 
loadLinesPaymentFieldProvider(transaction));
         else if (transaction.getGLItem() != null)
           linesInfo = add(linesInfo, 
loadLinesGLItemFieldProvider(transaction));
         else
@@ -204,6 +204,49 @@
     return data;
   }
 
+  public FieldProviderFactory[] 
loadLinesPaymentFieldProvider(FIN_FinaccTransaction transaction) {
+    FIN_Payment payment = OBDal.getInstance().get(FIN_Payment.class,
+        transaction.getFinPayment().getId());
+    FieldProviderFactory[] data = new FieldProviderFactory[1];
+    OBContext.setAdminMode();
+    try {
+      for (int i = 0; i < data.length; i++) {
+        data[i] = new FieldProviderFactory(new HashMap());
+        FieldProviderFactory.setField(data[i], "FIN_Reconciliation_ID", 
transaction
+            .getReconciliation().getId());
+        FieldProviderFactory.setField(data[i], "FIN_Finacc_Transaction_ID", 
transaction.getId());
+        FieldProviderFactory.setField(data[i], "AD_Client_ID", 
payment.getClient().getId());
+        FieldProviderFactory.setField(data[i], "AD_Org_ID", 
payment.getOrganization().getId());
+        FieldProviderFactory.setField(data[i], "FIN_Payment_ID", 
payment.getId());
+        FieldProviderFactory.setField(data[i], "DepositAmount", 
transaction.getDepositAmount()
+            .toString());
+        FieldProviderFactory.setField(data[i], "PaymentAmount", 
transaction.getPaymentAmount()
+            .toString());
+        FieldProviderFactory.setField(data[i], "Amount", 
payment.getAmount().toString());
+        FieldProviderFactory.setField(data[i], "WriteOffAmt", 
payment.getWriteoffAmount()
+            .toString());
+        FieldProviderFactory.setField(data[i], "cBpartnerId", 
payment.getBusinessPartner().getId());
+        FieldProviderFactory.setField(data[i], "adOrgId", 
transaction.getOrganization().getId());
+        FieldProviderFactory.setField(data[i], "cGlItemId",
+            transaction.getGLItem() != null ? transaction.getGLItem().getId() 
: data[i]
+                .getField("cGlItemId"));
+        FieldProviderFactory.setField(data[i], "description", 
transaction.getDescription());
+        FieldProviderFactory.setField(data[i], "cCurrencyId", 
transaction.getCurrency().getId());
+        if (transaction.getActivity() != null)
+          FieldProviderFactory.setField(data[i], "cActivityId", 
transaction.getActivity().getId());
+        if (transaction.getProject() != null)
+          FieldProviderFactory.setField(data[i], "cProjectId", 
transaction.getProject().getId());
+        if (transaction.getSalesCampaign() != null)
+          FieldProviderFactory.setField(data[i], "cCampaignId", 
transaction.getSalesCampaign()
+              .getId());
+        FieldProviderFactory.setField(data[i], "lineno", 
transaction.getLineNo().toString());
+      }
+    } finally {
+      OBContext.restorePreviousMode();
+    }
+    return data;
+  }
+
   public FieldProviderFactory[] 
loadLinesGLItemFieldProvider(FIN_FinaccTransaction transaction) {
     FieldProviderFactory[] data = new FieldProviderFactory[1];
     OBContext.setAdminMode();
@@ -354,10 +397,10 @@
         FIN_FinaccTransaction transaction = 
OBDal.getInstance().get(FIN_FinaccTransaction.class,
             line.getFinFinAccTransactionId());
         // 3 Scenarios: 1st Bank fee 2nd payment related transaction 3rd GL 
item transaction
-        if (transaction.getTransactionType().equals(TRXTYPE_BankFee))
+        if (TRXTYPE_BankFee.equals(transaction.getTransactionType()))
           fact = createFactFee(line, as, conn, fact, Fact_Acct_Group_ID);
         else if (!"".equals(line.getFinPaymentId()))
-          fact = createFactPaymentDetails(line, as, conn, fact, 
Fact_Acct_Group_ID);
+          fact = createFactPayment(line, as, conn, fact, Fact_Acct_Group_ID);
         else
           fact = createFactGLItem(line, as, conn, fact, Fact_Acct_Group_ID);
       }
@@ -389,6 +432,48 @@
     return fact;
   }
 
+  public Fact createFactPayment(DocLine_FINReconciliation line, AcctSchema as,
+      ConnectionProvider conn, Fact fact, String Fact_Acct_Group_ID) throws 
ServletException {
+    FIN_Payment payment = OBDal.getInstance().get(FIN_Payment.class, 
line.getFinPaymentId());
+    FIN_FinaccTransaction transaction = 
OBDal.getInstance().get(FIN_FinaccTransaction.class,
+        line.getFinFinAccTransactionId());
+    if (getDocumentTransactionConfirmation(transaction))
+      fact.createLine(line, getAccountTransactionPayment(conn, payment, as), 
C_Currency_ID,
+          !payment.isReceipt() ? line.getAmount() : "",
+          payment.isReceipt() ? line.getAmount() : "", Fact_Acct_Group_ID, 
nextSeqNo(SeqNo),
+          DocumentType, conn);

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to