details:   https://code.openbravo.com/erp/devel/pi/rev/f7657cc77788
changeset: 17959:f7657cc77788
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Fri Sep 14 20:14:05 2012 +0200
summary:   Fixed issue 21415 Ability to define a write-off limit

details:   https://code.openbravo.com/erp/devel/pi/rev/1922c7ff8ac1
changeset: 17960:1922c7ff8ac1
user:      Sandra Huguet <sandra.huguet <at> openbravo.com>
date:      Fri Sep 14 13:52:11 2012 +0200
summary:   Related to issue 21415 Ability to define a write-off limit
Ability to define a write-off limit by amount per financial account
Commit Payment Proposal

diffstat:

 modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_FIELD.xml   
                                      |    1 +
 modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml 
                                      |   11 +
 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml
                                |   33 +++
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html
         |   10 +
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.java
         |   26 ++-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.xml
          |    6 +
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.html
     |   19 +
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.java
     |   38 +++-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.xml
      |    5 +
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.html
 |   10 +
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java
 |   14 +
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.xml
  |    7 +-
 
modules/org.openbravo.advpaymentmngt/web/org.openbravo.advpaymentmngt/FIN_Utilities.js
                               |   10 +-
 
modules/org.openbravo.advpaymentmngt/web/org.openbravo.advpaymentmngt/js/ob-aprm-utilities.js
                        |   10 +
 src-db/database/model/tables/FIN_FINANCIAL_ACCOUNT.xml                         
                                      |    8 +
 src-db/database/sourcedata/AD_COLUMN.xml                                       
                                      |  105 ++++++++++
 src-db/database/sourcedata/AD_ELEMENT.xml                                      
                                      |   40 +++
 src-db/database/sourcedata/AD_FIELD.xml                                        
                                      |   95 ++++++++-
 src-db/database/sourcedata/AD_REFERENCE.xml                                    
                                      |   12 +
 src-db/database/sourcedata/AD_REF_LIST.xml                                     
                                      |   34 +++
 src/org/openbravo/erpCommon/ad_callouts/SE_Payment_MultiCurrency.java          
                                      |    2 +
 21 files changed, 488 insertions(+), 8 deletions(-)

diffs (truncated from 892 to 300 lines):

diff -r 3fec9dfdd735 -r 1922c7ff8ac1 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_FIELD.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_FIELD.xml  
    Fri Sep 14 16:51:05 2012 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_FIELD.xml  
    Fri Sep 14 13:52:11 2012 +0200
@@ -13009,6 +13009,7 @@
 <!--BC1D6E2C80084926A4C0C50D50231568-->  
<STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
 <!--BC1D6E2C80084926A4C0C50D50231568-->  
<STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
 <!--BC1D6E2C80084926A4C0C50D50231568-->  
<ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--BC1D6E2C80084926A4C0C50D50231568-->  
<EM_OBUIAPP_VALIDATOR><![CDATA[OB.APRM.validatePaymentProposalPickAndEdit]]></EM_OBUIAPP_VALIDATOR>
 <!--BC1D6E2C80084926A4C0C50D50231568-->  
<EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
 <!--BC1D6E2C80084926A4C0C50D50231568--></AD_FIELD>
 
diff -r 3fec9dfdd735 -r 1922c7ff8ac1 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml
    Fri Sep 14 16:51:05 2012 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml
    Fri Sep 14 13:52:11 2012 +0200
@@ -231,6 +231,17 @@
 <!--49C16126D1A141C398175B0632C08F95-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--49C16126D1A141C398175B0632C08F95--></AD_MESSAGE>
 
+<!--4EA449F1999B4B01B02840DC7AF832D9--><AD_MESSAGE>
+<!--4EA449F1999B4B01B02840DC7AF832D9-->  
<AD_MESSAGE_ID><![CDATA[4EA449F1999B4B01B02840DC7AF832D9]]></AD_MESSAGE_ID>
+<!--4EA449F1999B4B01B02840DC7AF832D9-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--4EA449F1999B4B01B02840DC7AF832D9-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--4EA449F1999B4B01B02840DC7AF832D9-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--4EA449F1999B4B01B02840DC7AF832D9-->  
<VALUE><![CDATA[APRM_NotAllowWriteOff]]></VALUE>
+<!--4EA449F1999B4B01B02840DC7AF832D9-->  <MSGTEXT><![CDATA[This action is not 
allowed, write off limit exceeded]]></MSGTEXT>
+<!--4EA449F1999B4B01B02840DC7AF832D9-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--4EA449F1999B4B01B02840DC7AF832D9-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--4EA449F1999B4B01B02840DC7AF832D9--></AD_MESSAGE>
+
 <!--53ED8846C7984389AF83AC1DE983859E--><AD_MESSAGE>
 <!--53ED8846C7984389AF83AC1DE983859E-->  
