details:   https://code.openbravo.com/erp/devel/pi/rev/dac14a3fa4cb
changeset: 13517:dac14a3fa4cb
user:      Iván Perdomo <ivan.perdomo <at> openbravo.com>
date:      Mon Aug 08 16:58:49 2011 +0200
summary:   Fixes issue 18223: The filter by the parent id is automatically 
added. HQL not required.
The hql where clause is not needed in this case. But if you remove it, the
compilation process will mark this Window to be shown in classic mode. Added a
dummy hql where 1=1 clause to avoid the problem.

details:   https://code.openbravo.com/erp/devel/pi/rev/6eedd3917497
changeset: 13518:6eedd3917497
user:      Iván Perdomo <ivan.perdomo <at> openbravo.com>
date:      Mon Aug 08 16:29:18 2011 +0200
summary:   Fixes issue 18224: Removed unneeded quotes in hql where clause

details:   https://code.openbravo.com/erp/devel/pi/rev/28c22843e9af
changeset: 13519:28c22843e9af
user:      Mikel Irurita <mikel.irurita <at> openbravo.com>
date:      Tue Aug 09 14:57:37 2011 +0200
summary:   Fixes issue 18233, Fixes issue 18234: fix order extension point.
Properly manage orders with negative amounts (v_pendingamount <> 0).
Properly manage POS Order document type when the order has several lines

details:   https://code.openbravo.com/erp/devel/pi/rev/228c6e4f5f52
changeset: 13520:228c6e4f5f52
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Thu Aug 11 16:09:54 2011 +0200
summary:   Negative sales order will not create the payment schedule detail.
It will not be possible to prepay a negative order

details:   https://code.openbravo.com/erp/devel/pi/rev/1366bec764b7
changeset: 13521:1366bec764b7
user:      Iván Perdomo <ivan.perdomo <at> openbravo.com>
date:      Fri Aug 12 11:17:32 2011 +0200
summary:   Fixe issue 18266: Set Window personalization as premium functionality
Set the 'Window personalization' window as tier 1 functionality

details:   https://code.openbravo.com/erp/devel/pi/rev/e303b38f24e9
changeset: 13522:e303b38f24e9
user:      RM packaging bot <staff.rm <at> openbravo.com>
date:      Fri Aug 12 10:45:34 2011 +0000
summary:   Update AD_MODULE version to 3.0MP2

details:   https://code.openbravo.com/erp/devel/pi/rev/298c364b00df
changeset: 13523:298c364b00df
user:      RM packaging bot <staff.rm <at> openbravo.com>
date:      Fri Aug 12 10:45:35 2011 +0000
summary:   Added tag 3.0MP2 for changeset e303b38f24e9

details:   https://code.openbravo.com/erp/devel/pi/rev/d0e904916d2f
changeset: 13524:d0e904916d2f
user:      RM packaging bot <staff.rm <at> openbravo.com>
date:      Fri Aug 12 10:45:36 2011 +0000
summary:   Added signature for changeset 298c364b00df

details:   https://code.openbravo.com/erp/devel/pi/rev/51b7b8c4cf6c
changeset: 13525:51b7b8c4cf6c
user:      RM packaging bot <staff.rm <at> openbravo.com>
date:      Sat Aug 13 00:29:08 2011 +0200
summary:   CI: update AD_MODULE to version 13515

details:   https://code.openbravo.com/erp/devel/pi/rev/c1dc221b8cb3
changeset: 13526:c1dc221b8cb3
user:      RM packaging bot <staff.rm <at> openbravo.com>
date:      Tue Aug 16 13:16:59 2011 +0200
summary:   CI: promote changesets from pi to main

details:   https://code.openbravo.com/erp/devel/pi/rev/b8c828c166bc
changeset: 13527:b8c828c166bc
user:      RM packaging bot <staff.rm <at> openbravo.com>
date:      Tue Aug 16 13:20:46 2011 +0200
summary:   CI: merge back from main

