details:   /erp/devel/pi/rev/fd2ebd8cd24a
changeset: 9854:fd2ebd8cd24a
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Mon Jan 17 12:47:26 2011 +0100
summary:   Fixes bug 0015590: Make Payment (with APRM 1.0.7 installed) on 
OB25MP23 Professional Edition

details:   /erp/devel/pi/rev/df625d38dde1
changeset: 9855:df625d38dde1
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Mon Jan 17 12:48:30 2011 +0100
summary:   Fixes some descriptions

details:   /erp/devel/pi/rev/a3a2b0bc04cc
changeset: 9856:a3a2b0bc04cc
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Mon Jan 17 12:49:12 2011 +0100
summary:   Adds some messages for match against document

details:   /erp/devel/pi/rev/632508a83678
changeset: 9857:632508a83678
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Mon Jan 17 12:51:02 2011 +0100
summary:   Changes to matching popup for matching against document and 
unmatching (clearing of info)

details:   /erp/devel/pi/rev/c9ee8c3d32f4
changeset: 9858:c9ee8c3d32f4
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Mon Jan 17 12:51:28 2011 +0100
summary:   Adds text interfaces for changes in matching popup

details:   /erp/devel/pi/rev/b579925253c4
changeset: 9859:b579925253c4
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Mon Jan 17 12:52:56 2011 +0100
summary:   Adds new column to transactions an payments to recognize when 
records are created by algorithm

details:   /erp/devel/pi/rev/99069aeec03b
changeset: 9860:99069aeec03b
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Mon Jan 17 12:54:36 2011 +0100
summary:   Adds Dictionary columns for flags in payment and transaction and new 
accounts for bank statement import

details:   /erp/devel/pi/rev/4383eeeb528d
changeset: 9861:4383eeeb528d
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Mon Jan 17 12:55:05 2011 +0100
summary:   Changes to bank statement accounting

details:   /erp/devel/pi/rev/608da19c0c20
changeset: 9862:608da19c0c20
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Mon Jan 17 12:56:07 2011 +0100
summary:   fixes amounts error

details:   /erp/devel/pi/rev/1c4ede57f46f
changeset: 9863:1c4ede57f46f
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Mon Jan 17 13:00:32 2011 +0100
summary:   Adds admin mode to proces invoice

details:   /erp/devel/pi/rev/72199f25732f
changeset: 9864:72199f25732f
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Mon Jan 17 13:01:58 2011 +0100
summary:   Adds manual match type

details:   /erp/devel/pi/rev/e9a1d58914c1
changeset: 9865:e9a1d58914c1
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Mon Jan 17 13:02:25 2011 +0100
summary:   Changes to invoice matching algorithm

details:   /erp/devel/pi/rev/7834da68fac2
changeset: 9866:7834da68fac2
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Mon Jan 17 13:03:14 2011 +0100
summary:   Breaks API for matching algorithm. Now unmacthin logic is required

diffstat:

 modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml 
                                 |   55 +
 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml
                           |   11 +
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.html
     |   11 +
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.java
     |   66 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.xml
      |    1 +
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransactionGrid.srpt
 |    3 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransactionGrid.xml
  |    6 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java
       |   19 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_forms/Transactions.java
                |    4 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/algorithm/InvoiceMatchingAlgorithm.java
   |  317 +++++++++-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/algorithm/StandardMatchingAlgorithm.java
  |    4 +
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java
                |    5 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_MatchedTransaction.java
       |    1 +
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_MatchingAlgorithm.java
        |    2 +
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_MatchingTransaction.java
      |    9 +
 src-db/database/model/tables/FIN_FINACC_TRANSACTION.xml                        
                                 |    6 +
 src-db/database/model/tables/FIN_FINANCIAL_ACCOUNT_ACCT.xml                    
                                 |    8 +
 src-db/database/model/tables/FIN_PAYMENT.xml                                   
                                 |    6 +
 src-db/database/sourcedata/AD_COLUMN.xml                                       
                                 |  136 ++++
 src-db/database/sourcedata/AD_ELEMENT.xml                                      
                                 |   39 +
 src-db/database/sourcedata/AD_FIELD.xml                                        
                                 |   77 ++-
 src-db/database/sourcedata/AD_TEXTINTERFACES.xml                               
                                 |   42 -
 src/org/openbravo/erpCommon/ad_forms/AcctServer.java                           
                                 |    2 +
 src/org/openbravo/erpCommon/ad_forms/DocFINBankStatement.java                  
                                 |   16 +-
 24 files changed, 767 insertions(+), 79 deletions(-)