<AD_MESSAGE_ID><![CDATA[53ED8846C7984389AF83AC1DE983859E]]></AD_MESSAGE_ID>
 <!--53ED8846C7984389AF83AC1DE983859E-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 3fec9dfdd735 -r 1922c7ff8ac1 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml
     Fri Sep 14 16:51:05 2012 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml
     Fri Sep 14 13:52:11 2012 +0200
@@ -407,6 +407,17 @@
 <!--3E2658BC7DB84BA5927989BB52FD1BF0-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--3E2658BC7DB84BA5927989BB52FD1BF0--></AD_TEXTINTERFACES>
 
+<!--3ED793E7D0FE4C098FE79C589C292B6E--><AD_TEXTINTERFACES>
+<!--3ED793E7D0FE4C098FE79C589C292B6E-->  
<AD_TEXTINTERFACES_ID><![CDATA[3ED793E7D0FE4C098FE79C589C292B6E]]></AD_TEXTINTERFACES_ID>
+<!--3ED793E7D0FE4C098FE79C589C292B6E-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--3ED793E7D0FE4C098FE79C589C292B6E-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--3ED793E7D0FE4C098FE79C589C292B6E-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--3ED793E7D0FE4C098FE79C589C292B6E-->  <TEXT><![CDATA[Write off the 
difference (Above limit)]]></TEXT>
+<!--3ED793E7D0FE4C098FE79C589C292B6E-->  
<FILENAME><![CDATA[/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html]]></FILENAME>
+<!--3ED793E7D0FE4C098FE79C589C292B6E-->  <ISUSED><![CDATA[Y]]></ISUSED>
+<!--3ED793E7D0FE4C098FE79C589C292B6E-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--3ED793E7D0FE4C098FE79C589C292B6E--></AD_TEXTINTERFACES>
+
 <!--3F26CEA4A0D9445EBC5B92785185D207--><AD_TEXTINTERFACES>
 <!--3F26CEA4A0D9445EBC5B92785185D207-->  
<AD_TEXTINTERFACES_ID><![CDATA[3F26CEA4A0D9445EBC5B92785185D207]]></AD_TEXTINTERFACES_ID>
 <!--3F26CEA4A0D9445EBC5B92785185D207-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -869,6 +880,17 @@
 <!--745D4AD864BB431BB56352040E0E9C84-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--745D4AD864BB431BB56352040E0E9C84--></AD_TEXTINTERFACES>
 
+<!--753CC44B776D4A55901CAD9D92D458AE--><AD_TEXTINTERFACES>
+<!--753CC44B776D4A55901CAD9D92D458AE-->  
<AD_TEXTINTERFACES_ID><![CDATA[753CC44B776D4A55901CAD9D92D458AE]]></AD_TEXTINTERFACES_ID>
+<!--753CC44B776D4A55901CAD9D92D458AE-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--753CC44B776D4A55901CAD9D92D458AE-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--753CC44B776D4A55901CAD9D92D458AE-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--753CC44B776D4A55901CAD9D92D458AE-->  <TEXT><![CDATA[Write off the 
difference (Above limit)]]></TEXT>
+<!--753CC44B776D4A55901CAD9D92D458AE-->  
<FILENAME><![CDATA[/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.html]]></FILENAME>
+<!--753CC44B776D4A55901CAD9D92D458AE-->  <ISUSED><![CDATA[Y]]></ISUSED>
+<!--753CC44B776D4A55901CAD9D92D458AE-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--753CC44B776D4A55901CAD9D92D458AE--></AD_TEXTINTERFACES>
+
 <!--756D726BEF3D402985AAD12657C5898D--><AD_TEXTINTERFACES>
 <!--756D726BEF3D402985AAD12657C5898D-->  