diffstat:

 .hgsigs                                                                        
                                                                                
                                    |    1 +
 .hgtags                                                                        
                                                                                
                                    |    1 +
 
modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml
                                                                                
              |   67 +-
 
modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_ORD.xml
                                                                                
              |    2 +-
 modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml  
                                                                                
                                    |    2 +-
 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                           |    4 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.java
                                                                                
       |    2 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.java
                                                                                
   |    2 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java
                                                                               
|   13 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java
                                                                                
          |    6 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/TransactionsDao.java
                                                                                
                     |   15 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_AddPayment.java
                                                                                
                  |    8 +
 modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml       
                                                                                
                                    |    2 +-
 
modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                                |    2 +-
 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml
                                                                                
                                  |    3 +-
 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
                                                                                
                                 |   17 +-
 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml
                                                                                
                                  |    2 +-
 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                       |    8 +-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/ApplicationComponentProvider.java
                                                                                
    |    9 +-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/ViewComponent.java
                                                                                
                   |   28 +
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/templates/quick-launch.js.ftl
                                                                |    4 +-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/layout.js.ftl
                                                                                
              |   10 +
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-personalization-form.js.ftl
                                                                        |    1 +
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-image.js
                                                                                
|   13 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-link.js
                                                                                
 |    5 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-spinner.js
                                                                              | 
  29 +
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-linked-items.js
                                                                                
 |   28 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
                                                                                
              |    4 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
                                                                                
              |   11 +
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-base-view.js
                                                                                
              |   81 +
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-application-menu.js
                                                                                
     |    5 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-logout-widget.js
                                                                                
        |    7 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/navbar/ob-quick-launch.js
                                                                                
         |   13 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalization-treegrid.js
                                                                    |   28 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/personalization/ob-personalize-form.js
                                                                            |   
79 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/toolbar/ob-toolbar.js
                                                                                
             |    8 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-view-manager.js
                                                                                
      |   37 +-
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/spinnerControlDecrease.png
               |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/spinnerControlDecrease_Disabled.png
      |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/spinnerControlDecrease_Disabled_orig.png
 |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/spinnerControlDecrease_Down.png
          |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/spinnerControlDecrease_Over.png
          |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/spinnerControlIncrease.png
               |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/spinnerControlIncrease_Disabled.png
      |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/spinnerControlIncrease_Disabled_orig.png
 |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/spinnerControlIncrease_Down.png
          |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/spinnerControlIncrease_Over.png
          |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-form-styles.js
                                    |   22 +
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-personalization-styles.css
                        |    2 +-
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-personalization-styles.js
                         |   18 +-
 
modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml
                                                                                
                                   |    2 +-
 
modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                        |    2 +-
 modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE.xml   
                                                                                
                                    |    2 +-
 
modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                            |    6 +-
 modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_TREENODE.xml 
                                                                                
                                    |    2 +-
 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/BaseActionHandler.java
                                                                                
                         |    3 +-
 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/BaseComponent.java
                                                                                
                             |    5 -
 modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MESSAGE.xml    
                                                                                
                                    |    2 +-
 modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE.xml     
                                                                                
                                    |    2 +-
 
modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                              |    4 +-
 
modules/org.openbravo.client.myob/web/org.openbravo.client.myob/js/form/formitem/ob-formitem-widgetinform.js
                                                                                
       |   20 +-
 
modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MESSAGE.xml
                                                                                
                                   |    2 +-
 
modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE.xml 
                                                                                
                                   |    2 +-
 
modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                         |    2 +-
 
modules/org.openbravo.client.querylist/web/org.openbravo.client.querylist/js/ob-querylist-widget.js
                                                                                
                |    8 +-
 modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE.xml  
                                                                                
                                    |    2 +-
 
modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                           |    2 +-
 
modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE.xml
                                                                                
                             |    2 +-
 
modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                  |    2 +-
 
modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReport.java
                                                                    |    2 +-
 
modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportDao.java
                                                                 |  178 ++-
 
modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE.xml
                                                                                
                      |    2 +-
 
modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
           |    2 +-
 
modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE.xml
                                                                                
                                  |    2 +-
 
modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                       |   10 +-
 
modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MESSAGE.xml
                                                                                
                         |    2 +-
 
modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE.xml
                                                                                
                          |    2 +-
 
modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
               |    4 +-
 
modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE.xml
                                                                                
                          |    2 +-
 
modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
               |    2 +-
 modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE.xml    
                                                                                
                                    |    2 +-
 
modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                             |    2 +-
 
modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE.xml
                                                                                
                              |    2 +-
 
modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                   |   12 +-
 
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorComponent.java
                                                                                
       |   10 +-
 
modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js
                                                                                
       |   69 +-
 
modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE.xml
                                                                                
                     |    2 +-
 
modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
          |    2 +-
 
modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE.xml
                                                                                
                           |    2 +-
 
modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                |    6 +-
 modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE.xml     
                                                                                
                                    |    2 +-
 
modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                              |    6 +-
 modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE.xml    
                                                                                
                                    |    2 +-
 
modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
                                                                                
                             |   24 +-
 modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE.xml              
                                                                                
                                    |    2 +-
 modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml   
                                                                                
                                    |   18 +-
 referencedata/sampledata/F_B_International_Group.xml                           
                                                                                
                                    |  548 ++++++++-
 src-db/database/model/triggers/AD_TABLE_MOD_TRG.xml                            
                                                                                
                                    |    4 +-
 src-db/database/model/views/AD_TABLE_POST_V.xml                                
                                                                                
                                    |    8 +-
 src-db/database/sourcedata/AD_FIELD.xml                                        
                                                                                
                                    |    8 +-
 src-db/database/sourcedata/AD_MODULE.xml                                       
                                                                                
                                    |    4 +-
 src-db/database/sourcedata/AD_REF_LIST.xml                                     
                                                                                
                                    |    4 +-
 src-db/database/sourcedata/AD_TAB.xml                                          
                                                                                
                                    |    4 +-
 src/org/openbravo/dal/core/OBContext.java                                      
                                                                                
                                    |    3 +-
 src/org/openbravo/erpCommon/ad_actionButton/CopyFromInvoice.java               
                                                                                
                                    |    2 +-
 src/org/openbravo/erpCommon/ad_actionButton/CopyFromInvoice_data.xsql          
                                                                                
                                    |    7 +-
 src/org/openbravo/erpCommon/ad_forms/AcctServer_data.xsql                      
                                                                                
                                    |    5 +-
 src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java                 
                                                                                
                                    |  188 +-
 src/org/openbravo/erpCommon/ad_forms/GenerateInvoicesmanual.html               
                                                                                
                                    |    8 +-
 src/org/openbravo/erpCommon/ad_forms/GenerateShipmentsmanual.html              
                                                                                
                                    |    4 +-
 src/org/openbravo/erpCommon/businessUtility/Tax.java                           
                                                                                
                                    |   16 +-
 src/org/openbravo/erpCommon/obps/licenseRestrictions                           
                                                                                
                                    |    2 +-
 112 files changed, 1409 insertions(+), 448 deletions(-)

diffs (truncated from 4604 to 300 lines):

diff -r 5744448753e7 -r b8c828c166bc .hgsigs
--- a/.hgsigs   Sat Aug 06 05:08:35 2011 +0200
+++ b/.hgsigs   Tue Aug 16 13:20:46 2011 +0200
@@ -36,3 +36,4 @@
 99fb3658a953bb30e5b4850aca947102942b4659 0 
