details:   https://code.openbravo.com/erp/devel/pi/rev/339f82efc76c
changeset: 19428:339f82efc76c
user:      Javier Etxarri <javier.echarri <at> openbravo.com>
date:      Thu Jan 24 12:53:13 2013 +0100
summary:   Fixes issue 22814: In prepayments against invoices,
no generate double posting if BP receivables account and BP prepayment account 
are the same

diffstat:

 src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java |  40 
++++++----
 src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java           |  35 
+++++---
 src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java    |  21 +++--
 3 files changed, 59 insertions(+), 37 deletions(-)

diffs (129 lines):

diff -r 918cc7183ad6 -r 339f82efc76c 
src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java
--- a/src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java Thu Jan 
24 12:09:48 2013 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java Thu Jan 
24 12:53:13 2013 +0100
@@ -532,24 +532,32 @@
             DocLine line2 = new DocLine(DocumentType, Record_ID, 
line.m_TrxLine_ID);
             line2.copyInfo(line);
             line2.m_DateAcct = 
OBDateUtils.formatDate(invoice.getAccountingDate());
-            fact.createLine(
-                line2,
-                getAccountBPartner((line2.m_C_BPartner_ID == null || 
line2.m_C_BPartner_ID
+            // checking if the prepayment account and ReceivablesNo account in 
the Business Partner
+            // is the same.In this case we do not need to create more 
accounting lines
+            if (!getAccountBPartner(
+                (line2.m_C_BPartner_ID == null || 
line2.m_C_BPartner_ID.equals("")) ? this.C_BPartner_ID
+                    : line2.m_C_BPartner_ID, as, isReceipt, true, 
conn).Account_ID
+                .equals(getAccountBPartner((line2.m_C_BPartner_ID == null || 
line2.m_C_BPartner_ID
                     .equals("")) ? this.C_BPartner_ID : line2.m_C_BPartner_ID, 
as, isReceipt,
-                    false, conn), paymentCurrency.getId(),
-                (isReceipt ? "" : bpAmountConverted.toString()),
-                (isReceipt ? bpAmountConverted.toString() : ""), 
Fact_Acct_Group_ID2,
-                nextSeqNo(SeqNo), DocumentType, conn);
-            fact.createLine(
-                line2,
-                getAccountBPartner((line2.m_C_BPartner_ID == null || 
line2.m_C_BPartner_ID
-                    .equals("")) ? this.C_BPartner_ID : line2.m_C_BPartner_ID, 
as, isReceipt, true,
-                    conn), paymentCurrency.getId(),
-                (!isReceipt ? "" : bpAmountConverted.toString()),
-                (!isReceipt ? bpAmountConverted.toString() : ""), 
Fact_Acct_Group_ID2,
-                nextSeqNo(SeqNo), DocumentType, conn);
+                    false, conn).Account_ID)) {
+              fact.createLine(
+                  line2,
+                  getAccountBPartner((line2.m_C_BPartner_ID == null || 
line2.m_C_BPartner_ID
+                      .equals("")) ? this.C_BPartner_ID : 
line2.m_C_BPartner_ID, as, isReceipt,
+                      false, conn), paymentCurrency.getId(),
+                  (isReceipt ? "" : bpAmountConverted.toString()),
+                  (isReceipt ? bpAmountConverted.toString() : ""), 
Fact_Acct_Group_ID2,
+                  nextSeqNo(SeqNo), DocumentType, conn);
+              fact.createLine(
+                  line2,
+                  getAccountBPartner((line2.m_C_BPartner_ID == null || 
line2.m_C_BPartner_ID
+                      .equals("")) ? this.C_BPartner_ID : 
line2.m_C_BPartner_ID, as, isReceipt,
+                      true, conn), paymentCurrency.getId(),
+                  (!isReceipt ? "" : bpAmountConverted.toString()),
+                  (!isReceipt ? bpAmountConverted.toString() : ""), 
Fact_Acct_Group_ID2,
+                  nextSeqNo(SeqNo), DocumentType, conn);
+            }
           }
-
         }
       }
       // Pre-payment is consumed when Used Credit Amount not equals Zero. When 
consuming Credit no
diff -r 918cc7183ad6 -r 339f82efc76c 
src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java
--- a/src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java   Thu Jan 24 
12:09:48 2013 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java   Thu Jan 24 
12:53:13 2013 +0100
@@ -364,20 +364,29 @@
             DocLine line2 = new DocLine(DocumentType, Record_ID, 
line.m_TrxLine_ID);
             line2.copyInfo(line);
             line2.m_DateAcct = 