diffs (truncated from 1361 to 300 lines):

diff -r 26503aaa5d6d -r 7834da68fac2 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml
    Mon Jan 17 12:53:57 2011 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml
    Mon Jan 17 13:03:14 2011 +0100
@@ -88,6 +88,17 @@
 <!--2FD618C9D5064C75BFF13B57B767C912-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--2FD618C9D5064C75BFF13B57B767C912--></AD_MESSAGE>
 
+<!--40AB261679C541FD92AB5970B6703811--><AD_MESSAGE>
+<!--40AB261679C541FD92AB5970B6703811-->  
<AD_MESSAGE_ID><![CDATA[40AB261679C541FD92AB5970B6703811]]></AD_MESSAGE_ID>
+<!--40AB261679C541FD92AB5970B6703811-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--40AB261679C541FD92AB5970B6703811-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--40AB261679C541FD92AB5970B6703811-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--40AB261679C541FD92AB5970B6703811-->  <VALUE><![CDATA[APRM_Order]]></VALUE>
+<!--40AB261679C541FD92AB5970B6703811-->  <MSGTEXT><![CDATA[Order]]></MSGTEXT>
+<!--40AB261679C541FD92AB5970B6703811-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--40AB261679C541FD92AB5970B6703811-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--40AB261679C541FD92AB5970B6703811--></AD_MESSAGE>
+
 <!--4329807E1B00477B8A87C32A2B123DFB--><AD_MESSAGE>
 <!--4329807E1B00477B8A87C32A2B123DFB-->  
<AD_MESSAGE_ID><![CDATA[4329807E1B00477B8A87C32A2B123DFB]]></AD_MESSAGE_ID>
 <!--4329807E1B00477B8A87C32A2B123DFB-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -165,6 +176,17 @@
 <!--628371BCC5C54C88A4D5CFA24B6FEE1D-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--628371BCC5C54C88A4D5CFA24B6FEE1D--></AD_MESSAGE>
 
+<!--65A7E4455E2F41F1A3D5C71221E01DE5--><AD_MESSAGE>
+<!--65A7E4455E2F41F1A3D5C71221E01DE5-->  
<AD_MESSAGE_ID><![CDATA[65A7E4455E2F41F1A3D5C71221E01DE5]]></AD_MESSAGE_ID>
+<!--65A7E4455E2F41F1A3D5C71221E01DE5-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--65A7E4455E2F41F1A3D5C71221E01DE5-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--65A7E4455E2F41F1A3D5C71221E01DE5-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--65A7E4455E2F41F1A3D5C71221E01DE5-->  
<VALUE><![CDATA[APRM_Payment]]></VALUE>
+<!--65A7E4455E2F41F1A3D5C71221E01DE5-->  <MSGTEXT><![CDATA[Payment]]></MSGTEXT>
+<!--65A7E4455E2F41F1A3D5C71221E01DE5-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--65A7E4455E2F41F1A3D5C71221E01DE5-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--65A7E4455E2F41F1A3D5C71221E01DE5--></AD_MESSAGE>
+
 <!--677879BD3D72467AA2D646765E596E4F--><AD_MESSAGE>
 <!--677879BD3D72467AA2D646765E596E4F-->  
<AD_MESSAGE_ID><![CDATA[677879BD3D72467AA2D646765E596E4F]]></AD_MESSAGE_ID>
 <!--677879BD3D72467AA2D646765E596E4F-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -176,6 +198,17 @@
 <!--677879BD3D72467AA2D646765E596E4F-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--677879BD3D72467AA2D646765E596E4F--></AD_MESSAGE>
 