iEYEABECAAYFAk32R/EACgkQCX/oGf+2qkPedQCgiUtwjVa9BInf4zD2a1rIDU8CW8gAoOqRFJ/4MzHb0pzYjJIfKwMyA0pf
 79fe315001bf47622578a9a79eae48bd6cf8bdfe 0 
iEYEABECAAYFAk4KFpoACgkQCX/oGf+2qkNikwCgpMtzmBV9fuHz8lvRfdWRyDwmOJgAn087uO1ifI24qVsXnlNIUmPlZa1r
 e1095f432296d2d007a16592ce903c611e32a8ca 0 
iEYEABECAAYFAk4fNVoACgkQCX/oGf+2qkM/vACeMJuEyh0KlU/iUOd+GOJu+23MMasAni7f8YASwyBpy8Rhq6hseH9jl+QP
+298c364b00dfafd8d14f39e4c46582666b63b792 0 
iEYEABECAAYFAk5FBE8ACgkQCX/oGf+2qkMLLwCg5owJffX+FRvdAhcx5lu98a+bczMAoOrxERXMnWJcjrPiRsHe9uK2rbEB
diff -r 5744448753e7 -r b8c828c166bc .hgtags
--- a/.hgtags   Sat Aug 06 05:08:35 2011 +0200
+++ b/.hgtags   Tue Aug 16 13:20:46 2011 +0200
@@ -47,3 +47,4 @@
 1cb20ca392d7b5cca925cc6fdca4f718d3df1d10 3.0MP0
 4ae068de5044da49268d6d3bbde0dcc78b719bee 3.0MP0.1
 c7557e3684a44b84a633889ad597e689715bc57f 3.0MP1
+e303b38f24e9a12a4b8fdf0b2408055a2ab040d7 3.0MP2
diff -r 5744448753e7 -r b8c828c166bc 
modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml
     Sat Aug 06 05:08:35 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml
     Tue Aug 16 13:20:46 2011 +0200
@@ -183,6 +183,7 @@
       v_new_scheduledetailid VARCHAR2(32);
       v_ConsumedGranTotal NUMBER:= 0;
       v_paymentCount NUMBER:= 0;
+      v_negativeOrder NUMBER:= 1;
 
       CURSOR cur_order_schdet (invoice_id VARCHAR) IS
       SELECT c_orderline.c_order_id AS order_id, 
fin_payment_scheduledetail.amount + 
COALESCE(fin_payment_scheduledetail.writeoffamt,0) AS amount,
@@ -329,36 +330,13 @@
                 AND c_invoiceline.c_invoice_id = p_record_id
                 AND c_orderline.c_order_id = order_schdet.order_id;
 
-              -- invoiced amount for the order plan cannot be higher than 
total order plan amount.
-              -- sometimes there is a difference due to taxes. that amount 
will be compensated at the end.
-              IF (v_invoicedamount > order_schdet.amount) THEN
-                v_invoicedamount := order_schdet.amount;
+              IF (v_invoicedamount < 0 ) THEN
+                v_negativeOrder := -1;
+              ELSE
+                v_negativeOrder := 1;
               END IF;
 
-              -- substract previously assigned amount
-              SELECT COALESCE(SUM(psd.amount),0) INTO v_assignedamount
-              FROM fin_payment_schedule ps_inv, fin_payment_scheduledetail psd,
-                   fin_payment_schedule ps_ord
-              WHERE ps_inv.fin_payment_schedule_id = 
psd.fin_payment_schedule_invoice
-                AND psd.fin_payment_schedule_order = 
ps_ord.fin_payment_schedule_id
-                AND ps_inv.c_invoice_id = p_record_id
-                AND ps_ord.c_order_id = order_schdet.order_id;
-
-              v_notassignedamount := COALESCE(v_invoicedamount,0) - 
COALESCE(v_assignedamount,0);
-            END IF;
-
-            IF (v_notassignedamount <= 0) THEN
-              next_order := TRUE;
-            END IF;
-            -- create a new payment schedule detail if necessary
-            IF (NOT next_order) THEN
-              v_differenceamount := 0;
-              IF ((v_notassignedamount <= v_scheduledamount) AND 
(v_notassignedamount < v_scheduledetailamount)) THEN
-                v_differenceamount := COALESCE(v_scheduledetailamount,0) - 
COALESCE(v_notassignedamount,0);
-              ELSIF ((v_scheduledamount < v_notassignedamount) AND 
(v_scheduledamount < v_scheduledetailamount)) THEN
-                v_differenceamount := COALESCE(v_scheduledetailamount,0) - 
COALESCE(v_scheduledamount,0);
-              END IF;
-
+              --if v_count = 0 the order is completely invoiced on this 
invoice.
               IF (v_IsSOTrx = 'Y') THEN
                 SELECT COALESCE(COUNT(*),0) INTO v_Count
                 FROM c_orderline
