details:   https://code.openbravo.com/erp/devel/pi/rev/7cbdcc419167
changeset: 30046:7cbdcc419167
user:      Rafael Queralta Pozo <rqueralta <at> nauta.cu>
date:      Wed Sep 07 12:06:09 2016 -0400
summary:   Fixes issue 33742: UpdateCustomerBalance modulescript BP currency 
conversion

UpdateCurtomerBalance modulescript did not take in account the business partner
currency.Now if business partner currency and document currency are different,
the document amount is converted to the business partner currency.

diffstat:

 
modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/modulescript/UpdateCustomerBalanceData.class
                |    0 
 
modules/org.openbravo.advpaymentmngt/src-util/modulescript/src/org/openbravo/advpaymentmngt/modulescript/UpdateCustomerBalance_data.xsql
    |   33 ++++++---
 
modules/org.openbravo.advpaymentmngt/src-util/modulescript/src/src/org/openbravo/advpaymentmngt/modulescript/UpdateCustomerBalanceData.java
 |   31 +++++---
 3 files changed, 39 insertions(+), 25 deletions(-)

diffs (93 lines):

diff -r b4a8ad7a445f -r 7cbdcc419167 
modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/modulescript/UpdateCustomerBalanceData.class
Binary file 
modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/modulescript/UpdateCustomerBalanceData.class
 has changed
diff -r b4a8ad7a445f -r 7cbdcc419167 
modules/org.openbravo.advpaymentmngt/src-util/modulescript/src/org/openbravo/advpaymentmngt/modulescript/UpdateCustomerBalance_data.xsql
--- 
a/modules/org.openbravo.advpaymentmngt/src-util/modulescript/src/org/openbravo/advpaymentmngt/modulescript/UpdateCustomerBalance_data.xsql
  Thu Sep 08 13:20:39 2016 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-util/modulescript/src/org/openbravo/advpaymentmngt/modulescript/UpdateCustomerBalance_data.xsql
  Wed Sep 07 12:06:09 2016 -0400
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!--
  
************************************************************************************
- * Copyright (C) 2011-2015 Openbravo S.L.U.
+ * Copyright (C) 2011-2016 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at 
http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -59,18 +59,25 @@
     <Sql>
       <![CDATA[
         SELECT A.c_bpartner_id, SUM(A.amount) as customercredit
-        FROM (SELECT c_bpartner_id, COALESCE(SUM(ps.outstandingamt * (CASE 
WHEN inv.issotrx = 'Y' THEN 1 ELSE -1 END)), 0) as amount
-              FROM fin_payment_schedule ps join c_invoice inv on 
(ps.c_invoice_id = inv.c_invoice_id)
-              WHERE ps.outstandingamt <> 0
-              GROUP BY c_bpartner_id
-              UNION ALL
-              SELECT p.c_bpartner_id, COALESCE(SUM((p.generated_credit - 
p.used_credit) * (CASE WHEN p.isreceipt = 'Y' THEN -1 ELSE 1 END)), 0) as amount
-              FROM FIN_PAYMENT p
-              WHERE p.c_bpartner_id is not null
-                    AND (p.generated_credit - p.used_credit) <> 0
-                    AND p.generated_credit <> 0
-                    AND p.processed = 'Y'
-              GROUP BY p.c_bpartner_id) A
+        FROM (
+          SELECT bp.c_bpartner_id, 
COALESCE(SUM(c_currency_convert(ps.outstandingamt * (CASE WHEN inv.issotrx = 
'Y' THEN 1 ELSE -1 END), inv.c_currency_id, bp.bp_currency_id, inv.created, 
null, inv.ad_client_id, inv.ad_org_id)), 0) as amount
+          FROM c_invoice inv
+          JOIN c_bpartner bp
+          ON inv.c_bpartner_id = bp.c_bpartner_id
+          JOIN fin_payment_schedule ps
+          ON inv.c_invoice_id = ps.c_invoice_id
+          WHERE ps.outstandingamt <> 0
+          GROUP BY bp.c_bpartner_id
+          UNION ALL
+          SELECT bp.c_bpartner_id, 
COALESCE(SUM(c_currency_convert((p.generated_credit - p.used_credit) * (CASE 
WHEN p.isreceipt = 'Y' THEN -1 ELSE 1 END), p.c_currency_id, bp.bp_currency_id, 
p.created, null, p.ad_client_id, p.ad_org_id)), 0) as amount
+          FROM FIN_PAYMENT p
+          JOIN c_bpartner bp
+          ON p.c_bpartner_id = bp.c_bpartner_id
+          WHERE (p.generated_credit - p.used_credit) <> 0
+          AND p.generated_credit <> 0
+          AND p.processed = 'Y'
+          GROUP BY bp.c_bpartner_id
+        ) A
         GROUP BY A.c_bpartner_id
       ]]>
     </Sql>