+<!--69DFFBA66CC1446B867FEA30A9DE15A4--><AD_MESSAGE>
+<!--69DFFBA66CC1446B867FEA30A9DE15A4-->  
<AD_MESSAGE_ID><![CDATA[69DFFBA66CC1446B867FEA30A9DE15A4]]></AD_MESSAGE_ID>
+<!--69DFFBA66CC1446B867FEA30A9DE15A4-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--69DFFBA66CC1446B867FEA30A9DE15A4-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--69DFFBA66CC1446B867FEA30A9DE15A4-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--69DFFBA66CC1446B867FEA30A9DE15A4-->  <VALUE><![CDATA[APRM_Credit]]></VALUE>
+<!--69DFFBA66CC1446B867FEA30A9DE15A4-->  <MSGTEXT><![CDATA[Credit 
payment]]></MSGTEXT>
+<!--69DFFBA66CC1446B867FEA30A9DE15A4-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--69DFFBA66CC1446B867FEA30A9DE15A4-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--69DFFBA66CC1446B867FEA30A9DE15A4--></AD_MESSAGE>
+
 <!--6BD1C3CCCCC74E30BCA8E9B73AC6946C--><AD_MESSAGE>
 <!--6BD1C3CCCCC74E30BCA8E9B73AC6946C-->  
<AD_MESSAGE_ID><![CDATA[6BD1C3CCCCC74E30BCA8E9B73AC6946C]]></AD_MESSAGE_ID>
 <!--6BD1C3CCCCC74E30BCA8E9B73AC6946C-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -319,6 +352,17 @@
 <!--9C50BA94A0294449A16B26A91F8F06C4-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--9C50BA94A0294449A16B26A91F8F06C4--></AD_MESSAGE>
 
+<!--A170443009114AFE88C11A0EFD059DF1--><AD_MESSAGE>
+<!--A170443009114AFE88C11A0EFD059DF1-->  
<AD_MESSAGE_ID><![CDATA[A170443009114AFE88C11A0EFD059DF1]]></AD_MESSAGE_ID>
+<!--A170443009114AFE88C11A0EFD059DF1-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--A170443009114AFE88C11A0EFD059DF1-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--A170443009114AFE88C11A0EFD059DF1-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--A170443009114AFE88C11A0EFD059DF1-->  
<VALUE><![CDATA[APRM_Transaction]]></VALUE>
+<!--A170443009114AFE88C11A0EFD059DF1-->  
<MSGTEXT><![CDATA[Transaction]]></MSGTEXT>
+<!--A170443009114AFE88C11A0EFD059DF1-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--A170443009114AFE88C11A0EFD059DF1-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--A170443009114AFE88C11A0EFD059DF1--></AD_MESSAGE>
+
 <!--A1A9F90FED00486E8973E5061D22E0E1--><AD_MESSAGE>
 <!--A1A9F90FED00486E8973E5061D22E0E1-->  
<AD_MESSAGE_ID><![CDATA[A1A9F90FED00486E8973E5061D22E0E1]]></AD_MESSAGE_ID>
 <!--A1A9F90FED00486E8973E5061D22E0E1-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -473,6 +517,17 @@
 <!--E217A4F4BDE84DC6A95ACB3F54549FDD-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--E217A4F4BDE84DC6A95ACB3F54549FDD--></AD_MESSAGE>
 
+<!--EFA31753A0BB4C4AB3E6BC741FEE811E--><AD_MESSAGE>
+<!--EFA31753A0BB4C4AB3E6BC741FEE811E-->  
<AD_MESSAGE_ID><![CDATA[EFA31753A0BB4C4AB3E6BC741FEE811E]]></AD_MESSAGE_ID>
+<!--EFA31753A0BB4C4AB3E6BC741FEE811E-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--EFA31753A0BB4C4AB3E6BC741FEE811E-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--EFA31753A0BB4C4AB3E6BC741FEE811E-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--EFA31753A0BB4C4AB3E6BC741FEE811E-->  
<VALUE><![CDATA[APRM_Invoice]]></VALUE>
+<!--EFA31753A0BB4C4AB3E6BC741FEE811E-->  <MSGTEXT><![CDATA[Invoice]]></MSGTEXT>
+<!--EFA31753A0BB4C4AB3E6BC741FEE811E-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--EFA31753A0BB4C4AB3E6BC741FEE811E-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--EFA31753A0BB4C4AB3E6BC741FEE811E--></AD_MESSAGE>
+
 <!--F302E4040E1B45318BA270BDFA37179C--><AD_MESSAGE>
 <!--F302E4040E1B45318BA270BDFA37179C-->  