@@ -376,6 +354,37 @@
                 WHERE a.matchedqty != a.qtyordered;
               END IF;
 
+              -- invoiced amount for the order plan cannot be higher than 
total order plan amount.
+              -- sometimes there is a difference due to taxes. that amount 
will be compensated at the end.
+              -- if the order is of negative amount convert to positive.
+              IF (v_count = 0 AND (v_invoicedamount * v_negativeOrder > 
order_schdet.amount * v_negativeOrder)) THEN
+                v_invoicedamount := order_schdet.amount;
+              END IF;
+
+              -- substract previously assigned amount
+              SELECT COALESCE(SUM(psd.amount),0) INTO v_assignedamount
+              FROM fin_payment_schedule ps_inv, fin_payment_scheduledetail psd,
+                   fin_payment_schedule ps_ord
+              WHERE ps_inv.fin_payment_schedule_id = 
psd.fin_payment_schedule_invoice
+                AND psd.fin_payment_schedule_order = 
ps_ord.fin_payment_schedule_id
+                AND ps_inv.c_invoice_id = p_record_id
+                AND ps_ord.c_order_id = order_schdet.order_id;
+
+              v_notassignedamount := (COALESCE(v_invoicedamount,0) - 
COALESCE(v_assignedamount,0));
+            END IF;
+
+            IF (v_notassignedamount = 0) THEN
+              next_order := TRUE;
+            END IF;
+            -- create a new payment schedule detail if necessary
+            IF (NOT next_order) THEN
+              v_differenceamount := 0;
+              IF ((v_notassignedamount * v_negativeOrder <= v_scheduledamount 
* v_negativeOrder)) THEN
+                v_differenceamount := COALESCE(v_scheduledetailamount,0) - 
COALESCE(v_notassignedamount,0);
+              ELSIF ((v_scheduledamount * v_negativeOrder < 
v_notassignedamount * v_negativeOrder)) THEN
+                v_differenceamount := COALESCE(v_scheduledetailamount,0) - 
COALESCE(v_scheduledamount,0);
+              END IF;
+
               -- The order is completely invoiced and it is the last payment 
schedule
               IF(v_Count = 0 AND v_paymentcount = 0) THEN
                 v_differenceamount:= 0;
@@ -393,7 +402,7 @@
                       AND fin_payment_scheduledetail_id <> v_scheduledetailid;
               END IF;
 
-              IF (v_differenceamount > 0) THEN
+              IF (v_differenceamount <> 0) THEN
                 -- continue with the same payment schedule detail
                 fetch_next_order_item := false;
                 v_new_scheduledetailid := get_uuid();
diff -r 5744448753e7 -r b8c828c166bc 
modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_ORD.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_ORD.xml
     Sat Aug 06 05:08:35 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_ORD.xml
     Tue Aug 16 13:20:46 2011 +0200
@@ -125,7 +125,7 @@
       --amount generated on the invoice completion, so we can safely set as 