OBDateUtils.formatDate(invoice.getAccountingDate());
-            fact.createLine(
-                line2,
-                getAccountBPartner((line2.m_C_BPartner_ID == null || 
line2.m_C_BPartner_ID
+            // checking if the prepayment account and ReceivablesNo account in 
the Business Partner
+            // is the same.In this case we do not need to create more 
accounting lines
+            if (!getAccountBPartner(
+                (line2.m_C_BPartner_ID == null || 
line2.m_C_BPartner_ID.equals("")) ? this.C_BPartner_ID
+                    : line2.m_C_BPartner_ID, as, isReceipt, true, 
conn).Account_ID
+                .equals(getAccountBPartner((line2.m_C_BPartner_ID == null || 
line2.m_C_BPartner_ID
                     .equals("")) ? this.C_BPartner_ID : line2.m_C_BPartner_ID, 
as, isReceipt,
-                    false, conn), strcCurrencyId, (isReceipt ? "" : 
bpAmountConverted),
-                (isReceipt ? bpAmountConverted : ""), Fact_Acct_Group_ID2, 
nextSeqNo(SeqNo),
-                DocumentType, conn);
-            fact.createLine(
-                line2,
-                getAccountBPartner((line2.m_C_BPartner_ID == null || 
line2.m_C_BPartner_ID
-                    .equals("")) ? this.C_BPartner_ID : line2.m_C_BPartner_ID, 
as, isReceipt, true,
-                    conn), strcCurrencyId, (!isReceipt ? "" : 
bpAmountConverted),
-                (!isReceipt ? bpAmountConverted : ""), Fact_Acct_Group_ID2, 
nextSeqNo(SeqNo),
-                DocumentType, conn);
+                    false, conn).Account_ID)) {
+              fact.createLine(
+                  line2,
+                  getAccountBPartner((line2.m_C_BPartner_ID == null || 
line2.m_C_BPartner_ID
+                      .equals("")) ? this.C_BPartner_ID : 
line2.m_C_BPartner_ID, as, isReceipt,
+                      false, conn), strcCurrencyId, (isReceipt ? "" : 
bpAmountConverted),
+                  (isReceipt ? bpAmountConverted : ""), Fact_Acct_Group_ID2, 
nextSeqNo(SeqNo),
+                  DocumentType, conn);
+              fact.createLine(
+                  line2,
+                  getAccountBPartner((line2.m_C_BPartner_ID == null || 
line2.m_C_BPartner_ID
+                      .equals("")) ? this.C_BPartner_ID : 
line2.m_C_BPartner_ID, as, isReceipt,
+                      true, conn), strcCurrencyId, (!isReceipt ? "" : 
bpAmountConverted),
+                  (!isReceipt ? bpAmountConverted : ""), Fact_Acct_Group_ID2, 
nextSeqNo(SeqNo),
+                  DocumentType, conn);
+            }
           }
         } else {
           fact.createLine(
diff -r 918cc7183ad6 -r 339f82efc76c 
src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java
--- a/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java    Thu Jan 
24 12:09:48 2013 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java    Thu Jan 
24 12:53:13 2013 +0100
@@ -865,14 +865,19 @@
         DocLine line2 = new DocLine(DocumentType, Record_ID, 
line.m_TrxLine_ID);
         line2.copyInfo(line);
         line2.m_DateAcct = OBDateUtils.formatDate(invoice.getAccountingDate());
-        fact.createLine(line2, getAccountBPartner(bpartnerId, as, isReceipt, 
false, conn),
-            paymentCurrency.getId(), !isReceipt ? bpAmountConverted.toString() 
: "",
-            isReceipt ? bpAmountConverted.toString() : "", 
Fact_Acct_Group_ID2, nextSeqNo(SeqNo),
-            DocumentType, line2.m_DateAcct, null, conn);
-        fact.createLine(line2, getAccountBPartner(bpartnerId, as, isReceipt, 
true, conn),
-            paymentCurrency.getId(), isReceipt ? bpAmountConverted.toString() 
: "",
-            !isReceipt ? bpAmountConverted.toString() : "", 
Fact_Acct_Group_ID2, nextSeqNo(SeqNo),
-            DocumentType, line2.m_DateAcct, null, conn);
+        // checking if the prepayment account and ReceivablesNo account in the 
Business Partner
+        // is the same.In this case we do not need to create more accounting 
lines
+        if (!getAccountBPartner(bpartnerId, as, isReceipt, false, 
conn).Account_ID
+            .equals(getAccountBPartner(bpartnerId, as, isReceipt, true, 
conn))) {
+          fact.createLine(line2, getAccountBPartner(bpartnerId, as, isReceipt, 
false, conn),
+              paymentCurrency.getId(), !isReceipt ? 
bpAmountConverted.toString() : "",
+              isReceipt ? bpAmountConverted.toString() : "", 
Fact_Acct_Group_ID2, nextSeqNo(SeqNo),
+              DocumentType, line2.m_DateAcct, null, conn);
+          fact.createLine(line2, getAccountBPartner(bpartnerId, as, isReceipt, 
true, conn),
+              paymentCurrency.getId(), isReceipt ? 
bpAmountConverted.toString() : "",
+              !isReceipt ? bpAmountConverted.toString() : "", 
Fact_Acct_Group_ID2,
+              nextSeqNo(SeqNo), DocumentType, line2.m_DateAcct, null, conn);
+        }
       }
     }
 

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to