<AD_MESSAGE_ID><![CDATA[F302E4040E1B45318BA270BDFA37179C]]></AD_MESSAGE_ID>
 <!--F302E4040E1B45318BA270BDFA37179C-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 26503aaa5d6d -r 7834da68fac2 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml
     Mon Jan 17 12:53:57 2011 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml
     Mon Jan 17 13:03:14 2011 +0100
@@ -2035,6 +2035,17 @@
 <!--A2E3CEC67D004E7C9BADAB2FD4719E8F-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--A2E3CEC67D004E7C9BADAB2FD4719E8F--></AD_TEXTINTERFACES>
 
+<!--A437061218404865BF781A13704403AB--><AD_TEXTINTERFACES>
+<!--A437061218404865BF781A13704403AB-->  
<AD_TEXTINTERFACES_ID><![CDATA[A437061218404865BF781A13704403AB]]></AD_TEXTINTERFACES_ID>
+<!--A437061218404865BF781A13704403AB-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--A437061218404865BF781A13704403AB-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--A437061218404865BF781A13704403AB-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--A437061218404865BF781A13704403AB-->  <TEXT><![CDATA[Matched 
Document]]></TEXT>
+<!--A437061218404865BF781A13704403AB-->  
<FILENAME><![CDATA[/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.html]]></FILENAME>
+<!--A437061218404865BF781A13704403AB-->  <ISUSED><![CDATA[Y]]></ISUSED>
+<!--A437061218404865BF781A13704403AB-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--A437061218404865BF781A13704403AB--></AD_TEXTINTERFACES>
+
 <!--A4663E5CA5AF44FB9F2DF3F1586E9432--><AD_TEXTINTERFACES>
 <!--A4663E5CA5AF44FB9F2DF3F1586E9432-->  
<AD_TEXTINTERFACES_ID><![CDATA[A4663E5CA5AF44FB9F2DF3F1586E9432]]></AD_TEXTINTERFACES_ID>
 <!--A4663E5CA5AF44FB9F2DF3F1586E9432-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 26503aaa5d6d -r 7834da68fac2 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.html
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.html
       Mon Jan 17 12:53:57 2011 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.html
       Mon Jan 17 13:03:14 2011 +0100
