details:   https://code.openbravo.com/erp/devel/pi/rev/b2c699afbd38
changeset: 13159:b2c699afbd38
user:      Víctor Martínez Romanos <victor.martinez <at> openbravo.com>
date:      Fri Jul 15 08:57:23 2011 +0200
summary:   Issue 17756: Invoice reference for payment description can be 
selected by the user.
Possible values:
- Invoice Document Number (default)
- Invoice Supplier Reference

This can be configured at organization level, inside the Information tab of the 
Organization window.

The payments created automatically by the payment method, and the payment 
created from the Add payment
window support this new configuration

details:   https://code.openbravo.com/erp/devel/pi/rev/529b3485f73a
changeset: 13160:529b3485f73a
user:      Víctor Martínez Romanos <victor.martinez <at> openbravo.com>
date:      Fri Jul 15 11:33:13 2011 +0200
summary:   merge

diffstat:

 
modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml
 |  16 +-
 
modules/org.openbravo.advpaymentmngt/src-db/database/model/modifiedTables/AD_ORGINFO.xml
              |   9 +
 modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_COLUMN.xml  
                       |  37 +++
 modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_ELEMENT.xml 
                       |  15 +
 modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_FIELD.xml   
                       |  29 +++
 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_REFERENCE.xml
                      |  14 +
 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_REF_LIST.xml 
                      |  24 ++
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
 |   7 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_Utility.java
        |  38 ++++
 src/org/openbravo/erpReports/C_OrderJR.jrxml                                   
                       |  49 ++++-
 src/org/openbravo/erpReports/C_OrderLinesJR.jrxml                              
                       |  94 ++++-----
 src/org/openbravo/erpReports/RptC_Invoice.jrxml                                
                       |  74 +++++--
 src/org/openbravo/erpReports/RptC_Invoice_Lines.jrxml                          
                       |  48 +---
 src/org/openbravo/erpReports/RptC_OrderPO.jrxml                                
                       |  28 ++-
 src/org/openbravo/erpReports/RptC_OrderPO_Lines.jrxml                          
                       |  33 +--
 15 files changed, 382 insertions(+), 133 deletions(-)

diffs (truncated from 946 to 300 lines):

diff -r 87b0a2f932f2 -r 529b3485f73a 
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
     Thu Jul 14 17:56:41 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_INV.xml
     Fri Jul 15 11:33:13 2011 +0200
@@ -47,6 +47,7 @@
 v_TotalLines NUMBER;
 v_PaymentMethod C_INVOICE.FIN_PAYMENTMETHOD_ID%TYPE;
 v_documentno C_INVOICE.DocumentNo%TYPE;
+v_poreference C_INVOICE.POReference%TYPE;
 v_project_id c_invoice.c_project_id%TYPE;
 v_campaign_id c_invoice.c_campaign_id%TYPE;
 v_activity_id c_invoice.c_activity_id%TYPE;
@@ -71,6 +72,7 @@
 v_finpayment_desc FIN_Payment.Description%TYPE;
 v_orderno_trl AD_Message.MsgText%TYPE;
 v_invoiceno_trl AD_Message.MsgText%TYPE;
+v_payment_desc AD_OrgInfo.em_aprm_payment_desc%TYPE;
 
 
 TYPE RECORD IS REF CURSOR;
@@ -107,12 +109,12 @@
   SELECT ad_client_id, ad_org_id, c_doctypetarget_id, IsSOTrx,
       grandtotal, C_PaymentTerm_ID, PaymentRule, C_Currency_ID,
       C_BPartner_ID, DateInvoiced, totallines, fin_paymentmethod_id,
-      fin_payment_priority_id, documentNo,
+      fin_payment_priority_id, documentNo, poreference,
       c_project_id, c_campaign_id, c_activity_id, user1_id, user2_id
   INTO v_Client_ID, v_Org_ID, v_DocTypeTarget_ID, v_IsSOTrx,
       v_GrandTotal, v_PaymentTerm, v_PaymentRule, v_Currency_ID,
       v_BPartner_ID, v_DateInvoiced, v_totallines, v_PaymentMethod,
-      v_PaymentPriority, v_documentno,
+      v_PaymentPriority, v_documentno, v_poreference,
       v_project_id, v_campaign_id, v_activity_id, v_user1, v_user2
   FROM c_invoice
   WHERE c_invoice_id=p_record_id;
