details:   /erp/devel/main/rev/19b60f6a538f
changeset: 8038:19b60f6a538f
user:      Víctor Martínez Romanos <victor.martinez <at> openbravo.com>
date:      Fri Aug 06 18:33:51 2010 +0200
summary:   Fixed bug 14125: Added multicurrency support for Payment Aging 
Balance report

Added a Currency field when launching the report. The amounts in the
report are automatically converted to the selected currency.
If no rate conversion is defined for any currency on a payment,
the system shows an error.

details:   /erp/devel/main/rev/68eefc476782
changeset: 8039:68eefc476782
user:      RM packaging bot <staff.rm <at> openbravo.com>
date:      Mon Aug 09 13:05:29 2010 +0200
summary:   CI: promote changesets from pi to main

details:   /erp/devel/main/rev/df37f48fac4e
changeset: 8040:df37f48fac4e
user:      RM packaging bot <staff.rm <at> openbravo.com>
date:      Mon Aug 09 13:05:30 2010 +0200
summary:   CI: update AD_MODULE - Core version and label

diffstat:

 src-db/database/sourcedata/AD_MODULE.xml                            |   4 +-
 src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance.html      |   8 +-
 src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance.java      |  76 
+++++++--
 src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance.xml       |   7 +-
 src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance_data.xsql |   7 +-
 5 files changed, 76 insertions(+), 26 deletions(-)

diffs (252 lines):

diff -r a97e0286a716 -r df37f48fac4e src-db/database/sourcedata/AD_MODULE.xml
--- a/src-db/database/sourcedata/AD_MODULE.xml  Fri Aug 06 13:23:42 2010 +0200
+++ b/src-db/database/sourcedata/AD_MODULE.xml  Mon Aug 09 13:05:30 2010 +0200
@@ -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.17989]]></VERSION>
+<!--0-->  <VERSION><![CDATA[2.50.18039]]></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 a97e0286a716 -r df37f48fac4e 
src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance.html
--- a/src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance.html    Fri Aug 
06 13:23:42 2010 +0200
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance.html    Mon Aug 
09 13:05:30 2010 +0200
@@ -443,8 +443,12 @@
                                                          <input 
dojoType="openbravo:RealNumberTextbox" greaterThan="paramColumn3" 
class="required TextBox_OneCell_width" type="text" name="inpColumn4" 
id="paramColumn4" maxlength="4"  size="4" onchange="columnChange();" 
value="xxx7" width="4" 
outputformat="integerEdition"/><script>djConfig.searchIds.push("paramColumn4");</script></td></tr>
 
                                                    <tr>
-                                                         <td 
class="TitleCell"></td>
-                                                         <td 
class="TitleCell"></td>
+                                                         <td 
class="TitleCell"> <span class="LabelText">Currency</span></td>
+                                                         <td 
class="Combo_ContentCell"> 
+                                 <select name="inpCurrencyId" 
id="inpCurrencyId" class="ComboKey Combo_OneCell_width" required="true">
+                                   <option value=""> <div 
id="reportC_Currency_ID"></div></option>
+                                 </select>
+                              </td>
                                                          <td 
class="TitleCell"></td>
                                                          <td 
class="TitleCell"></td>
                                                      <td 
class="TitleCell">&gt; 
diff -r a97e0286a716 -r df37f48fac4e 
src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance.java
--- a/src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance.java    Fri Aug 
06 13:23:42 2010 +0200
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance.java    Mon Aug 
09 13:05:30 2010 +0200
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2001-2009 Openbravo SLU 
+ * All portions are Copyright (C) 2001-2010 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -48,9 +48,12 @@
 
   // static Category log4j = Category.getInstance(ReportAgingBalance.class);
 
+  @Override
   public void doPost(HttpServletRequest request, HttpServletResponse response) 
throws IOException,
       ServletException {
     VariablesSecureApp vars = new VariablesSecureApp(request);
+    // Get user Client's base currency
+    final String strUserCurrencyId = Utility.stringBaseCurrencyId(this, 
vars.getClient());
 
     if (vars.commandIn("DEFAULT")) {
       String strisReceipt = vars.getGlobalVariable("inpReceipt", 
"ReportAgingBalance|IsReceipt",
@@ -66,8 +69,10 @@
       String strcBpartnerId = vars.getInGlobalVariable("inpcBPartnerId_IN",
           "ReportAgingBalance|cBpartnerId", "", IsIDFilter.instance);
       String strOrg = vars.getGlobalVariable("inpOrg", 
"ReportAgingBalance|Org", "");
+      final String strCurrencyId = vars.getGlobalVariable("inpCurrencyId",
+          "ReportAgingBalance|currency", strUserCurrencyId);
       printPageDataSheet(response, vars, strisReceipt, strcolumn1, strcolumn2, 
strcolumn3,
-          strcolumn4, strcBpartnerId, strOrg, "Y");
+          strcolumn4, strcBpartnerId, strOrg, "Y", strCurrencyId);
     } else if (vars.commandIn("FIND")) {
       String strisReceipt = vars.getRequestGlobalVariable("inpReceipt",
           "ReportAgingBalance|IsReceipt");
@@ -82,8 +87,10 @@
       String strcBpartnerId = 
vars.getRequestInGlobalVariable("inpcBPartnerId_IN",
           "ReportAgingBalance|cBpartnerId", IsIDFilter.instance);
       String strOrg = vars.getRequestGlobalVariable("inpOrg", 
"ReportAgingBalance|Org");
+      final String strCurrencyId = vars.getGlobalVariable("inpCurrencyId",
+          "ReportAgingBalance|currency", strUserCurrencyId);
       printPageDataSheet(response, vars, strisReceipt, strcolumn1, strcolumn2, 
strcolumn3,
-          strcolumn4, strcBpartnerId, strOrg, "N");
+          strcolumn4, strcBpartnerId, strOrg, "N", strCurrencyId);
     } else if (vars.commandIn("PRINT_PDF")) {
       String strisReceipt = vars.getRequestGlobalVariable("inpReceipt",
           "ReportAgingBalance|IsReceipt");
@@ -98,16 +105,18 @@
       String strcBpartnerId = 
vars.getRequestInGlobalVariable("inpcBPartnerId_IN",
           "ReportAgingBalance|cBpartnerId", IsIDFilter.instance);
       String strOrg = vars.getRequestGlobalVariable("inpOrg", 
"ReportAgingBalance|Org");
-      printPageDataPdf(response, vars, strisReceipt, strcolumn1, strcolumn2, 
strcolumn3,
-          strcolumn4, strcBpartnerId, strOrg, "N");
+      final String strCurrencyId = vars.getGlobalVariable("inpCurrencyId",
+          "ReportAgingBalance|currency", strUserCurrencyId);
+      printPageDataPdf(request, response, vars, strisReceipt, strcolumn1, 
strcolumn2, strcolumn3,
+          strcolumn4, strcBpartnerId, strOrg, "N", strCurrencyId);
     } else
       pageError(response);
   }
 