diff -r b4a8ad7a445f -r 7cbdcc419167 
modules/org.openbravo.advpaymentmngt/src-util/modulescript/src/src/org/openbravo/advpaymentmngt/modulescript/UpdateCustomerBalanceData.java
--- 
a/modules/org.openbravo.advpaymentmngt/src-util/modulescript/src/src/org/openbravo/advpaymentmngt/modulescript/UpdateCustomerBalanceData.java
       Thu Sep 08 13:20:39 2016 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-util/modulescript/src/src/org/openbravo/advpaymentmngt/modulescript/UpdateCustomerBalanceData.java
       Wed Sep 07 12:06:09 2016 -0400
@@ -226,18 +226,25 @@
     String strSql = "";
     strSql = strSql + 
       "        SELECT A.c_bpartner_id, SUM(A.amount) as customercredit" +
-      "        FROM (SELECT c_bpartner_id, COALESCE(SUM(ps.outstandingamt * 
(CASE WHEN inv.issotrx = 'Y' THEN 1 ELSE -1 END)), 0) as amount" +
-      "              FROM fin_payment_schedule ps join c_invoice inv on 
(ps.c_invoice_id = inv.c_invoice_id)" +
-      "              WHERE ps.outstandingamt <> 0" +
-      "              GROUP BY c_bpartner_id" +
-      "              UNION ALL" +
-      "              SELECT p.c_bpartner_id, COALESCE(SUM((p.generated_credit 
- p.used_credit) * (CASE WHEN p.isreceipt = 'Y' THEN -1 ELSE 1 END)), 0) as 
amount" +
-      "              FROM FIN_PAYMENT p" +
-      "              WHERE p.c_bpartner_id is not null" +
-      "                    AND (p.generated_credit - p.used_credit) <> 0" +
-      "                    AND p.generated_credit <> 0" +
-      "                    AND p.processed = 'Y'" +
-      "              GROUP BY p.c_bpartner_id) A" +
+      "        FROM (" +
+      "          SELECT bp.c_bpartner_id, 
COALESCE(SUM(c_currency_convert(ps.outstandingamt * (CASE WHEN inv.issotrx = 
'Y' THEN 1 ELSE -1 END), inv.c_currency_id, bp.bp_currency_id, inv.created, 
null, inv.ad_client_id, inv.ad_org_id)), 0) as amount" +
+      "          FROM c_invoice inv" +
+      "          JOIN c_bpartner bp" +
+      "          ON inv.c_bpartner_id = bp.c_bpartner_id" +
+      "          JOIN fin_payment_schedule ps" +
+      "          ON inv.c_invoice_id = ps.c_invoice_id" +
+      "          WHERE ps.outstandingamt <> 0" +
+      "          GROUP BY bp.c_bpartner_id" +
+      "          UNION ALL" +
+      "          SELECT bp.c_bpartner_id, 
COALESCE(SUM(c_currency_convert((p.generated_credit - p.used_credit) * (CASE 
WHEN p.isreceipt = 'Y' THEN -1 ELSE 1 END), p.c_currency_id, bp.bp_currency_id, 
p.created, null, p.ad_client_id, p.ad_org_id)), 0) as amount" +
+      "          FROM FIN_PAYMENT p" +
+      "          JOIN c_bpartner bp" +
+      "          ON p.c_bpartner_id = bp.c_bpartner_id" +
+      "          WHERE (p.generated_credit - p.used_credit) <> 0" +
+      "          AND p.generated_credit <> 0" +
+      "          AND p.processed = 'Y'" +
+      "          GROUP BY bp.c_bpartner_id" +
+      "        ) A" +
       "        GROUP BY A.c_bpartner_id";
 
     ResultSet result;

------------------------------------------------------------------------------
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to