From 42f0399bae2b47a586cbab38be8591ed1db2ef53 Mon Sep 17 00:00:00 2001 From: tsvikruha Date: Sat, 26 Jan 2019 13:07:21 +0100 Subject: [PATCH] IDEMPIERE-2692 Copy lines process doesn't handle org properly --- .../org/compiere/process/CopyFromInvoice.java | 2 +- .../src/org/compiere/model/MInvoice.java | 20 +++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/org.adempiere.base.process/src/org/compiere/process/CopyFromInvoice.java b/org.adempiere.base.process/src/org/compiere/process/CopyFromInvoice.java index 8749ef9ec7..b9b2cabf91 100644 --- a/org.adempiere.base.process/src/org/compiere/process/CopyFromInvoice.java +++ b/org.adempiere.base.process/src/org/compiere/process/CopyFromInvoice.java @@ -65,7 +65,7 @@ public class CopyFromInvoice extends SvrProcess MInvoice from = new MInvoice (getCtx(), m_C_Invoice_ID, get_TrxName()); MInvoice to = new MInvoice (getCtx(), To_C_Invoice_ID, get_TrxName()); // - int no = to.copyLinesFrom (from, false, false); + int no = to.copyLinesFrom (from, false, false, false); // return "@Copied@=" + no; } // doIt diff --git a/org.adempiere.base/src/org/compiere/model/MInvoice.java b/org.adempiere.base/src/org/compiere/model/MInvoice.java index 861ff92afd..13a39a7403 100644 --- a/org.adempiere.base/src/org/compiere/model/MInvoice.java +++ b/org.adempiere.base/src/org/compiere/model/MInvoice.java @@ -68,7 +68,7 @@ public class MInvoice extends X_C_Invoice implements DocAction /** * */ - private static final long serialVersionUID = -9210893813732918522L; + private static final long serialVersionUID = -3191227310812025813L; /** * Get Payments Of BPartner @@ -725,7 +725,7 @@ public class MInvoice extends X_C_Invoice implements DocAction } m_lines = null; } // renumberLines - + /** * Copy Lines From other Invoice. * @param otherInvoice invoice @@ -733,7 +733,19 @@ public class MInvoice extends X_C_Invoice implements DocAction * @param setOrder set order links * @return number of lines copied */ - public int copyLinesFrom (MInvoice otherInvoice, boolean counter, boolean setOrder) + public int copyLinesFrom (MInvoice otherInvoice, boolean counter, boolean setOrder){ + return copyLinesFrom (otherInvoice, counter, setOrder, true); + } + + /** + * Copy Lines From other Invoice. + * @param otherInvoice invoice + * @param counter create counter links + * @param setOrder set order links + * @param copyClientOrg copy also Client and Org + * @return number of lines copied + */ + public int copyLinesFrom (MInvoice otherInvoice, boolean counter, boolean setOrder, boolean copyClientOrg) { if (isProcessed() || isPosted() || otherInvoice == null) return 0; @@ -743,7 +755,7 @@ public class MInvoice extends X_C_Invoice implements DocAction { MInvoiceLine line = new MInvoiceLine (getCtx(), 0, get_TrxName()); MInvoiceLine fromLine = fromLines[i]; - if (counter) // header + if (counter || !copyClientOrg) // header PO.copyValues (fromLine, line, getAD_Client_ID(), getAD_Org_ID()); else PO.copyValues (fromLine, line, fromLine.getAD_Client_ID(), fromLine.getAD_Org_ID());