<AD_TEXTINTERFACES_ID><![CDATA[756D726BEF3D402985AAD12657C5898D]]></AD_TEXTINTERFACES_ID>
 <!--756D726BEF3D402985AAD12657C5898D-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -2871,4 +2893,15 @@
 <!--FDC49CBE576447578B4648FB57C3C89C-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--FDC49CBE576447578B4648FB57C3C89C--></AD_TEXTINTERFACES>
 
+<!--FE926BB57B7C496CB4859FC079AFA1BA--><AD_TEXTINTERFACES>
+<!--FE926BB57B7C496CB4859FC079AFA1BA-->  
<AD_TEXTINTERFACES_ID><![CDATA[FE926BB57B7C496CB4859FC079AFA1BA]]></AD_TEXTINTERFACES_ID>
+<!--FE926BB57B7C496CB4859FC079AFA1BA-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FE926BB57B7C496CB4859FC079AFA1BA-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FE926BB57B7C496CB4859FC079AFA1BA-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FE926BB57B7C496CB4859FC079AFA1BA-->  <TEXT><![CDATA[Write off the 
difference (Above limit)]]></TEXT>
+<!--FE926BB57B7C496CB4859FC079AFA1BA-->  
<FILENAME><![CDATA[/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.html]]></FILENAME>
+<!--FE926BB57B7C496CB4859FC079AFA1BA-->  <ISUSED><![CDATA[Y]]></ISUSED>
+<!--FE926BB57B7C496CB4859FC079AFA1BA-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--FE926BB57B7C496CB4859FC079AFA1BA--></AD_TEXTINTERFACES>
+
 </data>
diff -r 3fec9dfdd735 -r 1922c7ff8ac1 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html
      Fri Sep 14 16:51:05 2012 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html
      Fri Sep 14 13:52:11 2012 +0200
@@ -707,6 +707,10 @@
   <input type="hidden" name="strElement_SR" id="paramStrElement_SR" value=""/>
   <input type="hidden" name="strElement_MC" id="paramStrElement_MC" value=""/>
   <input type="hidden" name="strNotAllowExchange" 
id="paramStrNotAllowExchange" value=""/>
+  <input type="hidden" name="strWriteOffLimit" id="paramStrWriteOffLimit" 
value=""/>
+  <input type="hidden" name="strtypewriteoff" id="paramStrtypewriteoff" 
value=""/>
+  <input type="hidden" name="strAmountwriteoff" id="paramStrAmountwriteoff" 
value=""/>
+  
   <div class="Popup_ContentPane_CircleLogo">
     <div class="Popup_WindowLogo">
       <img class="Popup_WindowLogo_Icon Popup_WindowLogo_Icon_process" 
src="../../../../../web/images/blank.gif" border=0/></img>
@@ -1478,6 +1482,12 @@
                             </td>
                             <td><span class="LabelText">Write off the 
difference</span></td>
                           </tr>
+                           <tr id="writeofflimit">
+                            <td class="Radio_Check_ContentCell" >
+                              <input type="radio" name="inpDifferenceAction" 
value="writeofflimit" id="radiolimit" DISABLED/>
+                            </td>
+                            <td><span class="LabelText">Write off the 
difference (Above limit)</span></td>
+                          </tr>       
                         </table>
                       </td>
                     </tr>
diff -r 3fec9dfdd735 -r 1922c7ff8ac1 
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
      Fri Sep 14 16:51:05 2012 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.java
      Fri Sep 14 13:52:11 2012 +0200
@@ -60,6 +60,7 @@
 import org.openbravo.model.common.enterprise.Organization;
 import org.openbravo.model.common.plm.Product;
 import org.openbravo.model.financialmgmt.gl.GLItem;
+import org.openbravo.model.financialmgmt.payment.FIN_FinancialAccount;
 import org.openbravo.model.financialmgmt.payment.FIN_Payment;
 import org.openbravo.model.financialmgmt.payment.FIN_PaymentDetail;
 import org.openbravo.model.financialmgmt.payment.FIN_PaymentScheduleDetail;
@@ -84,8 +85,9 @@
       String strTabId = vars.getGlobalVariable("inpTabId", 
"AddOrderOrInvoice|Tab_ID");
       String strPaymentId = vars.getGlobalVariable("inpfinPaymentId", 
strWindowId + "|"
           + "FIN_Payment_ID");
+      String strFinancialAccountId = 
vars.getStringParameter("inpfinFinancialAccountId");
 
