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
