details: https://code.openbravo.com/erp/devel/pi/rev/cbb97a88d93a changeset: 23387:cbb97a88d93a user: Atul Gaware <atul.gaware <at> openbravo.com> date: Fri May 23 16:41:21 2014 +0530 summary: Fixes Issue 26571:Error when paying a "cash vat" invoice with total amount lower than related order's amount
details: https://code.openbravo.com/erp/devel/pi/rev/f5796fb5b658 changeset: 23388:f5796fb5b658 user: Atul Gaware <atul.gaware <at> openbravo.com> date: Mon May 26 16:34:59 2014 +0530 summary: Related To Issue 26571:Posting of Cash Vat lines for multi line schedule line details: https://code.openbravo.com/erp/devel/pi/rev/10b6743505d4 changeset: 23389:10b6743505d4 user: Atul Gaware <atul.gaware <at> openbravo.com> date: Tue May 27 18:27:11 2014 +0530 summary: Related To Issue 26571:Reactivation of Payment impact on Cash Vat lines. Reactivate payment by any option either by Reactivate Or Reactivate and Delete Lines it will not keep Cash Vat Lines unless the payment is processed properly. diffstat: modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java | 2 +- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java | 4 +- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_Utility.java | 15 +++++---- src-db/database/sourcedata/AD_COLUMN.xml | 2 - src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java | 2 +- src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java | 2 +- src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java | 2 +- src/org/openbravo/erpCommon/ad_forms/DocLineCashVATReady_PaymentTransactionReconciliation.java | 9 ++--- src/org/openbravo/erpCommon/utility/CashVATUtil.java | 4 +- 9 files changed, 20 insertions(+), 22 deletions(-) diffs (167 lines): diff -r e26f3940e388 -r 10b6743505d4 modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java Tue May 27 20:43:26 2014 +0530 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java Tue May 27 18:27:11 2014 +0530 @@ -290,7 +290,7 @@ psd.getAmount(), psd.getWriteoffAmount()); } if (psd.getOrderPaymentSchedule() != null) { - FIN_AddPayment.updatePaymentScheduleAmounts(psd.getOrderPaymentSchedule(), + FIN_AddPayment.updatePaymentScheduleAmounts(pDetail, psd.getOrderPaymentSchedule(), psd.getAmount(), psd.getWriteoffAmount()); } if (pDetail.isPrepayment() && psd.getOrderPaymentSchedule() == null diff -r e26f3940e388 -r 10b6743505d4 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 Tue May 27 20:43:26 2014 +0530 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java Tue May 27 18:27:11 2014 +0530 @@ -415,7 +415,7 @@ } if (paymentScheduleDetail.getOrderPaymentSchedule() != null) { - FIN_AddPayment.updatePaymentScheduleAmounts( + FIN_AddPayment.updatePaymentScheduleAmounts(paymentDetail, paymentScheduleDetail.getOrderPaymentSchedule(), paymentScheduleDetail.getAmount(), paymentScheduleDetail.getWriteoffAmount()); @@ -815,7 +815,7 @@ } } if (restorePaidAmounts) { - FIN_AddPayment.updatePaymentScheduleAmounts( + FIN_AddPayment.updatePaymentScheduleAmounts(paymentDetail, paymentScheduleDetail.getInvoicePaymentSchedule(), psdAmount.negate(), psdWriteoffAmount.negate()); paymentScheduleDetail.setInvoicePaid(false); diff -r e26f3940e388 -r 10b6743505d4 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 Tue May 27 20:43:26 2014 +0530 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_Utility.java Tue May 27 18:27:11 2014 +0530 @@ -1360,12 +1360,12 @@ creditUsed = creditUsed.subtract(amountWithSign); bPartner.setCreditUsed(creditUsed); OBDal.getInstance().save(bPartner); - FIN_AddPayment.updatePaymentScheduleAmounts(psd.getInvoicePaymentSchedule(), psd.getAmount(), - psd.getWriteoffAmount()); + FIN_AddPayment.updatePaymentScheduleAmounts(psd.getPaymentDetails(), + psd.getInvoicePaymentSchedule(), psd.getAmount(), psd.getWriteoffAmount()); } if (psd.getOrderPaymentSchedule() != null) { - FIN_AddPayment.updatePaymentScheduleAmounts(psd.getOrderPaymentSchedule(), psd.getAmount(), - psd.getWriteoffAmount()); + FIN_AddPayment.updatePaymentScheduleAmounts(psd.getPaymentDetails(), + psd.getOrderPaymentSchedule(), psd.getAmount(), psd.getWriteoffAmount()); } if (psd.getPaymentDetails().isPrepayment() && psd.getOrderPaymentSchedule() == null && psd.getInvoicePaymentSchedule() == null) { @@ -1425,7 +1425,7 @@ .getBusinessPartner(); if (paymentScheduleDetail.getInvoicePaymentSchedule() != null) { - FIN_AddPayment.updatePaymentScheduleAmounts( + FIN_AddPayment.updatePaymentScheduleAmounts(paymentScheduleDetail.getPaymentDetails(), paymentScheduleDetail.getInvoicePaymentSchedule(), psdAmount.negate(), psdWriteoffAmount.negate()); // BP SO_CreditUsed @@ -1439,8 +1439,9 @@ } if (paymentScheduleDetail.getOrderPaymentSchedule() != null) { - FIN_AddPayment.updatePaymentScheduleAmounts(paymentScheduleDetail.getOrderPaymentSchedule(), - psdAmount.negate(), psdWriteoffAmount.negate()); + FIN_AddPayment.updatePaymentScheduleAmounts(paymentScheduleDetail.getPaymentDetails(), + paymentScheduleDetail.getOrderPaymentSchedule(), psdAmount.negate(), + psdWriteoffAmount.negate()); } // when generating credit for a BP SO_CreditUsed is also updated if (paymentScheduleDetail.getInvoicePaymentSchedule() == null diff -r e26f3940e388 -r 10b6743505d4 src-db/database/sourcedata/AD_COLUMN.xml --- a/src-db/database/sourcedata/AD_COLUMN.xml Tue May 27 20:43:26 2014 +0530 +++ b/src-db/database/sourcedata/AD_COLUMN.xml Tue May 27 18:27:11 2014 +0530 @@ -326739,8 +326739,6 @@ <!--F52ACA48CA874F2DA0A778A92691E8F2--> <SEQNO><![CDATA[100]]></SEQNO> <!--F52ACA48CA874F2DA0A778A92691E8F2--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> <!--F52ACA48CA874F2DA0A778A92691E8F2--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> -<!--F52ACA48CA874F2DA0A778A92691E8F2--> <VALUEMIN><![CDATA[0]]></VALUEMIN> -<!--F52ACA48CA874F2DA0A778A92691E8F2--> <VALUEMAX><![CDATA[100]]></VALUEMAX> <!--F52ACA48CA874F2DA0A778A92691E8F2--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> <!--F52ACA48CA874F2DA0A778A92691E8F2--> <AD_ELEMENT_ID><![CDATA[92B735EF8049459BB5DDF6E17174EC6E]]></AD_ELEMENT_ID> <!--F52ACA48CA874F2DA0A778A92691E8F2--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> diff -r e26f3940e388 -r 10b6743505d4 src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java --- a/src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java Tue May 27 20:43:26 2014 +0530 +++ b/src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java Tue May 27 18:27:11 2014 +0530 @@ -384,7 +384,7 @@ .getInvoice() : null); docLine.setDoubtFulDebtAmount(new BigDecimal(data[i].getField("DoubtFulDebtAmount"))); - docLine.setInvoiceTaxCashVAT_V(paymentDetail_ID); + docLine.setInvoiceTaxCashVAT_V(strPaymentId); } docLine.setIsPrepayment(data[i].getField("isprepayment")); docLine.setCGlItemId(data[i].getField("cGlItemId")); diff -r e26f3940e388 -r 10b6743505d4 src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java --- a/src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java Tue May 27 20:43:26 2014 +0530 +++ b/src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java Tue May 27 18:27:11 2014 +0530 @@ -296,7 +296,7 @@ && detail.getFINPaymentScheduleDetailList().get(0).getInvoicePaymentSchedule() != null ? detail .getFINPaymentScheduleDetailList().get(0).getInvoicePaymentSchedule().getInvoice() : null); - docLine.setInvoiceTaxCashVAT_V(Line_ID); + docLine.setInvoiceTaxCashVAT_V(detail.getFinPayment().getId()); list.add(docLine); } finally { OBContext.restorePreviousMode(); diff -r e26f3940e388 -r 10b6743505d4 src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java --- a/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java Tue May 27 20:43:26 2014 +0530 +++ b/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java Tue May 27 18:27:11 2014 +0530 @@ -689,10 +689,10 @@ detail.m_C_Costcenter_ID = data[i].getField("cCostcenterId"); detail.setAmount(data[i].getField("Amount")); final String finPaymentDetailID = data[i].getField("FIN_Payment_Detail_ID"); - detail.setInvoiceTaxCashVAT_V(finPaymentDetailID); // Cambiar line to reflect BPs FIN_PaymentDetail paymentDetail = OBDal.getInstance().get(FIN_PaymentDetail.class, finPaymentDetailID); + detail.setInvoiceTaxCashVAT_V(paymentDetail.getFinPayment().getId()); fact = createFactPaymentDetails(detail, paymentDetail, as, conn, fact, Fact_Acct_Group_ID, Fact_Acct_Group_ID2); } diff -r e26f3940e388 -r 10b6743505d4 src/org/openbravo/erpCommon/ad_forms/DocLineCashVATReady_PaymentTransactionReconciliation.java --- a/src/org/openbravo/erpCommon/ad_forms/DocLineCashVATReady_PaymentTransactionReconciliation.java Tue May 27 20:43:26 2014 +0530 +++ b/src/org/openbravo/erpCommon/ad_forms/DocLineCashVATReady_PaymentTransactionReconciliation.java Tue May 27 18:27:11 2014 +0530 @@ -50,20 +50,19 @@ this.invoiceTaxCashVAT_V = invoiceTaxCashVAT_V; } - public void setInvoiceTaxCashVAT_V(String finPaymentDetailID) { - if (StringUtils.isBlank(finPaymentDetailID)) { + public void setInvoiceTaxCashVAT_V(String finPaymentID) { + if (StringUtils.isBlank(finPaymentID)) { this.invoiceTaxCashVAT_V = new ArrayList<InvoiceTaxCashVAT_V>(); } else { try { OBContext.setAdminMode(true); final StringBuffer hql = new StringBuffer(); hql.append(" as itcv "); - hql.append(" where itcv." + InvoiceTaxCashVAT_V.PROPERTY_PAYMENTDETAILS - + ".id = :finPaymentDetailID "); + hql.append(" where itcv." + InvoiceTaxCashVAT_V.PROPERTY_PAYMENT + ".id = :finPaymentID "); hql.append(" and itcv." + InvoiceTaxCashVAT_V.PROPERTY_CANCELED + " = false"); OBQuery<InvoiceTaxCashVAT_V> obq = OBDal.getInstance().createQuery( InvoiceTaxCashVAT_V.class, hql.toString()); - obq.setNamedParameter("finPaymentDetailID", finPaymentDetailID); + obq.setNamedParameter("finPaymentID", finPaymentID); obq.setFilterOnReadableClients(false); obq.setFilterOnReadableOrganization(false); diff -r e26f3940e388 -r 10b6743505d4 src/org/openbravo/erpCommon/utility/CashVATUtil.java --- a/src/org/openbravo/erpCommon/utility/CashVATUtil.java Tue May 27 20:43:26 2014 +0530 +++ b/src/org/openbravo/erpCommon/utility/CashVATUtil.java Tue May 27 18:27:11 2014 +0530 @@ -164,8 +164,8 @@ calculateAmountsBasedOnPercentage = true; final BigDecimal grandTotalAmt = invoice.getGrandTotalAmount(); final int currencyPrecission = invoice.getCurrency().getStandardPrecision().intValue(); - percentage = amount.multiply(_100) - .divide(grandTotalAmt, currencyPrecission, RoundingMode.HALF_UP).abs(); + percentage = amount.multiply(_100).divide(grandTotalAmt, currencyPrecission, + RoundingMode.HALF_UP); } for (final InvoiceTax invoiceTax : invoice.getInvoiceTaxList()) { ------------------------------------------------------------------------------ The best possible search technologies are now affordable for all companies. Download your FREE open source Enterprise Search Engine today! Our experts will assist you in its installation for $59/mo, no commitment. Test it for FREE on our Cloud platform anytime! http://pubads.g.doubleclick.net/gampad/clk?id=145328191&iu=/4140/ostg.clktrk _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits