diff --git a/org.adempiere.base/src/org/compiere/model/HardCodedIDs.java b/org.adempiere.base/src/org/compiere/model/HardCodedIDs.java
new file mode 100644
index 0000000000..db1a37c846
--- /dev/null
+++ b/org.adempiere.base/src/org/compiere/model/HardCodedIDs.java
@@ -0,0 +1,31 @@
+/******************************************************************************
+ * Product: Adempiere ERP & CRM Smart Business Solution *
+ * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms version 2 of the GNU General Public License as published *
+ * by the Free Software Foundation. This program is distributed in the hope *
+ * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
+ * See the GNU General Public License for more details. *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., *
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
+ * For the text or an alternative of this public license, you may reach us *
+ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
+ * or via info@compiere.org or http://www.compiere.org/license.html *
+ *****************************************************************************/
+package org.compiere.model;
+
+/**
+ * List all hardcoded ID used in the code
+ * @author Carlos Ruiz, Nicolas Micoud, ...
+ */
+
+public class HardCodedIDs {
+
+ public static int referencePostingType = 125;
+
+
+ public static int windowMyRequests = 237;
+
+}
diff --git a/org.adempiere.ui.swing/src/org/compiere/acct/AcctViewerData.java b/org.adempiere.ui.swing/src/org/compiere/acct/AcctViewerData.java
index 79a9cba390..5b4b4fd56a 100644
--- a/org.adempiere.ui.swing/src/org/compiere/acct/AcctViewerData.java
+++ b/org.adempiere.ui.swing/src/org/compiere/acct/AcctViewerData.java
@@ -3,19 +3,19 @@
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
- * by the Free Software Foundation. This program is distributed in the hope *
- * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
- * See the GNU General Public License for more details. *
- * You should have received a copy of the GNU General Public License along *
- * with this program; if not, write to the Free Software Foundation, Inc., *
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
- * For the text or an alternative of this public license, you may reach us *
- * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
- * or via info@compiere.org or http://www.compiere.org/license.html *
- *****************************************************************************/
-package org.compiere.acct;
-
+ * by the Free Software Foundation. This program is distributed in the hope *
+ * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
+ * See the GNU General Public License for more details. *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., *
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
+ * For the text or an alternative of this public license, you may reach us *
+ * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
+ * or via info@compiere.org or http://www.compiere.org/license.html *
+ *****************************************************************************/
+package org.compiere.acct;
+
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -29,6 +29,7 @@ import java.util.logging.Level;
import javax.swing.JComboBox;
+import org.compiere.model.HardCodedIDs;
import org.compiere.model.MAcctSchema;
import org.compiere.model.MAcctSchemaElement;
import org.compiere.model.MFactAcct;
@@ -44,439 +45,439 @@ import org.compiere.util.KeyNamePair;
import org.compiere.util.Language;
import org.compiere.util.Msg;
import org.compiere.util.ValueNamePair;
-
-
-/**
- * Account Viewer State - maintains State information for the Account Viewer
- *
- * @author Jorg Janke
+
+
+/**
+ * Account Viewer State - maintains State information for the Account Viewer
+ *
+ * @author Jorg Janke
* @version $Id: AcctViewerData.java,v 1.3 2006/08/10 01:00:27 jjanke Exp $
*
- * @author Teo Sarca, SC ARHIPAC SERVICE SRL
+ * @author Teo Sarca, SC ARHIPAC SERVICE SRL
*
BF [ 1748449 ] Info Account - Posting Type is not translated
* BF [ 1778373 ] AcctViewer: data is not sorted proper
- */
-class AcctViewerData
-{
- /**
- * Constructor
- * @param ctx context
- * @param windowNo window no
- * @param ad_Client_ID client
- * @param ad_Table_ID table
- */
- public AcctViewerData (Properties ctx, int windowNo, int ad_Client_ID, int ad_Table_ID)
- {
- WindowNo = windowNo;
- AD_Client_ID = ad_Client_ID;
- if (AD_Client_ID == 0)
- AD_Client_ID = Env.getContextAsInt(Env.getCtx(), WindowNo, "AD_Client_ID");
- if (AD_Client_ID == 0)
- AD_Client_ID = Env.getContextAsInt(Env.getCtx(), "AD_Client_ID");
- AD_Table_ID = ad_Table_ID;
- //
- ASchemas = MAcctSchema.getClientAcctSchema(ctx, AD_Client_ID);
- ASchema = ASchemas[0];
- } // AcctViewerData
-
- /** Window */
- public int WindowNo;
- /** Client */
- public int AD_Client_ID;
- /** All Acct Schema */
- public MAcctSchema[] ASchemas = null;
- /** This Acct Schema */
- public MAcctSchema ASchema = null;
-
- // Selection Info
- /** Document Query */
- public boolean documentQuery = false;
- /** Acct Schema */
- public int C_AcctSchema_ID = 0;
- /** Posting Type */
- public String PostingType = "";
- /** Organization */
- public int AD_Org_ID = 0;
- /** Date From */
- public Timestamp DateFrom = null;
- /** Date To */
- public Timestamp DateTo = null;
-
- // Document Table Selection Info
- /** Table ID */
- public int AD_Table_ID;
- /** Record */
- public int Record_ID;
-
- /** Containing Column and Query */
- public HashMap whereInfo = new HashMap();
- /** Containing TableName and AD_Table_ID */
- public HashMap tableInfo = new HashMap();
-
- // Display Info
- /** Display Qty */
- boolean displayQty = false;
- /** Display Source Currency */
- boolean displaySourceAmt = false;
- /** Display Document info */
- boolean displayDocumentInfo = false;
- //
- String sortBy1 = "";
- String sortBy2 = "";
- String sortBy3 = "";
- String sortBy4 = "";
- //
- boolean group1 = false;
- boolean group2 = false;
- boolean group3 = false;
- boolean group4 = false;
-
- /** Leasing Columns */
- private int m_leadingColumns = 0;
- /** UserElement1 Reference */
- private String m_ref1 = null;
- /** UserElement2 Reference */
- private String m_ref2 = null;
- /** Logger */
- private static CLogger log = CLogger.getCLogger(AcctViewerData.class);
-
- /**
- * Dispose
- */
- public void dispose()
- {
- ASchemas = null;
- ASchema = null;
- //
- whereInfo.clear();
- whereInfo = null;
- //
- Env.clearWinContext(WindowNo);
- } // dispose
-
-
- /**************************************************************************
- * Fill Accounting Schema
- * @param cb JComboBox to be filled
- */
- protected void fillAcctSchema (JComboBox cb)
- {
- for (int i = 0; i < ASchemas.length; i++)
- cb.addItem(new KeyNamePair(ASchemas[i].getC_AcctSchema_ID(),
- ASchemas[i].getName()));
- } // fillAcctSchema
-
- /**
- * Fill Posting Type
- * @param cb JComboBox to be filled
- */
- protected void fillPostingType (JComboBox cb)
- {
- int AD_Reference_ID = 125;
- ValueNamePair[] pt = MRefList.getList(Env.getCtx(), AD_Reference_ID, true);
- for (int i = 0; i < pt.length; i++)
- cb.addItem(pt[i]);
- } // fillPostingType
-
- /**
- * Fill Table with
- * ValueNamePair (TableName, translatedKeyColumnName)
- * and tableInfo with (TableName, AD_Table_ID)
- * and select the entry for AD_Table_ID
- *
- * @param cb JComboBox to be filled
- */
- protected void fillTable (JComboBox cb)
- {
- ValueNamePair select = null;
- //
- String sql = "SELECT AD_Table_ID, TableName FROM AD_Table t "
- + "WHERE EXISTS (SELECT * FROM AD_Column c"
- + " WHERE t.AD_Table_ID=c.AD_Table_ID AND c.ColumnName='Posted')"
- + " AND IsView='N'";
- try
- {
- PreparedStatement pstmt = DB.prepareStatement(sql, null);
- ResultSet rs = pstmt.executeQuery();
- while (rs.next())
- {
- int id = rs.getInt(1);
- String tableName = rs.getString(2);
- String name = Msg.translate(Env.getCtx(), tableName+"_ID");
- //
- ValueNamePair pp = new ValueNamePair(tableName, name);
- cb.addItem(pp);
- tableInfo.put (tableName, new Integer(id));
- if (id == AD_Table_ID)
- select = pp;
- }
- rs.close();
- pstmt.close();
- }
- catch (SQLException e)
- {
- log.log(Level.SEVERE, sql, e);
- }
- if (select != null)
- cb.setSelectedItem(select);
- } // fillTable
-
- /**
- * Fill Org
- *
- * @param cb JComboBox to be filled
- */
- protected void fillOrg (JComboBox cb)
- {
- KeyNamePair pp = new KeyNamePair(0, "");
- cb.addItem(pp);
- String sql = "SELECT AD_Org_ID, Name FROM AD_Org WHERE AD_Client_ID=? ORDER BY Value";
- try
- {
- PreparedStatement pstmt = DB.prepareStatement(sql, null);
- pstmt.setInt(1, AD_Client_ID);
- ResultSet rs = pstmt.executeQuery();
- while (rs.next())
- cb.addItem(new KeyNamePair(rs.getInt(1), rs.getString(2)));
- rs.close();
- pstmt.close();
- }
- catch (SQLException e)
- {
- log.log(Level.SEVERE, sql, e);
- }
- } // fillOrg
-
- /**
- * Get Button Text
- *
- * @param tableName table
- * @param columnName column
- * @param selectSQL sql
- * @return Text on button
- */
- protected String getButtonText (String tableName, String columnName, String selectSQL)
- {
- // SELECT () FROM tableName avd WHERE avd.
- StringBuffer sql = new StringBuffer ("SELECT (");
- Language language = Env.getLanguage(Env.getCtx());
- sql.append(MLookupFactory.getLookup_TableDirEmbed(language, columnName, "avd"))
- .append(") FROM ").append(tableName).append(" avd WHERE avd.").append(selectSQL);
- String retValue = "<" + selectSQL + ">";
- try
- {
- Statement stmt = DB.createStatement();
- ResultSet rs = stmt.executeQuery(sql.toString());
- if (rs.next())
- retValue = rs.getString(1);
- rs.close();
- stmt.close();
- }
- catch (SQLException e)
- {
- log.log(Level.SEVERE, sql.toString(), e);
- }
- return retValue;
- } // getButtonText
-
- /**************************************************************************
-
- /**
- * Create Query and submit
- * @return Report Model
- */
- protected RModel query()
- {
- // Set Where Clause
- StringBuffer whereClause = new StringBuffer();
- // Add Organization
- if (C_AcctSchema_ID != 0)
- whereClause.append(RModel.TABLE_ALIAS)
- .append(".C_AcctSchema_ID=").append(C_AcctSchema_ID);
-
- // Posting Type Selected
- if (PostingType != null && PostingType.length() > 0)
- {
- if (whereClause.length() > 0)
- whereClause.append(" AND ");
- whereClause.append(RModel.TABLE_ALIAS)
- .append(".PostingType='").append(PostingType).append("'");
- }
-
- //
- if (documentQuery)
- {
- if (whereClause.length() > 0)
- whereClause.append(" AND ");
- whereClause.append(RModel.TABLE_ALIAS).append(".AD_Table_ID=").append(AD_Table_ID)
- .append(" AND ").append(RModel.TABLE_ALIAS).append(".Record_ID=").append(Record_ID);
- }
- else
- {
- // get values (Queries)
- Iterator it = whereInfo.values().iterator();
- while (it.hasNext())
- {
- String where = (String)it.next();
- if (where != null && where.length() > 0) // add only if not empty
- {
- if (whereClause.length() > 0)
- whereClause.append(" AND ");
- whereClause.append(RModel.TABLE_ALIAS).append(".").append(where);
- }
- }
- if (DateFrom != null || DateTo != null)
- {
- if (whereClause.length() > 0)
- whereClause.append(" AND ");
- if (DateFrom != null && DateTo != null)
- whereClause.append("TRUNC(").append(RModel.TABLE_ALIAS).append(".DateAcct) BETWEEN ")
- .append(DB.TO_DATE(DateFrom)).append(" AND ").append(DB.TO_DATE(DateTo));
- else if (DateFrom != null)
- whereClause.append("TRUNC(").append(RModel.TABLE_ALIAS).append(".DateAcct) >= ")
- .append(DB.TO_DATE(DateFrom));
- else // DateTo != null
- whereClause.append("TRUNC(").append(RModel.TABLE_ALIAS).append(".DateAcct) <= ")
- .append(DB.TO_DATE(DateTo));
- }
- // Add Organization
- if (AD_Org_ID != 0)
- {
- if (whereClause.length() > 0)
- whereClause.append(" AND ");
- whereClause.append(RModel.TABLE_ALIAS).append(".AD_Org_ID=").append(AD_Org_ID);
- }
- }
-
+ */
+class AcctViewerData
+{
+ /**
+ * Constructor
+ * @param ctx context
+ * @param windowNo window no
+ * @param ad_Client_ID client
+ * @param ad_Table_ID table
+ */
+ public AcctViewerData (Properties ctx, int windowNo, int ad_Client_ID, int ad_Table_ID)
+ {
+ WindowNo = windowNo;
+ AD_Client_ID = ad_Client_ID;
+ if (AD_Client_ID == 0)
+ AD_Client_ID = Env.getContextAsInt(Env.getCtx(), WindowNo, "AD_Client_ID");
+ if (AD_Client_ID == 0)
+ AD_Client_ID = Env.getContextAsInt(Env.getCtx(), "AD_Client_ID");
+ AD_Table_ID = ad_Table_ID;
+ //
+ ASchemas = MAcctSchema.getClientAcctSchema(ctx, AD_Client_ID);
+ ASchema = ASchemas[0];
+ } // AcctViewerData
+
+ /** Window */
+ public int WindowNo;
+ /** Client */
+ public int AD_Client_ID;
+ /** All Acct Schema */
+ public MAcctSchema[] ASchemas = null;
+ /** This Acct Schema */
+ public MAcctSchema ASchema = null;
+
+ // Selection Info
+ /** Document Query */
+ public boolean documentQuery = false;
+ /** Acct Schema */
+ public int C_AcctSchema_ID = 0;
+ /** Posting Type */
+ public String PostingType = "";
+ /** Organization */
+ public int AD_Org_ID = 0;
+ /** Date From */
+ public Timestamp DateFrom = null;
+ /** Date To */
+ public Timestamp DateTo = null;
+
+ // Document Table Selection Info
+ /** Table ID */
+ public int AD_Table_ID;
+ /** Record */
+ public int Record_ID;
+
+ /** Containing Column and Query */
+ public HashMap whereInfo = new HashMap();
+ /** Containing TableName and AD_Table_ID */
+ public HashMap tableInfo = new HashMap();
+
+ // Display Info
+ /** Display Qty */
+ boolean displayQty = false;
+ /** Display Source Currency */
+ boolean displaySourceAmt = false;
+ /** Display Document info */
+ boolean displayDocumentInfo = false;
+ //
+ String sortBy1 = "";
+ String sortBy2 = "";
+ String sortBy3 = "";
+ String sortBy4 = "";
+ //
+ boolean group1 = false;
+ boolean group2 = false;
+ boolean group3 = false;
+ boolean group4 = false;
+
+ /** Leasing Columns */
+ private int m_leadingColumns = 0;
+ /** UserElement1 Reference */
+ private String m_ref1 = null;
+ /** UserElement2 Reference */
+ private String m_ref2 = null;
+ /** Logger */
+ private static CLogger log = CLogger.getCLogger(AcctViewerData.class);
+
+ /**
+ * Dispose
+ */
+ public void dispose()
+ {
+ ASchemas = null;
+ ASchema = null;
+ //
+ whereInfo.clear();
+ whereInfo = null;
+ //
+ Env.clearWinContext(WindowNo);
+ } // dispose
+
+
+ /**************************************************************************
+ * Fill Accounting Schema
+ * @param cb JComboBox to be filled
+ */
+ protected void fillAcctSchema (JComboBox cb)
+ {
+ for (int i = 0; i < ASchemas.length; i++)
+ cb.addItem(new KeyNamePair(ASchemas[i].getC_AcctSchema_ID(),
+ ASchemas[i].getName()));
+ } // fillAcctSchema
+
+ /**
+ * Fill Posting Type
+ * @param cb JComboBox to be filled
+ */
+ protected void fillPostingType (JComboBox cb)
+ {
+ int AD_Reference_ID = HardCodedIDs.referencePostingType;
+ ValueNamePair[] pt = MRefList.getList(Env.getCtx(), AD_Reference_ID, true);
+ for (int i = 0; i < pt.length; i++)
+ cb.addItem(pt[i]);
+ } // fillPostingType
+
+ /**
+ * Fill Table with
+ * ValueNamePair (TableName, translatedKeyColumnName)
+ * and tableInfo with (TableName, AD_Table_ID)
+ * and select the entry for AD_Table_ID
+ *
+ * @param cb JComboBox to be filled
+ */
+ protected void fillTable (JComboBox cb)
+ {
+ ValueNamePair select = null;
+ //
+ String sql = "SELECT AD_Table_ID, TableName FROM AD_Table t "
+ + "WHERE EXISTS (SELECT * FROM AD_Column c"
+ + " WHERE t.AD_Table_ID=c.AD_Table_ID AND c.ColumnName='Posted')"
+ + " AND IsView='N'";
+ try
+ {
+ PreparedStatement pstmt = DB.prepareStatement(sql, null);
+ ResultSet rs = pstmt.executeQuery();
+ while (rs.next())
+ {
+ int id = rs.getInt(1);
+ String tableName = rs.getString(2);
+ String name = Msg.translate(Env.getCtx(), tableName+"_ID");
+ //
+ ValueNamePair pp = new ValueNamePair(tableName, name);
+ cb.addItem(pp);
+ tableInfo.put (tableName, new Integer(id));
+ if (id == AD_Table_ID)
+ select = pp;
+ }
+ rs.close();
+ pstmt.close();
+ }
+ catch (SQLException e)
+ {
+ log.log(Level.SEVERE, sql, e);
+ }
+ if (select != null)
+ cb.setSelectedItem(select);
+ } // fillTable
+
+ /**
+ * Fill Org
+ *
+ * @param cb JComboBox to be filled
+ */
+ protected void fillOrg (JComboBox cb)
+ {
+ KeyNamePair pp = new KeyNamePair(0, "");
+ cb.addItem(pp);
+ String sql = "SELECT AD_Org_ID, Name FROM AD_Org WHERE AD_Client_ID=? ORDER BY Value";
+ try
+ {
+ PreparedStatement pstmt = DB.prepareStatement(sql, null);
+ pstmt.setInt(1, AD_Client_ID);
+ ResultSet rs = pstmt.executeQuery();
+ while (rs.next())
+ cb.addItem(new KeyNamePair(rs.getInt(1), rs.getString(2)));
+ rs.close();
+ pstmt.close();
+ }
+ catch (SQLException e)
+ {
+ log.log(Level.SEVERE, sql, e);
+ }
+ } // fillOrg
+
+ /**
+ * Get Button Text
+ *
+ * @param tableName table
+ * @param columnName column
+ * @param selectSQL sql
+ * @return Text on button
+ */
+ protected String getButtonText (String tableName, String columnName, String selectSQL)
+ {
+ // SELECT () FROM tableName avd WHERE avd.
+ StringBuffer sql = new StringBuffer ("SELECT (");
+ Language language = Env.getLanguage(Env.getCtx());
+ sql.append(MLookupFactory.getLookup_TableDirEmbed(language, columnName, "avd"))
+ .append(") FROM ").append(tableName).append(" avd WHERE avd.").append(selectSQL);
+ String retValue = "<" + selectSQL + ">";
+ try
+ {
+ Statement stmt = DB.createStatement();
+ ResultSet rs = stmt.executeQuery(sql.toString());
+ if (rs.next())
+ retValue = rs.getString(1);
+ rs.close();
+ stmt.close();
+ }
+ catch (SQLException e)
+ {
+ log.log(Level.SEVERE, sql.toString(), e);
+ }
+ return retValue;
+ } // getButtonText
+
+ /**************************************************************************
+
+ /**
+ * Create Query and submit
+ * @return Report Model
+ */
+ protected RModel query()
+ {
+ // Set Where Clause
+ StringBuffer whereClause = new StringBuffer();
+ // Add Organization
+ if (C_AcctSchema_ID != 0)
+ whereClause.append(RModel.TABLE_ALIAS)
+ .append(".C_AcctSchema_ID=").append(C_AcctSchema_ID);
+
+ // Posting Type Selected
+ if (PostingType != null && PostingType.length() > 0)
+ {
+ if (whereClause.length() > 0)
+ whereClause.append(" AND ");
+ whereClause.append(RModel.TABLE_ALIAS)
+ .append(".PostingType='").append(PostingType).append("'");
+ }
+
+ //
+ if (documentQuery)
+ {
+ if (whereClause.length() > 0)
+ whereClause.append(" AND ");
+ whereClause.append(RModel.TABLE_ALIAS).append(".AD_Table_ID=").append(AD_Table_ID)
+ .append(" AND ").append(RModel.TABLE_ALIAS).append(".Record_ID=").append(Record_ID);
+ }
+ else
+ {
+ // get values (Queries)
+ Iterator it = whereInfo.values().iterator();
+ while (it.hasNext())
+ {
+ String where = (String)it.next();
+ if (where != null && where.length() > 0) // add only if not empty
+ {
+ if (whereClause.length() > 0)
+ whereClause.append(" AND ");
+ whereClause.append(RModel.TABLE_ALIAS).append(".").append(where);
+ }
+ }
+ if (DateFrom != null || DateTo != null)
+ {
+ if (whereClause.length() > 0)
+ whereClause.append(" AND ");
+ if (DateFrom != null && DateTo != null)
+ whereClause.append("TRUNC(").append(RModel.TABLE_ALIAS).append(".DateAcct) BETWEEN ")
+ .append(DB.TO_DATE(DateFrom)).append(" AND ").append(DB.TO_DATE(DateTo));
+ else if (DateFrom != null)
+ whereClause.append("TRUNC(").append(RModel.TABLE_ALIAS).append(".DateAcct) >= ")
+ .append(DB.TO_DATE(DateFrom));
+ else // DateTo != null
+ whereClause.append("TRUNC(").append(RModel.TABLE_ALIAS).append(".DateAcct) <= ")
+ .append(DB.TO_DATE(DateTo));
+ }
+ // Add Organization
+ if (AD_Org_ID != 0)
+ {
+ if (whereClause.length() > 0)
+ whereClause.append(" AND ");
+ whereClause.append(RModel.TABLE_ALIAS).append(".AD_Org_ID=").append(AD_Org_ID);
+ }
+ }
+
RModel rm = getRModel();
- // Set Order By Clause
- StringBuffer orderClause = new StringBuffer();
- if (sortBy1.length() > 0)
+ // Set Order By Clause
+ StringBuffer orderClause = new StringBuffer();
+ if (sortBy1.length() > 0)
{
RColumn col = rm.getRColumn(sortBy1);
if (col != null)
orderClause.append(col.getDisplaySQL());
else
- orderClause.append(RModel.TABLE_ALIAS).append(".").append(sortBy1);
+ orderClause.append(RModel.TABLE_ALIAS).append(".").append(sortBy1);
}
- if (sortBy2.length() > 0)
- {
- if (orderClause.length() > 0)
- orderClause.append(",");
+ if (sortBy2.length() > 0)
+ {
+ if (orderClause.length() > 0)
+ orderClause.append(",");
RColumn col = rm.getRColumn(sortBy2);
if (col != null)
orderClause.append(col.getDisplaySQL());
else
- orderClause.append(RModel.TABLE_ALIAS).append(".").append(sortBy2);
- }
- if (sortBy3.length() > 0)
- {
- if (orderClause.length() > 0)
- orderClause.append(",");
+ orderClause.append(RModel.TABLE_ALIAS).append(".").append(sortBy2);
+ }
+ if (sortBy3.length() > 0)
+ {
+ if (orderClause.length() > 0)
+ orderClause.append(",");
RColumn col = rm.getRColumn(sortBy3);
if (col != null)
orderClause.append(col.getDisplaySQL());
else
- orderClause.append(RModel.TABLE_ALIAS).append(".").append(sortBy3);
- }
- if (sortBy4.length() > 0)
- {
- if (orderClause.length() > 0)
- orderClause.append(",");
+ orderClause.append(RModel.TABLE_ALIAS).append(".").append(sortBy3);
+ }
+ if (sortBy4.length() > 0)
+ {
+ if (orderClause.length() > 0)
+ orderClause.append(",");
RColumn col = rm.getRColumn(sortBy4);
if (col != null)
orderClause.append(col.getDisplaySQL());
else
- orderClause.append(RModel.TABLE_ALIAS).append(".").append(sortBy4);
- }
- if (orderClause.length() == 0)
- orderClause.append(RModel.TABLE_ALIAS).append(".Fact_Acct_ID");
-
- // Groups
- if (group1 && sortBy1.length() > 0)
- rm.setGroup(sortBy1);
- if (group2 && sortBy2.length() > 0)
- rm.setGroup(sortBy2);
- if (group3 && sortBy3.length() > 0)
- rm.setGroup(sortBy3);
- if (group4 && sortBy4.length() > 0)
- rm.setGroup(sortBy4);
-
- // Totals
- rm.setFunction("AmtAcctDr", RModel.FUNCTION_SUM);
- rm.setFunction("AmtAcctCr", RModel.FUNCTION_SUM);
-
- rm.query (Env.getCtx(), whereClause.toString(), orderClause.toString());
-
- return rm;
- } // query
-
- /**
- * Create Report Model (Columns)
- * @return Report Model
- */
- private RModel getRModel()
- {
- Properties ctx = Env.getCtx();
- RModel rm = new RModel("Fact_Acct");
- // Add Key (Lookups)
- ArrayList keys = createKeyColumns();
- int max = m_leadingColumns;
- if (max == 0)
- max = keys.size();
- for (int i = 0; i < max; i++)
- {
- String column = (String)keys.get(i);
- if (column != null && column.startsWith("Date"))
- rm.addColumn(new RColumn(ctx, column, DisplayType.Date));
- else if (column != null && column.endsWith("_ID"))
- rm.addColumn(new RColumn(ctx, column, DisplayType.TableDir));
- }
- // Main Info
- rm.addColumn(new RColumn(ctx, "AmtAcctDr", DisplayType.Amount));
- rm.addColumn(new RColumn(ctx, "AmtAcctCr", DisplayType.Amount));
- if (displaySourceAmt)
- {
- if (!keys.contains("DateTrx"))
- rm.addColumn(new RColumn(ctx, "DateTrx", DisplayType.Date));
- rm.addColumn(new RColumn(ctx, "C_Currency_ID", DisplayType.TableDir));
- rm.addColumn(new RColumn(ctx, "AmtSourceDr", DisplayType.Amount));
- rm.addColumn(new RColumn(ctx, "AmtSourceCr", DisplayType.Amount));
- rm.addColumn(new RColumn(ctx, "Rate", DisplayType.Amount,
- "CASE WHEN (AmtSourceDr + AmtSourceCr) = 0 THEN 0"
- + " ELSE (AmtAcctDr + AmtAcctCr) / (AmtSourceDr + AmtSourceCr) END"));
- }
- // Remaining Keys
- for (int i = max; i < keys.size(); i++)
- {
- String column = (String)keys.get(i);
- if (column != null && column.startsWith("Date"))
- rm.addColumn(new RColumn(ctx, column, DisplayType.Date));
- else if (column.startsWith("UserElement"))
- {
- if (column.indexOf('1') != -1)
- rm.addColumn(new RColumn(ctx, column, DisplayType.TableDir, null, 0, m_ref1));
- else
- rm.addColumn(new RColumn(ctx, column, DisplayType.TableDir, null, 0, m_ref2));
- }
- else if (column != null && column.endsWith("_ID"))
- rm.addColumn(new RColumn(ctx, column, DisplayType.TableDir));
- }
- // Info
- if (!keys.contains("DateAcct"))
- rm.addColumn(new RColumn(ctx, "DateAcct", DisplayType.Date));
- if (!keys.contains("C_Period_ID"))
- rm.addColumn(new RColumn(ctx, "C_Period_ID", DisplayType.TableDir));
- if (displayQty)
- {
- rm.addColumn(new RColumn(ctx, "C_UOM_ID", DisplayType.TableDir));
- rm.addColumn(new RColumn(ctx, "Qty", DisplayType.Quantity));
- }
- if (displayDocumentInfo)
- {
- rm.addColumn(new RColumn(ctx, "AD_Table_ID", DisplayType.TableDir));
- rm.addColumn(new RColumn(ctx, "Record_ID", DisplayType.ID));
+ orderClause.append(RModel.TABLE_ALIAS).append(".").append(sortBy4);
+ }
+ if (orderClause.length() == 0)
+ orderClause.append(RModel.TABLE_ALIAS).append(".Fact_Acct_ID");
+
+ // Groups
+ if (group1 && sortBy1.length() > 0)
+ rm.setGroup(sortBy1);
+ if (group2 && sortBy2.length() > 0)
+ rm.setGroup(sortBy2);
+ if (group3 && sortBy3.length() > 0)
+ rm.setGroup(sortBy3);
+ if (group4 && sortBy4.length() > 0)
+ rm.setGroup(sortBy4);
+
+ // Totals
+ rm.setFunction("AmtAcctDr", RModel.FUNCTION_SUM);
+ rm.setFunction("AmtAcctCr", RModel.FUNCTION_SUM);
+
+ rm.query (Env.getCtx(), whereClause.toString(), orderClause.toString());
+
+ return rm;
+ } // query
+
+ /**
+ * Create Report Model (Columns)
+ * @return Report Model
+ */
+ private RModel getRModel()
+ {
+ Properties ctx = Env.getCtx();
+ RModel rm = new RModel("Fact_Acct");
+ // Add Key (Lookups)
+ ArrayList keys = createKeyColumns();
+ int max = m_leadingColumns;
+ if (max == 0)
+ max = keys.size();
+ for (int i = 0; i < max; i++)
+ {
+ String column = (String)keys.get(i);
+ if (column != null && column.startsWith("Date"))
+ rm.addColumn(new RColumn(ctx, column, DisplayType.Date));
+ else if (column != null && column.endsWith("_ID"))
+ rm.addColumn(new RColumn(ctx, column, DisplayType.TableDir));
+ }
+ // Main Info
+ rm.addColumn(new RColumn(ctx, "AmtAcctDr", DisplayType.Amount));
+ rm.addColumn(new RColumn(ctx, "AmtAcctCr", DisplayType.Amount));
+ if (displaySourceAmt)
+ {
+ if (!keys.contains("DateTrx"))
+ rm.addColumn(new RColumn(ctx, "DateTrx", DisplayType.Date));
+ rm.addColumn(new RColumn(ctx, "C_Currency_ID", DisplayType.TableDir));
+ rm.addColumn(new RColumn(ctx, "AmtSourceDr", DisplayType.Amount));
+ rm.addColumn(new RColumn(ctx, "AmtSourceCr", DisplayType.Amount));
+ rm.addColumn(new RColumn(ctx, "Rate", DisplayType.Amount,
+ "CASE WHEN (AmtSourceDr + AmtSourceCr) = 0 THEN 0"
+ + " ELSE (AmtAcctDr + AmtAcctCr) / (AmtSourceDr + AmtSourceCr) END"));
+ }
+ // Remaining Keys
+ for (int i = max; i < keys.size(); i++)
+ {
+ String column = (String)keys.get(i);
+ if (column != null && column.startsWith("Date"))
+ rm.addColumn(new RColumn(ctx, column, DisplayType.Date));
+ else if (column.startsWith("UserElement"))
+ {
+ if (column.indexOf('1') != -1)
+ rm.addColumn(new RColumn(ctx, column, DisplayType.TableDir, null, 0, m_ref1));
+ else
+ rm.addColumn(new RColumn(ctx, column, DisplayType.TableDir, null, 0, m_ref2));
+ }
+ else if (column != null && column.endsWith("_ID"))
+ rm.addColumn(new RColumn(ctx, column, DisplayType.TableDir));
+ }
+ // Info
+ if (!keys.contains("DateAcct"))
+ rm.addColumn(new RColumn(ctx, "DateAcct", DisplayType.Date));
+ if (!keys.contains("C_Period_ID"))
+ rm.addColumn(new RColumn(ctx, "C_Period_ID", DisplayType.TableDir));
+ if (displayQty)
+ {
+ rm.addColumn(new RColumn(ctx, "C_UOM_ID", DisplayType.TableDir));
+ rm.addColumn(new RColumn(ctx, "Qty", DisplayType.Quantity));
+ }
+ if (displayDocumentInfo)
+ {
+ rm.addColumn(new RColumn(ctx, "AD_Table_ID", DisplayType.TableDir));
+ rm.addColumn(new RColumn(ctx, "Record_ID", DisplayType.ID));
rm.addColumn(new RColumn(ctx, "Description", DisplayType.String));
}
if (PostingType == null || PostingType.length() == 0)
@@ -486,46 +487,46 @@ class AcctViewerData
null));
return rm;
} // createRModel
-
- /**
- * Create the key columns in sequence
- * @return List of Key Columns
- */
- private ArrayList createKeyColumns()
- {
- ArrayList columns = new ArrayList();
- m_leadingColumns = 0;
- // Sorting Fields
- columns.add(sortBy1); // may add ""
- if (!columns.contains(sortBy2))
- columns.add(sortBy2);
- if (!columns.contains(sortBy3))
- columns.add(sortBy3);
- if (!columns.contains(sortBy4))
- columns.add(sortBy4);
-
- // Add Account Segments
- MAcctSchemaElement[] elements = ASchema.getAcctSchemaElements();
- for (int i = 0; i < elements.length; i++)
- {
- if (m_leadingColumns == 0 && columns.contains("AD_Org_ID") && columns.contains("Account_ID"))
- m_leadingColumns = columns.size();
- //
- MAcctSchemaElement ase = elements[i];
- String columnName = ase.getColumnName();
- if (columnName.startsWith("UserElement"))
- {
- if (columnName.indexOf('1') != -1)
- m_ref1 = ase.getDisplayColumnName();
- else
- m_ref2 = ase.getDisplayColumnName();
- }
- if (!columns.contains(columnName))
- columns.add(columnName);
- }
- if (m_leadingColumns == 0 && columns.contains("AD_Org_ID") && columns.contains("Account_ID"))
- m_leadingColumns = columns.size();
- return columns;
- } // createKeyColumns
-
-} // AcctViewerData
+
+ /**
+ * Create the key columns in sequence
+ * @return List of Key Columns
+ */
+ private ArrayList createKeyColumns()
+ {
+ ArrayList columns = new ArrayList();
+ m_leadingColumns = 0;
+ // Sorting Fields
+ columns.add(sortBy1); // may add ""
+ if (!columns.contains(sortBy2))
+ columns.add(sortBy2);
+ if (!columns.contains(sortBy3))
+ columns.add(sortBy3);
+ if (!columns.contains(sortBy4))
+ columns.add(sortBy4);
+
+ // Add Account Segments
+ MAcctSchemaElement[] elements = ASchema.getAcctSchemaElements();
+ for (int i = 0; i < elements.length; i++)
+ {
+ if (m_leadingColumns == 0 && columns.contains("AD_Org_ID") && columns.contains("Account_ID"))
+ m_leadingColumns = columns.size();
+ //
+ MAcctSchemaElement ase = elements[i];
+ String columnName = ase.getColumnName();
+ if (columnName.startsWith("UserElement"))
+ {
+ if (columnName.indexOf('1') != -1)
+ m_ref1 = ase.getDisplayColumnName();
+ else
+ m_ref2 = ase.getDisplayColumnName();
+ }
+ if (!columns.contains(columnName))
+ columns.add(columnName);
+ }
+ if (m_leadingColumns == 0 && columns.contains("AD_Org_ID") && columns.contains("Account_ID"))
+ m_leadingColumns = columns.size();
+ return columns;
+ } // createKeyColumns
+
+} // AcctViewerData
diff --git a/org.adempiere.ui.swing/src/org/compiere/apps/AMenu.java b/org.adempiere.ui.swing/src/org/compiere/apps/AMenu.java
index 6e18b6e81e..545a1ff7d2 100644
--- a/org.adempiere.ui.swing/src/org/compiere/apps/AMenu.java
+++ b/org.adempiere.ui.swing/src/org/compiere/apps/AMenu.java
@@ -58,6 +58,7 @@ import org.compiere.apps.wf.WFActivity;
import org.compiere.apps.wf.WFPanel;
import org.compiere.db.CConnection;
import org.compiere.grid.tree.VTreePanel;
+import org.compiere.model.HardCodedIDs;
import org.compiere.model.MRole;
import org.compiere.model.MSession;
import org.compiere.model.MSysConfig;
@@ -687,7 +688,7 @@ public final class AMenu extends CFrame
// + " INNER JOIN AD_TABLE t ON (t.AD_Window_ID=m.AD_Window_ID) "
// + "WHERE t.AD_Table_ID=?", 417);
if (m_request_Menu_ID == 0)
- m_request_Menu_ID = 237; // My Requests
+ m_request_Menu_ID = HardCodedIDs.windowMyRequests; // My Requests
(new AMenuStartItem (m_request_Menu_ID, true, Msg.translate(m_ctx, "R_Request_ID"), this)).start(); // async load
} // gotoRequests