@@ -501,6 +503,16 @@
       FROM C_BPARTNER
       WHERE C_BPARTNER_ID = v_BPartner_ID;
       IF(v_Financial_Account_ID IS NOT NULL) THEN
+        SELECT MIN(em_aprm_payment_desc) INTO v_payment_desc
+        FROM ad_orginfo
+        WHERE ad_org_id = v_Org_ID
+        AND isactive = 'Y';
+        
+        IF (v_payment_desc IS NOT NULL AND v_payment_desc='Supplier Reference' 
+            AND coalesce(length(v_poreference), 0)>0) THEN
+          v_documentno := v_poreference;
+        END IF;
+        
         FOR cur_paymentschedule IN (
             SELECT ps.fin_paymentmethod_id, ps.duedate, ps.c_currency_id, 
ps.ad_org_id, ps.fin_payment_schedule_id,
               coalesce(sum(psd.amount),0) as outstandingamt, 
psd.fin_payment_schedule_order
diff -r 87b0a2f932f2 -r 529b3485f73a 
modules/org.openbravo.advpaymentmngt/src-db/database/model/modifiedTables/AD_ORGINFO.xml
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/model/modifiedTables/AD_ORGINFO.xml
  Fri Jul 15 11:33:13 2011 +0200
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+  <database name="MODIFIED TABLE AD_ORGINFO">
+    <table name="AD_ORGINFO" primaryKey="AD_ORGINFO_KEY">
+      <column name="EM_APRM_PAYMENT_DESC" primaryKey="false" required="true" 
type="VARCHAR" size="60" autoIncrement="false">
+        <default><![CDATA[Invoice Document Number]]></default>
+        <onCreateDefault><![CDATA['Invoice Document 
Number']]></onCreateDefault>
+      </column>
+    </table>
+  </database>
diff -r 87b0a2f932f2 -r 529b3485f73a 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_COLUMN.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_COLUMN.xml 
    Thu Jul 14 17:56:41 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_COLUMN.xml 
    Fri Jul 15 11:33:13 2011 +0200
@@ -103,6 +103,43 @@
 <!--137DEB7F4BAF46A783F86044A1817D66-->  
<VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--137DEB7F4BAF46A783F86044A1817D66--></AD_COLUMN>
 
+<!--18096D8809024E67A36E636EA0D9D0E7--><AD_COLUMN>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<AD_COLUMN_ID><![CDATA[18096D8809024E67A36E636EA0D9D0E7]]></AD_COLUMN_ID>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  <NAME><![CDATA[EM_APRM_Payment 
Description]]></NAME>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  <DESCRIPTION><![CDATA[Invoice's 
Reference to be automatically included into the Payment 
Description]]></DESCRIPTION>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  <HELP><![CDATA[Invoice's reference to 
be automatically included into the payment description. Possible values are:
+- Invoice document number (default)
+- Supplier reference, which is defined in the invoice's header]]></HELP>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<COLUMNNAME><![CDATA[EM_Aprm_Payment_Desc]]></COLUMNNAME>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<AD_TABLE_ID><![CDATA[228]]></AD_TABLE_ID>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<AD_REFERENCE_ID><![CDATA[17]]></AD_REFERENCE_ID>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<AD_REFERENCE_VALUE_ID><![CDATA[FF808181312414380131241C5A41001F]]></AD_REFERENCE_VALUE_ID>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<FIELDLENGTH><![CDATA[60]]></FIELDLENGTH>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  <DEFAULTVALUE><![CDATA[Invoice 
Document Number]]></DEFAULTVALUE>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  <SEQNO><![CDATA[81]]></SEQNO>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<AD_ELEMENT_ID><![CDATA[D2AC3F75FCDC4BC187A1F492C46D68D1]]></AD_ELEMENT_ID>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  <POSITION><![CDATA[18]]></POSITION>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--18096D8809024E67A36E636EA0D9D0E7-->  
<VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--18096D8809024E67A36E636EA0D9D0E7--></AD_COLUMN>
+
 <!--1CDAC09BBD9A46AE8FD9D5249092B6EF--><AD_COLUMN>
 <!--1CDAC09BBD9A46AE8FD9D5249092B6EF-->  
<AD_COLUMN_ID><![CDATA[1CDAC09BBD9A46AE8FD9D5249092B6EF]]></AD_COLUMN_ID>
 <!--1CDAC09BBD9A46AE8FD9D5249092B6EF-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 87b0a2f932f2 -r 529b3485f73a 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_ELEMENT.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_ELEMENT.xml
    Thu Jul 14 17:56:41 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_ELEMENT.xml
    Fri Jul 15 11:33:13 2011 +0200
@@ -363,4 +363,19 @@
 <!--C8E8009C6BF5427EA930515F217F768E-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--C8E8009C6BF5427EA930515F217F768E--></AD_ELEMENT>
 
+<!--D2AC3F75FCDC4BC187A1F492C46D68D1--><AD_ELEMENT>
+<!--D2AC3F75FCDC4BC187A1F492C46D68D1-->  
<AD_ELEMENT_ID><![CDATA[D2AC3F75FCDC4BC187A1F492C46D68D1]]></AD_ELEMENT_ID>
+<!--D2AC3F75FCDC4BC187A1F492C46D68D1-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--D2AC3F75FCDC4BC187A1F492C46D68D1-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--D2AC3F75FCDC4BC187A1F492C46D68D1-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--D2AC3F75FCDC4BC187A1F492C46D68D1-->  
<COLUMNNAME><![CDATA[EM_Aprm_Payment_Desc]]></COLUMNNAME>
+<!--D2AC3F75FCDC4BC187A1F492C46D68D1-->  <NAME><![CDATA[Invoice's Reference 
for Payment Description]]></NAME>
+<!--D2AC3F75FCDC4BC187A1F492C46D68D1-->  <PRINTNAME><![CDATA[Invoice's 
Reference for Payment Description]]></PRINTNAME>
+<!--D2AC3F75FCDC4BC187A1F492C46D68D1-->  <DESCRIPTION><![CDATA[Invoice's 
Reference to be automatically included into the Payment 
Description]]></DESCRIPTION>
+<!--D2AC3F75FCDC4BC187A1F492C46D68D1-->  <HELP><![CDATA[Invoice's reference to 
be automatically included into the payment description. Possible values are:
+- Invoice document number (default)
+- Supplier reference, which is defined in the invoice's header]]></HELP>
+<!--D2AC3F75FCDC4BC187A1F492C46D68D1-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--D2AC3F75FCDC4BC187A1F492C46D68D1--></AD_ELEMENT>
+
 </data>
diff -r 87b0a2f932f2 -r 529b3485f73a 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_FIELD.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_FIELD.xml  
    Thu Jul 14 17:56:41 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_FIELD.xml  
    Fri Jul 15 11:33:13 2011 +0200
@@ -8671,6 +8671,35 @@
 <!--F6B85BC485464404B0A58105D8D38B61-->  
<ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
 <!--F6B85BC485464404B0A58105D8D38B61--></AD_FIELD>
 
+<!--F848820D63394EB6AAABFC6B66101BCD--><AD_FIELD>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<AD_FIELD_ID><![CDATA[F848820D63394EB6AAABFC6B66101BCD]]></AD_FIELD_ID>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  <NAME><![CDATA[Invoice's Reference 
for Payment Description]]></NAME>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  <DESCRIPTION><![CDATA[Invoice's 
Reference to be automatically included into the Payment 
Description]]></DESCRIPTION>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  <HELP><![CDATA[Invoice's reference to 
be automatically included into the payment description. Possible values are:
+- Invoice document number (default)
+- Supplier reference, which is defined in the invoice's header]]></HELP>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  <AD_TAB_ID><![CDATA[170]]></AD_TAB_ID>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<AD_COLUMN_ID><![CDATA[18096D8809024E67A36E636EA0D9D0E7]]></AD_COLUMN_ID>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  <SEQNO><![CDATA[80]]></SEQNO>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  <GRID_SEQNO><![CDATA[0]]></GRID_SEQNO>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<STARTNEWLINE><![CDATA[Y]]></STARTNEWLINE>
+<!--F848820D63394EB6AAABFC6B66101BCD-->  
<ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--F848820D63394EB6AAABFC6B66101BCD--></AD_FIELD>
+
 <!--F9616FD8600E4650A96A241C1901ECFA--><AD_FIELD>
 <!--F9616FD8600E4650A96A241C1901ECFA-->  
<AD_FIELD_ID><![CDATA[F9616FD8600E4650A96A241C1901ECFA]]></AD_FIELD_ID>
 <!--F9616FD8600E4650A96A241C1901ECFA-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 87b0a2f932f2 -r 529b3485f73a 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_REFERENCE.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_REFERENCE.xml
  Thu Jul 14 17:56:41 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_REFERENCE.xml
  Fri Jul 15 11:33:13 2011 +0200
@@ -134,4 +134,18 @@
 <!--FF8080812E443491012E443C053A001A-->  
<ISVALUEDISPLAYED><![CDATA[N]]></ISVALUEDISPLAYED>
 <!--FF8080812E443491012E443C053A001A--></AD_REFERENCE>
 
+<!--FF808181312414380131241C5A41001F--><AD_REFERENCE>
+<!--FF808181312414380131241C5A41001F-->  
<AD_REFERENCE_ID><![CDATA[FF808181312414380131241C5A41001F]]></AD_REFERENCE_ID>
+<!--FF808181312414380131241C5A41001F-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181312414380131241C5A41001F-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181312414380131241C5A41001F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181312414380131241C5A41001F-->  <NAME><![CDATA[Payment 
description]]></NAME>
+<!--FF808181312414380131241C5A41001F-->  <DESCRIPTION><![CDATA[List with the 
possible values to include in payment description related to an invoice 
]]></DESCRIPTION>
+<!--FF808181312414380131241C5A41001F-->  <HELP><![CDATA[List with the possible 
values to include in payment description related to an invoice ]]></HELP>
+<!--FF808181312414380131241C5A41001F-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--FF808181312414380131241C5A41001F-->  
<ISBASEREFERENCE><![CDATA[N]]></ISBASEREFERENCE>
+<!--FF808181312414380131241C5A41001F-->  
<PARENTREFERENCE_ID><![CDATA[17]]></PARENTREFERENCE_ID>
+<!--FF808181312414380131241C5A41001F-->  
<ISVALUEDISPLAYED><![CDATA[N]]></ISVALUEDISPLAYED>
+<!--FF808181312414380131241C5A41001F--></AD_REFERENCE>
+
 </data>
diff -r 87b0a2f932f2 -r 529b3485f73a 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_REF_LIST.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_REF_LIST.xml
   Thu Jul 14 17:56:41 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_REF_LIST.xml
   Fri Jul 15 11:33:13 2011 +0200
@@ -163,4 +163,28 @@
 <!--FF8080812E443491012E443CA7460027-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
 <!--FF8080812E443491012E443CA7460027--></AD_REF_LIST>
 
+<!--FF808181312414380131241DC25C0025--><AD_REF_LIST>
+<!--FF808181312414380131241DC25C0025-->  
<AD_REF_LIST_ID><![CDATA[FF808181312414380131241DC25C0025]]></AD_REF_LIST_ID>
+<!--FF808181312414380131241DC25C0025-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181312414380131241DC25C0025-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181312414380131241DC25C0025-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181312414380131241DC25C0025-->  <VALUE><![CDATA[Invoice Document 
Number]]></VALUE>
+<!--FF808181312414380131241DC25C0025-->  <NAME><![CDATA[Invoice Document 
Number]]></NAME>
+<!--FF808181312414380131241DC25C0025-->  <DESCRIPTION><![CDATA[Use Invoice 
Document Number]]></DESCRIPTION>
+<!--FF808181312414380131241DC25C0025-->  
<AD_REFERENCE_ID><![CDATA[FF808181312414380131241C5A41001F]]></AD_REFERENCE_ID>
+<!--FF808181312414380131241DC25C0025-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--FF808181312414380131241DC25C0025--></AD_REF_LIST>
+
+<!--FF808181312414380131241E6B370029--><AD_REF_LIST>
+<!--FF808181312414380131241E6B370029-->  
<AD_REF_LIST_ID><![CDATA[FF808181312414380131241E6B370029]]></AD_REF_LIST_ID>
+<!--FF808181312414380131241E6B370029-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF808181312414380131241E6B370029-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF808181312414380131241E6B370029-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF808181312414380131241E6B370029-->  <VALUE><![CDATA[Supplier 
Reference]]></VALUE>
+<!--FF808181312414380131241E6B370029-->  <NAME><![CDATA[Supplier 
Reference]]></NAME>
+<!--FF808181312414380131241E6B370029-->  <DESCRIPTION><![CDATA[Use invoice's 
supplier reference. If empty, it uses the invoice's document 
number]]></DESCRIPTION>
+<!--FF808181312414380131241E6B370029-->  
<AD_REFERENCE_ID><![CDATA[FF808181312414380131241C5A41001F]]></AD_REFERENCE_ID>
+<!--FF808181312414380131241E6B370029-->  
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--FF808181312414380131241E6B370029--></AD_REF_LIST>
+
 </data>
diff -r 87b0a2f932f2 -r 529b3485f73a 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
     Thu Jul 14 17:56:41 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
     Fri Jul 15 11:33:13 2011 +0200
@@ -38,6 +38,7 @@
 import org.openbravo.erpCommon.utility.OBError;
 import org.openbravo.erpCommon.utility.Utility;
 import org.openbravo.model.common.businesspartner.BusinessPartner;
+import org.openbravo.model.common.invoice.Invoice;
 import org.openbravo.model.financialmgmt.payment.FIN_FinaccTransaction;
 import org.openbravo.model.financialmgmt.payment.FIN_Payment;
 import org.openbravo.model.financialmgmt.payment.FIN_PaymentDetail;
@@ -120,8 +121,10 @@
                 writeoff = BigDecimal.ZERO;
               paymentWriteOfAmount = paymentWriteOfAmount.add(writeoff);
               if (paymentScheduleDetail.getInvoicePaymentSchedule() != null) {
-                
invoiceDocNos.add(paymentScheduleDetail.getInvoicePaymentSchedule().getInvoice()
-                    .getDocumentNo());
+                final Invoice invoice = 
paymentScheduleDetail.getInvoicePaymentSchedule()
+                    .getInvoice();
+                
invoiceDocNos.add(FIN_Utility.getDesiredDocumentNo(payment.getOrganization(),
+                    invoice));
               }
               if (paymentScheduleDetail.getOrderPaymentSchedule() != null) {
                 
orderDocNos.add(paymentScheduleDetail.getOrderPaymentSchedule().getOrder()
diff -r 87b0a2f932f2 -r 529b3485f73a 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_Utility.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_Utility.java
    Thu Jul 14 17:56:41 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_Utility.java
    Fri Jul 15 11:33:13 2011 +0200
@@ -20,6 +20,7 @@
 package org.openbravo.advpaymentmngt.utility;
 
 import java.math.BigDecimal;
+import java.security.InvalidParameterException;
 import java.sql.BatchUpdateException;
 import java.text.DecimalFormat;
 import java.text.DecimalFormatSymbols;
@@ -57,6 +58,7 @@
 import org.openbravo.model.common.currency.Currency;
 import org.openbravo.model.common.enterprise.DocumentType;
 import org.openbravo.model.common.enterprise.Organization;
+import org.openbravo.model.common.invoice.Invoice;
 import org.openbravo.model.financialmgmt.payment.FIN_FinancialAccount;
 import org.openbravo.model.financialmgmt.payment.FIN_Payment;
 import org.openbravo.model.financialmgmt.payment.FIN_PaymentMethod;
@@ -930,4 +932,40 @@
     return amountFormatter.format(number);
   }
 
+  /**
+   * Returns either the Invoice's Document Number or the Invoice's Supplier 
Reference based on the
+   * Organization's configuration. In case the Supplier Reference is empty, 
the invoice's document
+   * number is returned
+   * 
+   * @param organization
+   *          to get its configuration. In case no configuration is available, 
the invoice's
+   *          document number is returned
+   * @param invoice
+   * @return
+   */
+  public static String getDesiredDocumentNo(final Organization organization, 
final Invoice invoice) {
+    String invoiceDocNo;
+    try {
+      final String paymentDescription = 
organization.getOrganizationInformationList().get(0)
+          .getAPRMPaymentDescription();
+      if (paymentDescription.equals("Invoice Document Number")) {
+        invoiceDocNo = invoice.getDocumentNo();
+      } else if (paymentDescription.equals("Supplier Reference")) {
+        invoiceDocNo = invoice.getOrderReference();
+        if (invoiceDocNo.length() == 0) {
+          invoiceDocNo = invoice.getDocumentNo();
+        }
+      } else {
+        throw new InvalidParameterException(
+            "Not supported parameter: "

------------------------------------------------------------------------------
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on "Lean Startup 
Secrets Revealed." This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to