details: https://code.openbravo.com/erp/devel/pi/rev/543ad0d87402 changeset: 25244:543ad0d87402 user: Fernando Soto <fernando.soto <at> peoplewalking.com> date: Thu Nov 13 12:42:30 2014 -0500 summary: Fixed bug 28077: Processing an invoice with no currency defined in BP
When processing an Invoice and the Bussines Partner has no currency defined, an error should be raised Modified ProcessInvoice class to check the BP currency Uses message InitBPCurrencyLnk from issue 28078 details: https://code.openbravo.com/erp/devel/pi/rev/50d3a6f3a402 changeset: 25245:50d3a6f3a402 user: Fernando Soto <fernando.soto <at> peoplewalking.com> date: Mon Nov 10 18:17:55 2014 -0500 summary: Fixed bug 28078: Paying an invoice with no currency defined in BP When paying an Invoice and the Bussines Partner has no currency defined, an error should be raised Modified FIN_PaymentProcess class to check the bussiness partner currency Created Message InitBPCurrencyLnk diffstat: modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java | 16 ++++++++++ modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java | 12 +++++++ src-db/database/sourcedata/AD_MESSAGE.xml | 12 +++++++ 3 files changed, 40 insertions(+), 0 deletions(-) diffs (71 lines): diff -r 8d86f28e2da1 -r 50d3a6f3a402 modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java Fri Oct 24 14:54:51 2014 -0500 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/ProcessInvoice.java Mon Nov 10 18:17:55 2014 -0500 @@ -153,7 +153,23 @@ return; } } + // check BP currency + if ("CO".equals(strdocaction)) { + // check BP currency + if (invoice.getBusinessPartner().getCurrency() == null) { + String errorMSG = + Utility.messageBD(this, "InitBPCurrencyLnk", vars.getLanguage(), false); + msg = new OBError(); + msg.setType("Error"); + msg.setTitle(Utility.messageBD(this, "Error", vars.getLanguage())); + msg.setMessage(String.format(errorMSG, invoice.getBusinessPartner().getId(), invoice.getBusinessPartner().getName())); + vars.setMessage(strTabId, msg); + printPageClosePopUp(response, vars, Utility.getTabURL(strTabId, "R", true)); + return; + } + } + OBContext.setAdminMode(true); Process process = null; try { diff -r 8d86f28e2da1 -r 50d3a6f3a402 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 Fri Oct 24 14:54:51 2014 -0500 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java Mon Nov 10 18:17:55 2014 -0500 @@ -415,6 +415,18 @@ .getInvoicePaymentSchedule().getInvoice() : null; paidAmount = BigDecimal.ZERO; String fromCurrency = payment.getCurrency().getId(); + if (businessPartner.getCurrency() == null) { + String errorMSG = + Utility.messageBD(conProvider, "InitBPCurrencyLnk", language, false); + + msg.setType("Error"); + msg.setTitle(Utility.messageBD(conProvider, "Error", language)); + msg.setMessage(String.format(errorMSG, businessPartner.getId(), businessPartner.getName())); + bundle.setResult(msg); + OBDal.getInstance().rollbackAndClose(); + return; + + } String toCurrency = businessPartner.getCurrency().getId(); if (!fromCurrency.equals(toCurrency)) { BigDecimal exchangeRate = BigDecimal.ZERO; diff -r 8d86f28e2da1 -r 50d3a6f3a402 src-db/database/sourcedata/AD_MESSAGE.xml --- a/src-db/database/sourcedata/AD_MESSAGE.xml Fri Oct 24 14:54:51 2014 -0500 +++ b/src-db/database/sourcedata/AD_MESSAGE.xml Mon Nov 10 18:17:55 2014 -0500 @@ -17399,6 +17399,18 @@ <!--24DC08DDDEF64FFE81EF69745410C78C--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> <!--24DC08DDDEF64FFE81EF69745410C78C--></AD_MESSAGE> +<!--270BF082B1234A3FB74792CC4E5A4B26--><AD_MESSAGE> +<!--270BF082B1234A3FB74792CC4E5A4B26--> <AD_MESSAGE_ID><![CDATA[270BF082B1234A3FB74792CC4E5A4B26]]></AD_MESSAGE_ID> +<!--270BF082B1234A3FB74792CC4E5A4B26--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--270BF082B1234A3FB74792CC4E5A4B26--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--270BF082B1234A3FB74792CC4E5A4B26--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--270BF082B1234A3FB74792CC4E5A4B26--> <VALUE><![CDATA[InitBPCurrencyLnk]]></VALUE> +<!--270BF082B1234A3FB74792CC4E5A4B26--> <MSGTEXT><![CDATA[Please initialize <a class="LabelLink" onclick="OB.Utilities.openDirectTab('220', '%s')" href="#"> %s </a> business partner currency before processing the document.]]></MSGTEXT> +<!--270BF082B1234A3FB74792CC4E5A4B26--> <MSGTYPE><![CDATA[I]]></MSGTYPE> +<!--270BF082B1234A3FB74792CC4E5A4B26--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--270BF082B1234A3FB74792CC4E5A4B26--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> +<!--270BF082B1234A3FB74792CC4E5A4B26--></AD_MESSAGE> + <!--272961BF12DB4930A0F8EDDADE8827CA--><AD_MESSAGE> <!--272961BF12DB4930A0F8EDDADE8827CA--> <AD_MESSAGE_ID><![CDATA[272961BF12DB4930A0F8EDDADE8827CA]]></AD_MESSAGE_ID> <!--272961BF12DB4930A0F8EDDADE8827CA--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk _______________________________________________ Openbravo-commits mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbravo-commits