@@ -64,6 +64,7 @@
   }
   document.getElementById("inpFinancialTransactionId_" + 
sc_FIN_FinAcc_Transaction_ID.bslId).value = selected.id;
   document.getElementById("inpTransactionDate_" + 
sc_FIN_FinAcc_Transaction_ID.bslId).innerHTML = 
OB.Utilities.Date.JSToOB(selected.transactionDate, sc_JsDateFormat);
+  document.getElementById("inpMatchedDocument_" + 
sc_FIN_FinAcc_Transaction_ID.bslId).innerHTML = 
document.getElementById("paraMatchedAgainstTransaction").value;
   document.getElementById("inpBPartner_" + 
sc_FIN_FinAcc_Transaction_ID.bslId).innerHTML = 
selected["finPayment.businessPartner._identifier"]==undefined?'':selected["finPayment.businessPartner._identifier"];
   document.getElementById("inpReferenceNo_" + 
sc_FIN_FinAcc_Transaction_ID.bslId).innerHTML = 
selected["finPayment.referenceNo"]==undefined?'':selected["finPayment.referenceNo"];
   document.getElementById("inpAmount_" + 
sc_FIN_FinAcc_Transaction_ID.bslId).innerHTML = 
subtract(selected.depositAmount, selected.paymentAmount);
@@ -95,6 +96,14 @@
 function unMatchLine(bankStatementLineId, isChecked) {
   if (!isChecked) {
     document.frmMain.inpFinBankStatementLineId.value = bankStatementLineId;
+    document.getElementById("inpMatchedDocument_" + 
bankStatementLineId).innerHTML = "";
+    document.getElementById("inpTransactionDate_" + 
bankStatementLineId).innerHTML = "";
+    document.getElementById("inpBPartner_" + bankStatementLineId).innerHTML = 
"";
+    document.getElementById("inpReferenceNo_" + bankStatementLineId).innerHTML 
= "";
+    document.getElementById("inpAmount_" + bankStatementLineId).innerHTML = "";
+    document.getElementById("inpFinancialTransactionId_" + 
bankStatementLineId).value = "";
+    document.getElementById("inpMatchStyle_" + 
bankStatementLineId).style.backgroundColor = "white";
+    document.getElementById("inpMatchingType_" + bankStatementLineId).value = 
"";
     sendActionToServer("UNMATCH");
   }
   return true;
@@ -231,6 +240,7 @@
 <form name="frmMain" method="post" action="MatchTransaction.html">
   <input type="hidden" name="Command" />
   <input type="hidden" name="IsPopUpCall" value="1" />
+  <input type="hidden" name="paraMatchedAgainstTransaction" 
value="xxTransaction" id="paraMatchedAgainstTransaction"/>
   <input type="hidden" name="inpadOrgId" value="" id="fieldOrg"/>
   <input type="hidden" name="inpwindowId" value="MBS" id="fieldWindowId"/>
   <input type="hidden" name="inpTabId" value="" id="fieldTabId"/>
@@ -479,6 +489,7 @@
                         <th class="DataGrid_Header_Cell" 
width="100">Reference</th>
                         <th class="DataGrid_Header_Cell 
DataGrid_Header_Cell_Inverse" width="100">Amount</th>
                         <th class="DataGrid_Header_Cell" style="text-align: 
center;" width="100">Match</th>
+                        <th class="DataGrid_Header_Cell" width="70">Matched 
Document</th>
                         <th class="DataGrid_Header_Cell" width="70">Date</th>
                         <th class="DataGrid_Header_Cell" width="100">Bus. 
Partner</th>
                         <th class="DataGrid_Header_Cell" 
width="100">Reference</th>
diff -r 26503aaa5d6d -r 7834da68fac2 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.java
       Mon Jan 17 12:53:57 2011 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.java
       Mon Jan 17 13:03:14 2011 +0100
@@ -294,6 +294,7 @@
     xmlDocument.setParameter("directory", "var baseDirectory = \"" + 
strReplaceWith + "/\";\n");
     xmlDocument.setParameter("paramLanguage", "defaultLang=\"" + 
vars.getLanguage() + "\";");
     xmlDocument.setParameter("theme", vars.getTheme());
+    final String MATCHED_AGAINST_TRANSACTION = 
FIN_Utility.messageBD("APRM_Transaction");
 
     FIN_Reconciliation reconciliation = 
OBDal.getInstance().get(FIN_Reconciliation.class,
         reconciliationId);
@@ -303,6 +304,7 @@
     xmlDocument.setParameter("orgId", strOrgId);
     xmlDocument.setParameter("financialAccountId", strFinancialAccountId);
     xmlDocument.setParameter("reconciliationId", reconciliationId);
+    xmlDocument.setParameter("matchedAgainstTransaction", 
MATCHED_AGAINST_TRANSACTION);
 
     String dateFormat = 
OBPropertiesProvider.getInstance().getOpenbravoProperties().getProperty(
         "dateFormat.java");
@@ -415,6 +417,12 @@
         OBDal.getInstance().flush();
       }
 
+      // Execute un-matching logic defined by algorithm
+      MatchingAlgorithm ma = 
bsline.getBankStatement().getAccount().getMatchingAlgorithm();
+      FIN_MatchingTransaction matchingTransaction = new 
FIN_MatchingTransaction(ma
+          .getJavaClassName());
+      matchingTransaction.unmatch(finTrans);
+
       response.setContentType("text/html; charset=UTF-8");
       PrintWriter out = response.getWriter();
       out.println("");
@@ -450,6 +458,7 @@
         final String COLOR_STRONG = "#66CC00";
         final String COLOR_WEAK = "#99CC66";
         final String COLOR_WHITE = "white";
+        boolean alreadyMatched = false;
 
         String matchingType = FIN_BankStatementLines[i].getMatchingtype();
         FIN_FinaccTransaction transaction = FIN_BankStatementLines[i]
@@ -465,18 +474,25 @@
             matched = new FIN_MatchedTransaction(null, 
FIN_MatchedTransaction.NOMATCH);
           }
           transaction = matched.getTransaction();
-          // if (transaction != null) {
-          // FIN_BankStatementLine bsl = FIN_BankStatementLines[i];
-          // bsl.setFinancialAccountTransaction(transaction);
-          // bsl.setMatchingtype(matched.getMatchLevel());
-          // // FIXME payment CLEARING
-          // OBDal.getInstance().save(transaction);
-          // OBDal.getInstance().save(bsl);
-          // OBDal.getInstance().flush();
-          // }
+          if (transaction != null) {
+            FIN_BankStatementLine bsl = FIN_BankStatementLines[i];
+            bsl.setFinancialAccountTransaction(transaction);
+            bsl.setMatchingtype(matched.getMatchLevel());
+            transaction.setStatus("RPPC");
+            
transaction.setReconciliation(MatchTransactionDao.getObject(FIN_Reconciliation.class,
+                strReconciliationId));
+            if (transaction.getFinPayment() != null) {
+              transaction.getFinPayment().setStatus("RPPC");
+            }
+            OBDal.getInstance().save(transaction);
+            OBDal.getInstance().save(bsl);
+            OBDal.getInstance().flush();
+          }
           excluded.add(transaction);
           matchingType = matched.getMatchLevel();
 