-      printPage(response, vars, strPaymentId, strWindowId, strTabId);
+      printPage(response, vars, strPaymentId, strWindowId, strTabId, 
strFinancialAccountId);
 
     } else if (vars.commandIn("GRIDLIST")) {
       String strBusinessPartnerId = 
vars.getRequestGlobalVariable("inpBusinessPartnerId", "");
@@ -337,8 +339,8 @@
   }
 
   private void printPage(HttpServletResponse response, VariablesSecureApp vars,
-      String strPaymentId, String strWindowId, String strTabId) throws 
IOException,
-      ServletException {
+      String strPaymentId, String strWindowId, String strTabId, String 
strFinancialAccountId)
+      throws IOException, ServletException {
     log4j.debug("Output: Add Payment button pressed on Make / Receipt Payment 
windows");
 
     FIN_Payment payment = new AdvPaymentMngtDao().getObject(FIN_Payment.class, 
strPaymentId);
@@ -522,6 +524,24 @@
         strWindowId);
     xmlDocument.setParameter("strNotAllowExchange", strNotAllowExchange);
 
+    dao = new AdvPaymentMngtDao();
+    FIN_FinancialAccount financialAccount = 
dao.getObject(FIN_FinancialAccount.class,
+        strFinancialAccountId);
+
+    if (financialAccount.getWriteofflimit() != null) {
+      final String strtypewriteoff;
+      final String strAmountwriteoff;
+
+      strtypewriteoff = financialAccount.getTypewriteoff();
+      strAmountwriteoff = financialAccount.getWriteofflimit().toString();
+      xmlDocument.setParameter("strtypewriteoff", strtypewriteoff);
+      xmlDocument.setParameter("strAmountwriteoff", strAmountwriteoff);
+
+      // Not allow to write off
+      final String strWriteOffLimit = Utility.getContext(this, vars, 
"WriteOffLimitPreference",
+          strWindowId);
+      xmlDocument.setParameter("strWriteOffLimit", strWriteOffLimit);
+    }
     response.setContentType("text/html; charset=UTF-8");
     PrintWriter out = response.getWriter();
     out.println(xmlDocument.print());
diff -r 3fec9dfdd735 -r 1922c7ff8ac1 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.xml
       Fri Sep 14 16:51:05 2012 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.xml
       Fri Sep 14 13:52:11 2012 +0200
@@ -75,6 +75,12 @@
     
      <!-- Not allow to change exchange rate and amount -->
     <PARAMETER id="paramStrNotAllowExchange" name="strNotAllowExchange" 
attribute="value"/>
+    
+    <!-- Not allow to change Write Off-->
+    <PARAMETER id="paramStrWriteOffLimit" name="strWriteOffLimit" 
attribute="value"/>
+    <PARAMETER id="paramStrtypewriteoff" name="strtypewriteoff" 
attribute="value"/>
+    <PARAMETER id="paramStrAmountwriteoff" name="strAmountwriteoff" 
attribute="value"/>
+    
 
     <DISCARD id="discard"/>
 </REPORT>
diff -r 3fec9dfdd735 -r 1922c7ff8ac1 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.html
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.html
  Fri Sep 14 16:51:05 2012 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.html
  Fri Sep 14 13:52:11 2012 +0200
@@ -379,6 +379,15 @@
         } else {
           document.getElementById('paramExchangeRate').value = '';
         }
+        if (resp.twriteoff) {
+            document.getElementById('paramStrtypewriteoff').value = 
applyFormatJSToOBMasked(resp.twriteoff, resp.formatOutput);
+            document.getElementById('paramStrAmountwriteoff').value = 
applyFormatJSToOBMasked(resp.awriteoff, resp.formatOutput);
+        }
+        else{
+               document.getElementById('paramStrtypewriteoff').value = '';
+            document.getElementById('paramStrAmountwriteoff').value = '';
+        }
+        updateDifference();
       }
       displayMulticurrencyControls();
       updateConvertedAmounts();
@@ -433,6 +442,7 @@
     displayLogicElement('paramUseCreditContainer', hasCredit );
     displayLogicElement('rowCredit', hasCredit );
     displayMulticurrencyControls();