paid amount the whole amount of the
       --payment plan.
       FOR cur_invoicepayments IN (
-        SELECT psd.fin_payment_scheduledetail_id, ps.paidamt
+        SELECT distinct psd.fin_payment_scheduledetail_id, ps.paidamt
         FROM fin_payment_scheduledetail psd, c_orderline ol, c_invoiceline il, 
fin_payment_schedule ps
         WHERE ol.c_order_id = p_record_id
           AND ol.c_orderline_id = il.c_orderline_id
diff -r 5744448753e7 -r b8c828c166bc 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml 
    Sat Aug 06 05:08:35 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml 
    Tue Aug 16 13:20:46 2011 +0200
@@ -6,7 +6,7 @@
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <NAME><![CDATA[Advanced Payables and 
Receivables Mngmt]]></NAME>
-<!--A918E3331C404B889D69AA9BFAFB23AC-->  
<VERSION><![CDATA[3.0.13445]]></VERSION>
+<!--A918E3331C404B889D69AA9BFAFB23AC-->  
<VERSION><![CDATA[3.0.13515]]></VERSION>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <DESCRIPTION><![CDATA[Managing your 
finances with an ERP does not have to be difficult. Enjoy a radically improved 
user experience that combines the power of an enterprise grade financial 
application with the simplicity and ease of a web 2.0 personal accounting 
service.]]></DESCRIPTION>
 <!--A918E3331C404B889D69AA9BFAFB23AC-->  <HELP><![CDATA[Advanced Payables and 
Receivables Management simplifies and automates the business processes around 
the management of financial accounts, from the receipt and issue of payment, to 
the reconciliation of those events with bank statements.
 If you would like to help shape this module you are welcome to take part in 
the forum discussions or register feature requests or issues in the 
corresponding (Forum and Bug Tracking) sections in the Advanced Payables and 
Receivable project in the OB Forge.]]></HELP>
diff -r 5744448753e7 -r b8c828c166bc 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
  Sat Aug 06 05:08:35 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml
  Tue Aug 16 13:20:46 2011 +0200
@@ -7,7 +7,7 @@
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_DEPENDENT_MODULE_ID>
-<!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<STARTVERSION><![CDATA[2.1.13445]]></STARTVERSION>
+<!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<STARTVERSION><![CDATA[2.1.13515]]></STARTVERSION>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  <DEPENDANT_MODULE_NAME><![CDATA[User 
Interface Selector]]></DEPENDANT_MODULE_NAME>
 <!--89326AE95DAD449D85DFAB2C5B1C6683-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
@@ -21,7 +21,7 @@
 <!--B97FC854C6DD41E692161585645A900F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
 <!--B97FC854C6DD41E692161585645A900F-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--B97FC854C6DD41E692161585645A900F-->  
<AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID>
-<!--B97FC854C6DD41E692161585645A900F-->  
<STARTVERSION><![CDATA[3.0.13445]]></STARTVERSION>
+<!--B97FC854C6DD41E692161585645A900F-->  
<STARTVERSION><![CDATA[3.0.13515]]></STARTVERSION>
 <!--B97FC854C6DD41E692161585645A900F-->  <ISINCLUDED><![CDATA[N]]></ISINCLUDED>
 <!--B97FC854C6DD41E692161585645A900F-->  
<DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME>
 <!--B97FC854C6DD41E692161585645A900F-->  
<DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT>
diff -r 5744448753e7 -r b8c828c166bc 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.java
      Sat Aug 06 05:08:35 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.java
      Tue Aug 16 13:20:46 2011 +0200
@@ -176,7 +176,7 @@
             if (strDifferenceAction.equals("refund")) {
               Boolean newPayment = 
!payment.getFINPaymentDetailList().isEmpty();
               FIN_Payment refundPayment = 
FIN_AddPayment.createRefundPayment(this, vars, payment,
-                  refundAmount.negate());
+                  refundAmount.negate(), exchangeRate);
               OBError auxMessage = FIN_AddPayment.processPayment(vars, this,
                   (strAction.equals("PRP") || strAction.equals("PPP")) ? "P" : 
"D", refundPayment);
               if (newPayment) {
diff -r 5744448753e7 -r b8c828c166bc 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.java
  Sat Aug 06 05:08:35 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.java
  Tue Aug 16 13:20:46 2011 +0200
@@ -228,7 +228,7 @@
             if (strDifferenceAction.equals("refund")) {
               Boolean newPayment = 
!payment.getFINPaymentDetailList().isEmpty();
               FIN_Payment refundPayment = 
FIN_AddPayment.createRefundPayment(this, vars, payment,
-                  refundAmount.negate());
+                  refundAmount.negate(), exchangeRate);
               OBError auxMessage = FIN_AddPayment.processPayment(vars, this,
                   (strAction.equals("PRP") || strAction.equals("PPP")) ? "P" : 
"D", refundPayment);
               if (newPayment) {
diff -r 5744448753e7 -r b8c828c166bc 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java
      Sat Aug 06 05:08:35 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java
      Tue Aug 16 13:20:46 2011 +0200
@@ -256,7 +256,7 @@
           if (strDifferenceAction.equals("refund")) {
             Boolean newPayment = !payment.getFINPaymentDetailList().isEmpty();
             FIN_Payment refundPayment = 
FIN_AddPayment.createRefundPayment(this, vars, payment,
-                refundAmount.negate());
+                refundAmount.negate(), exchangeRate);
             OBError auxMessage = FIN_AddPayment.processPayment(vars, this,
                 (strAction.equals("PRP") || strAction.equals("PPP")) ? "P" : 
"D", refundPayment);
             if (newPayment) {
@@ -520,8 +520,15 @@
     FIN_FinancialAccount account = 
OBDal.getInstance().get(FIN_FinancialAccount.class,
         strFinancialAccountId);
     BusinessPartner bp = OBDal.getInstance().get(BusinessPartner.class, 
strBusinessPartnerId);
-    paymentMethodComboHtml = FIN_Utility.getPaymentMethodList(
-        (bp != null && bp.getPaymentMethod() != null) ? 
bp.getPaymentMethod().getId() : null,
+    String paymentMethodId = null;
+    if (bp != null) {
+      if (isReceipt && bp.getPaymentMethod() != null) {
+        paymentMethodId = bp.getPaymentMethod().getId();
+      } else if (!isReceipt && bp.getPOPaymentMethod() != null) {
+        paymentMethodId = bp.getPOPaymentMethod().getId();
+      }
+    }
+    paymentMethodComboHtml = FIN_Utility.getPaymentMethodList(paymentMethodId,
         strFinancialAccountId, account.getOrganization().getId(), true, true, 
isReceipt);
 
     response.setContentType("text/html; charset=UTF-8");
diff -r 5744448753e7 -r b8c828c166bc 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java
 Sat Aug 06 05:08:35 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java
 Tue Aug 16 13:20:46 2011 +0200
@@ -351,19 +351,17 @@
    *         in other cases.
    */
   private boolean isPaymentMethodConfigured(Invoice invoice) {
-    boolean paymentMethodConfigOk = false;
     final FIN_FinancialAccount bpFinAccount = invoice.isSalesTransaction() ? 
invoice
         .getBusinessPartner().getAccount() : 
invoice.getBusinessPartner().getPOFinancialAccount();
     if (bpFinAccount != null) {
       for (final FinAccPaymentMethod bpFinAccPaymentMethod : bpFinAccount
           .getFinancialMgmtFinAccPaymentMethodList()) {
         if 
(bpFinAccPaymentMethod.getPaymentMethod().equals(invoice.getPaymentMethod())) {
-          paymentMethodConfigOk = true;
-          break;
+          return true;
         }
       }
     }
-    return paymentMethodConfigOk;
+    return false;
   }
 
   public String getServletInfo() {
diff -r 5744448753e7 -r b8c828c166bc 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/TransactionsDao.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/TransactionsDao.java
    Sat Aug 06 05:08:35 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/TransactionsDao.java
    Tue Aug 16 13:20:46 2011 +0200
@@ -26,6 +26,7 @@
 import java.util.List;
 
 import org.hibernate.criterion.Restrictions;
+import org.openbravo.advpaymentmngt.utility.FIN_Utility;
 import org.openbravo.base.exception.OBException;
 import org.openbravo.base.provider.OBProvider;
 import org.openbravo.base.secureApp.VariablesSecureApp;
@@ -109,12 +110,14 @@
               payment.getDescription().length() > 254 ? 254 : 
payment.getDescription().length()));
       newTransaction.setClient(payment.getClient());
       newTransaction.setLineNo(getTransactionMaxLineNo(payment.getAccount()) + 
10);
-      newTransaction
-          
.setDepositAmount(payment.getDocumentType().getDocumentCategory().equals("ARR") 
? payment
-              .getFinancialTransactionAmount() : BigDecimal.ZERO);
-      newTransaction
-          
.setPaymentAmount(payment.getDocumentType().getDocumentCategory().equals("ARR") 
? BigDecimal.ZERO
-              : payment.getFinancialTransactionAmount());
+
+      BigDecimal depositAmt = 
FIN_Utility.getDepositAmount(payment.getDocumentType()
+          .getDocumentCategory().equals("ARR"), 
payment.getFinancialTransactionAmount());
+      BigDecimal paymentAmt = 
FIN_Utility.getPaymentAmount(payment.getDocumentType()
+          .getDocumentCategory().equals("ARR"), 
payment.getFinancialTransactionAmount());
+
+      newTransaction.setDepositAmount(depositAmt);
+      newTransaction.setPaymentAmount(paymentAmt);
       newTransaction.setStatus(newTransaction.getDepositAmount().compareTo(
           newTransaction.getPaymentAmount()) > 0 ? "RPR" : "PPM");
       if (!newTransaction.getCurrency().equals(payment.getCurrency())) {
diff -r 5744448753e7 -r b8c828c166bc 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_AddPayment.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_AddPayment.java
 Sat Aug 06 05:08:35 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_AddPayment.java
 Tue Aug 16 13:20:46 2011 +0200
@@ -227,6 +227,12 @@
 
   public static FIN_Payment createRefundPayment(ConnectionProvider conProvider,
       VariablesSecureApp vars, FIN_Payment payment, BigDecimal refundAmount) {
+    return createRefundPayment(conProvider, vars, payment, refundAmount, null);
+  }
+
+  public static FIN_Payment createRefundPayment(ConnectionProvider conProvider,
+      VariablesSecureApp vars, FIN_Payment payment, BigDecimal refundAmount,
+      BigDecimal conversionRate) {
     dao = new AdvPaymentMngtDao();
     FIN_Payment refundPayment;
     if (payment.getFINPaymentDetailList().isEmpty())
@@ -249,6 +255,8 @@
     refundPayment.setAmount(refundAmount);
     refundPayment.setUsedCredit(refundAmount.negate());
 
+    setFinancialTransactionAmountAndRate(refundPayment, conversionRate, null);
+
     FIN_PaymentScheduleDetail refundScheduleDetail = 
dao.getNewPaymentScheduleDetail(
         payment.getOrganization(), refundAmount);
     dao.getNewPaymentDetail(refundPayment, refundScheduleDetail, refundAmount, 
BigDecimal.ZERO,
diff -r 5744448753e7 -r b8c828c166bc 
modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml
--- a/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml  
Sat Aug 06 05:08:35 2011 +0200
+++ b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml  
Tue Aug 16 13:20:46 2011 +0200

------------------------------------------------------------------------------
uberSVN's rich system and user administration capabilities and model 
configuration take the hassle out of deploying and managing Subversion and 
the tools developers use with it. Learn more about uberSVN and get a free 
download at:  http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to