-  private void printPageDataPdf(HttpServletResponse response, 
VariablesSecureApp vars,
-      String strisReceipt, String strcolumn1, String strcolumn2, String 
strcolumn3,
-      String strcolumn4, String strcBpartnerId, String strOrgTrx, String 
strfirstPrint)
-      throws IOException, ServletException {
+  private void printPageDataPdf(final HttpServletRequest request, 
HttpServletResponse response,
+      VariablesSecureApp vars, String strisReceipt, String strcolumn1, String 
strcolumn2,
+      String strcolumn3, String strcolumn4, String strcBpartnerId, String 
strOrgTrx,
+      String strfirstPrint, final String strCurrencyId) throws IOException, 
ServletException {
     ReportAgingBalanceData[] data = null;
     // Jarenor
     /*
@@ -121,10 +130,16 @@
     if (strisReceipt.equals(""))
       strisReceipt = "N";
 
-    data = ReportAgingBalanceData.select(this, vars.getLanguage(), strOrgTrx, 
strcolumn1,
-        strcolumn2, strcolumn3, strcolumn4, strisReceipt, strcBpartnerId, 
strOrgFamily, Utility
-            .getContext(this, vars, "#User_Client", "ReportAgingBalance"), 
Utility.getContext(this,
-            vars, "#AccessibleOrgTree", "ReportAgingBalance"));
+    try {
+      data = ReportAgingBalanceData.select(this, vars.getLanguage(), 
strOrgTrx, strCurrencyId,
+          strcolumn1, strcolumn2, strcolumn3, strcolumn4, strisReceipt, 
strcBpartnerId,
+          strOrgFamily, Utility.getContext(this, vars, "#User_Client", 
"ReportAgingBalance"),
+          Utility.getContext(this, vars, "#AccessibleOrgTree", 
"ReportAgingBalance"));
+    } catch (ServletException ex) {
+      advisePopUp(request, response, Utility.messageBD(this, 
"NoConversionRateHeader", vars
+          .getLanguage()), Utility.translateError(this, vars, 
vars.getLanguage(), ex.getMessage())
+          .getMessage());
+    }
     String strReportName = 
"@basedesign@/org/openbravo/erpCommon/ad_reports/ReportAgingBalance.jrxml";
     HashMap<String, Object> parameters = new HashMap<String, Object>();
     parameters.put("col1", "0 - " + strcolumn1);
@@ -138,8 +153,8 @@
 
   private void printPageDataSheet(HttpServletResponse response, 
VariablesSecureApp vars,
       String strisReceipt, String strcolumn1, String strcolumn2, String 
strcolumn3,
-      String strcolumn4, String strcBpartnerId, String strOrgTrx, String 
strfirstPrint)
-      throws IOException, ServletException {
+      String strcolumn4, String strcBpartnerId, String strOrgTrx, String 
strfirstPrint,
+      final String strCurrencyId) throws IOException, ServletException {
     if (log4j.isDebugEnabled())
       log4j.debug("Output: dataSheet");
     response.setContentType("text/html; charset=UTF-8");
@@ -155,10 +170,19 @@
       strisReceipt = "N";
 
     if (vars.commandIn("FIND")) {
-      data = ReportAgingBalanceData.select(this, vars.getLanguage(), 
strOrgTrx, strcolumn1,
-          strcolumn2, strcolumn3, strcolumn4, strisReceipt, strcBpartnerId, 
strOrgFamily, Utility
-              .getContext(this, vars, "#User_Client", "ReportAgingBalance"), 
Utility.getContext(
-              this, vars, "#AccessibleOrgTree", "ReportAgingBalance"));
+      try {
+        data = ReportAgingBalanceData.select(this, vars.getLanguage(), 
strOrgTrx, strCurrencyId,
+            strcolumn1, strcolumn2, strcolumn3, strcolumn4, strisReceipt, 
strcBpartnerId,
+            strOrgFamily, Utility.getContext(this, vars, "#User_Client", 
"ReportAgingBalance"),
+            Utility.getContext(this, vars, "#AccessibleOrgTree", 
"ReportAgingBalance"));
+      } catch (final ServletException ex) {
+        final OBError message = new OBError();
+        message.setType("Error");
+        message.setTitle(Utility.messageBD(this, "NoConversionRateHeader", 
vars.getLanguage()));
+        message.setMessage(Utility.translateError(this, vars, 
vars.getLanguage(), ex.getMessage())
+            .getMessage());
+        vars.setMessage("ReportAgingBalance", message);
+      }
     }
     if (strfirstPrint == "Y" || data == null || data.length == 0) {
       xmlDocument = xmlEngine.readXmlTemplate(
@@ -220,6 +244,19 @@
       throw new ServletException(ex);
     }
 
+    xmlDocument.setParameter("ccurrencyid", strCurrencyId);
+    try {
+      ComboTableData comboTableData = new ComboTableData(vars, this, 
"TABLEDIR", "C_Currency_ID",
+          "", "", Utility.getContext(this, vars, "#AccessibleOrgTree", 
"ReportProductionCost"),
+          Utility.getContext(this, vars, "#User_Client", 
"ReportProductionCost"), 0);
+      Utility.fillSQLParameters(this, vars, null, comboTableData, 
"ReportProductionCost",
+          strCurrencyId);
+      xmlDocument.setData("reportC_Currency_ID", "liststructure", 
comboTableData.select(false));
+      comboTableData = null;
+    } catch (Exception ex) {
+      throw new ServletException(ex);
+    }
+
     xmlDocument.setParameter("titleColumn1", "0 - " + strcolumn1);
     Integer iAux = Integer.valueOf(strcolumn1).intValue() + 
Integer.valueOf("1").intValue();
     xmlDocument.setParameter("titleColumn2", iAux.toString() + " - " + 
strcolumn2);
@@ -272,6 +309,7 @@
      */
   }
 
+  @Override
   public String getServletInfo() {
     return "Servlet ReportAgingBalance. This Servlet was made by David 
Alsasua";
   } // end of the getServletInfo() method
diff -r a97e0286a716 -r df37f48fac4e 
src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance.xml
--- a/src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance.xml     Fri Aug 
06 13:23:42 2010 +0200
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance.xml     Mon Aug 
09 13:05:30 2010 +0200
@@ -12,7 +12,7 @@
 * under the License. 
 * The Original Code is Openbravo ERP. 
 * The Initial Developer of the Original Code is Openbravo SLU 
-* All portions are Copyright (C) 2001-2006 Openbravo SLU 
+* All portions are Copyright (C) 2001-2010 Openbravo SLU 
 * All Rights Reserved. 
 * Contributor(s):  ______________________________________.
 ************************************************************************
@@ -72,6 +72,11 @@
   <SUBREPORT id="reportAD_ORGID" name="reportAD_ORGID" 
report="org/openbravo/erpCommon/reference/List">
     <ARGUMENT name="parameterListSelected" withId="paramAD_ORG_Id"/>
   </SUBREPORT>
+  
+  <PARAMETER id="paramC_Currency_ID" name="ccurrencyid" attribute="value"/>
+  <SUBREPORT id="reportC_Currency_ID" name="reportC_Currency_ID" 
report="org/openbravo/erpCommon/reference/List">
+    <ARGUMENT name="parameterListSelected" withId="paramC_Currency_ID"/>
+  </SUBREPORT> 
 
   <structure name="structure1">
     <FIELD id="fieldBpartner">bpartner</FIELD>
diff -r a97e0286a716 -r df37f48fac4e 
src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance_data.xsql
--- a/src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance_data.xsql       
Fri Aug 06 13:23:42 2010 +0200
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportAgingBalance_data.xsql       
Mon Aug 09 13:05:30 2010 +0200
@@ -12,7 +12,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2001-2009 Openbravo SLU 
+ * All portions are Copyright (C) 2001-2010 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -32,7 +32,9 @@
         SUM(CASE(SCOPE) WHEN 5 THEN AMOUNT ELSE 0 END) AS FIVE,
         SUM(AMOUNT) AS TOTAL, ? AS AD_ORG_ID
         FROM(
-          SELECT C_BPARTNER_ID AS BPARTNER, AMOUNT, ISRECEIPT, DATEPLANNED,
+          SELECT C_BPARTNER_ID AS BPARTNER, 
+          C_CURRENCY_CONVERT(AMOUNT, C_CURRENCY_ID, ?, DATEPLANNED, null, 
ad_client_id, ad_org_id) AS AMOUNT, 
+          ISRECEIPT, DATEPLANNED,
           C_AGING_GET_SCOPE(DATEPLANNED, TO_NUMBER(?), TO_NUMBER(?), 
TO_NUMBER(?), TO_NUMBER(?)) AS SCOPE, C_DEBT_PAYMENT_ID
           FROM  C_DEBT_PAYMENT
           WHERE C_DEBT_PAYMENT_STATUS(C_SETTLEMENT_CANCEL_ID, 
CANCEL_PROCESSED, 
GENERATE_PROCESSED,ISPAID,ISVALID,C_CASHLINE_ID,C_BANKSTATEMENTLINE_ID) = 'P'
@@ -46,6 +48,7 @@
       ]]></Sql>
     <Parameter name="adLanguage"/>  
     <Parameter name="orgTrx"></Parameter>
+    <Parameter name="cCurrencyConv"/>
     <Parameter name="one"></Parameter>
     <Parameter name="two"></Parameter>
     <Parameter name="three"></Parameter>

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

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to