+        } else {
+          alreadyMatched = true;
         }
 
         FieldProviderFactory.setField(data[i], "rownum", Integer.toString(i + 
1));
@@ -491,21 +507,41 @@
         // CREDIT - DEBIT
         FieldProviderFactory.setField(data[i], "bankLineAmount", 
FIN_BankStatementLines[i]
             
.getCramount().subtract(FIN_BankStatementLines[i].getDramount()).toString());
-        FieldProviderFactory.setField(data[i], "matchStyle", 
FIN_MatchedTransaction.STRONG
-            .equals(matchingType) ? COLOR_STRONG : 
((FIN_MatchedTransaction.WEAK
-            .equals(matchingType)) ? COLOR_WEAK : 
((FIN_MatchedTransaction.NOMATCH
-            .equals(matchingType)) ? COLOR_WHITE : matchingType)));
+        FieldProviderFactory
+            .setField(
+                data[i],
+                "matchStyle",
+                FIN_MatchedTransaction.STRONG.equals(matchingType) ? 
COLOR_STRONG
+                    : ((FIN_MatchedTransaction.WEAK.equals(matchingType)) ? 
COLOR_WEAK
+                        : 
((FIN_MatchedTransaction.NOMATCH.equals(matchingType) || 
FIN_MatchedTransaction.MANUALMATCH
+                            .equals(matchingType)) ? COLOR_WHITE : 
matchingType)));
         FieldProviderFactory.setField(data[i], "matchingType", matchingType);
 
         if (transaction != null) {
+          final String MATCHED_AGAINST_TRANSACTION = 
FIN_Utility.messageBD("APRM_Transaction");
+          final String MATCHED_AGAINST_PAYMENT = 
FIN_Utility.messageBD("APRM_Payment");
+          final String MATCHED_AGAINST_INVOICE = 
FIN_Utility.messageBD("APRM_Invoice");
+          final String MATCHED_AGAINST_ORDER = 
FIN_Utility.messageBD("APRM_Order");
+          final String MATCHED_AGAINST_CREDIT = 
FIN_Utility.messageBD("APRM_Credit");
           FieldProviderFactory.setField(data[i], "disabled", "N");
           // Auto Matching or already matched
-          FieldProviderFactory.setField(data[i], "checked", 
(FIN_MatchedTransaction.STRONG
-              .equals(matchingType) || transaction.getReconciliation() != 
null) ? "Y" : "N");
+          FieldProviderFactory.setField(data[i], "checked", 
FIN_MatchedTransaction.STRONG
+              .equals(matchingType)
+              || alreadyMatched ? "Y" : "N");
           FieldProviderFactory.setField(data[i], "finTransactionId", 
transaction.getId());
           FieldProviderFactory.setField(data[i], "transactionDate", 
Utility.formatDate(transaction
               .getTransactionDate().compareTo(reconciliation.getEndingDate()) 
> 0 ? reconciliation
               .getEndingDate() : transaction.getTransactionDate(), 
vars.getJavaDateFormat()));
+          FieldProviderFactory.setField(data[i], "matchedDocument", 
!transaction
+              .isCreatedByAlgorithm() ? MATCHED_AGAINST_TRANSACTION : 
(!transaction.getFinPayment()
+              .isCreatedByAlgorithm() ? MATCHED_AGAINST_PAYMENT : 
(transaction.getFinPayment()
+              
.getFINPaymentDetailList().get(0).getFINPaymentScheduleDetailList().get(0)
+              .getInvoicePaymentSchedule() == null && 
transaction.getFinPayment()
+              
.getFINPaymentDetailList().get(0).getFINPaymentScheduleDetailList().get(0)
+              .getOrderPaymentSchedule() == null) ? MATCHED_AGAINST_CREDIT : 
(transaction
+              
.getFinPayment().getFINPaymentDetailList().get(0).getFINPaymentScheduleDetailList()
+              .get(0).getInvoicePaymentSchedule() != null ? 
MATCHED_AGAINST_INVOICE
+              : MATCHED_AGAINST_ORDER)));
           FieldProviderFactory.setField(data[i], "transactionBPartner",
               transaction.getFinPayment() != null ? transaction.getFinPayment()
                   .getBusinessPartner().getName() : "");
diff -r 26503aaa5d6d -r 7834da68fac2 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.xml
        Mon Jan 17 12:53:57 2011 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransaction.xml
        Mon Jan 17 13:03:14 2011 +0100
@@ -39,6 +39,7 @@
     <PARAMETER id="inpShowCleared" name="showCleared" boolean="checked" 
withId="paramChecked"/>
     <PARAMETER id="fieldhideDate" name="hideDate" boolean="checked" 
withId="paramChecked"/>
     <PARAMETER id="paramPaymentTypeFilter" name="paramPaymentTypeFilter"/>
+    <PARAMETER id="paraMatchedAgainstTransaction" 
name="matchedAgainstTransaction" attribute="value"/>
     <SUBREPORT id="inpPaymentTypeFilter" name="reportPaymentTypeFilter" 
report="org/openbravo/erpCommon/reference/List">
       <ARGUMENT name="parameterListSelected" withId="paramPaymentTypeFilter"/>
     </SUBREPORT>
diff -r 26503aaa5d6d -r 7834da68fac2 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransactionGrid.srpt
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransactionGrid.srpt
   Mon Jan 17 12:53:57 2011 +0100
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/MatchTransactionGrid.srpt
   Mon Jan 17 13:03:14 2011 +0100
@@ -26,7 +26,7 @@
     <td class="DataGrid_Body_Cell"><span id="fieldBLBusinessPartner">xxBP 
Name</span></td>
     <td class="DataGrid_Body_Cell"><span 
id="fieldBLReferenceNo">xx11100011</span></td>
     <td class="DataGrid_Body_Cell_Amount"><span 
id="fieldAmount">xx12233</span></td>
-    <td class="DataGrid_Body_LineNoCell" style="background-color: xx;" 
id="fieldMatchStyle">
+    <td class="DataGrid_Body_LineNoCell" style="background-color: xx;" 
id="inpMatchStyle_xx" name="inpMatchStyle_xx">
       <a href="#" onClick="openSelector('xx');" id="fieldFindLink">find</a>

------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to