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