+    
     if (isTrue('isReceipt')) {
         setWindowElementFocus(frm.inpActualPayment);
     } else {
@@ -460,6 +470,9 @@
   <input type="hidden" name="isReceipt" value="" id="fieldReceipt"/>
   <input type="hidden" name="isFirstLoad" value="true"/>
   <input type="hidden" name="strNotAllowExchange" 
id="paramStrNotAllowExchange" value=""/>
+  <input type="hidden" name="strWriteOffLimit" id="paramStrWriteOffLimit" 
value=""/>
+  <input type="hidden" name="strtypewriteoff" id="paramStrtypewriteoff" 
value=""/>
+  <input type="hidden" name="strAmountwriteoff" id="paramStrAmountwriteoff" 
value=""/>
   <div class="Popup_ContentPane_CircleLogo">
     <div class="Popup_WindowLogo">
       <img class="Popup_WindowLogo_Icon Popup_WindowLogo_Icon_process" 
src="../../../../../web/images/blank.gif" border=0/></img>
@@ -1108,6 +1121,12 @@
                             </td>
                             <td><span class="LabelText">Write off the 
difference</span></td>
                           </tr>
+                          <tr id="writeofflimit">
+                            <td class="Radio_Check_ContentCell" >
+                              <input type="radio" name="inpDifferenceAction" 
value="writeofflimit" id="radiolimit" DISABLED/>
+                            </td>
+                            <td><span class="LabelText">Write off the 
difference (Above limit)</span></td>
+                          </tr>
                         </table>
                       </td>
                     </tr>
diff -r 3fec9dfdd735 -r 1922c7ff8ac1 
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
  Fri Sep 14 16:51:05 2012 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromInvoice.java
  Fri Sep 14 13:52:11 2012 +0200
@@ -357,11 +357,35 @@
     }
     xmlDocument.setParameter("sectionDetailFinancialAccount", 
finAccountComboHtml);
 
+    final String strtypewriteoff;
+    final String strAmountwriteoff;
     if (account != null) {
       if (!financialAccounts.contains(account)) {
         strFinancialAccountId = financialAccounts.get(0).getId();
+        if (financialAccounts.get(0).getWriteofflimit() != null) {
+          strtypewriteoff = financialAccounts.get(0).getTypewriteoff();
+          strAmountwriteoff = 
financialAccounts.get(0).getWriteofflimit().toString();
+          xmlDocument.setParameter("strtypewriteoff", strtypewriteoff);
+          xmlDocument.setParameter("strAmountwriteoff", strAmountwriteoff);
+        }
+
+      } else {
+        if (account.getWriteofflimit() != null) {
+          strtypewriteoff = account.getTypewriteoff();
+          strAmountwriteoff = account.getWriteofflimit().toString();
+          xmlDocument.setParameter("strtypewriteoff", strtypewriteoff);
+          xmlDocument.setParameter("strAmountwriteoff", strAmountwriteoff);
+        }
+      }
+    } else {
+      if (financialAccounts.get(0).getWriteofflimit() != null) {
+        strtypewriteoff = financialAccounts.get(0).getTypewriteoff();
+        strAmountwriteoff = 
financialAccounts.get(0).getWriteofflimit().toString();
+        xmlDocument.setParameter("strtypewriteoff", strtypewriteoff);
+        xmlDocument.setParameter("strAmountwriteoff", strAmountwriteoff);
       }
     }
+
     // Currency
     xmlDocument.setParameter("CurrencyId", strCurrencyId);
     final Currency paymentCurrency = dao.getObject(Currency.class, 
strCurrencyId);
@@ -419,6 +443,11 @@
         strWindowId);
     xmlDocument.setParameter("strNotAllowExchange", strNotAllowExchange);
 
+    // Not allow to write off
+    final String strWriteOffLimit = Utility.getContext(this, vars, 
"WriteOffLimitPreference",
+        strWindowId);
+    xmlDocument.setParameter("strWriteOffLimit", strWriteOffLimit);
+
     response.setContentType("text/html; charset=UTF-8");
     PrintWriter out = response.getWriter();
     out.println(xmlDocument.print());
@@ -477,8 +506,8 @@
     response.setContentType("text/html; charset=UTF-8");
     PrintWriter out = response.getWriter();
     out.println(paymentMethodComboHtml.replaceAll("\"", "\\'"));
+
     out.close();
-
   }
 
   private void refreshFinancialAccountCombo(HttpServletResponse response, 
VariablesSecureApp vars,
@@ -502,8 +531,15 @@

------------------------------------------------------------------------------
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to