diff --git a/org.adempiere.base/src/org/compiere/acct/Doc_MatchPO.java b/org.adempiere.base/src/org/compiere/acct/Doc_MatchPO.java index 23f0f5003a..369e1aaa10 100644 --- a/org.adempiere.base/src/org/compiere/acct/Doc_MatchPO.java +++ b/org.adempiere.base/src/org/compiere/acct/Doc_MatchPO.java @@ -139,6 +139,19 @@ public class Doc_MatchPO extends Doc return facts; } + if (m_M_InOutLine_ID == 0) + { + MMatchPO[] matchPOs = MMatchPO.getOrderLine(getCtx(), m_oLine.getC_OrderLine_ID(), getTrxName()); + for (MMatchPO matchPO : matchPOs) + { + if (matchPO.getM_InOutLine_ID() > 0 && matchPO.getC_InvoiceLine_ID() == 0) + { + m_M_InOutLine_ID = matchPO.getM_InOutLine_ID(); + break; + } + } + } + if (m_M_InOutLine_ID == 0) // No posting if not matched to Shipment { p_Error = "No posting if not matched to Shipment"; diff --git a/org.adempiere.base/src/org/compiere/model/GridTable.java b/org.adempiere.base/src/org/compiere/model/GridTable.java index 079be7b0b0..55b065330c 100644 --- a/org.adempiere.base/src/org/compiere/model/GridTable.java +++ b/org.adempiere.base/src/org/compiere/model/GridTable.java @@ -2965,6 +2965,11 @@ public class GridTable extends AbstractTableModel m_changed = false; m_rowChanged = -1; m_inserting = false; + if (m_lastSortColumnIndex >= 0) + { + loadComplete(); + sort(m_lastSortColumnIndex, m_lastSortedAscending); + } if (fireEvents) { fireTableDataChanged(); fireDataStatusIEvent(DATA_REFRESH_MESSAGE, ""); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/process/DunningPrint.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/process/DunningPrint.java index 27a8080009..df2cc725a2 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/process/DunningPrint.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/process/DunningPrint.java @@ -123,7 +123,7 @@ public class DunningPrint extends SvrProcess int count = 0; int errors = 0; MDunningRunEntry[] entries = run.getEntries(false); - List pdfList = new ArrayList(); + final List pdfList = new ArrayList(); for (int i = 0; i < entries.length; i++) { MDunningRunEntry entry = entries[i]; @@ -258,6 +258,18 @@ public class DunningPrint extends SvrProcess return msgreturn.toString(); } + AEnv.executeAsyncDesktopTask(new Runnable() { + @Override + public void run() { + showReports(pdfList); + } + }); + + StringBuilder msgreturn = new StringBuilder("@Printed@=").append(count); + return msgreturn.toString(); + } // doIt + + private void showReports(List pdfList) { if (pdfList.size() > 1) { try { File outFile = File.createTempFile("DunningPrint", ".pdf"); @@ -278,8 +290,6 @@ public class DunningPrint extends SvrProcess log.log(Level.SEVERE, e.getLocalizedMessage(), e); } } - StringBuilder msgreturn = new StringBuilder("@Printed@=").append(count); - return msgreturn.toString(); - } // doIt + } } // DunningPrint