diff --git a/org.adempiere.base/src/org/compiere/report/TrialBalance.java b/org.adempiere.base/src/org/compiere/report/TrialBalance.java index 6b125e6a22..859ca2791d 100644 --- a/org.adempiere.base/src/org/compiere/report/TrialBalance.java +++ b/org.adempiere.base/src/org/compiere/report/TrialBalance.java @@ -45,7 +45,7 @@ import org.compiere.util.Msg; * @see https://sourceforge.net/p/adempiere/feature-requests/631/ * @version $Id: TrialBalance.java,v 1.2 2006/07/30 00:51:05 jjanke Exp $ */ -@org.adempiere.base.annotation.Process +@org.adempiere.base.annotation.Process public class TrialBalance extends SvrProcess { /** AcctSchame Parameter */ @@ -284,8 +284,12 @@ public class TrialBalance extends SvrProcess createBalanceLine(); createDetailLines(); - // int AD_PrintFormat_ID = 134; - // getProcessInfo().setTransientObject (MPrintFormat.get (getCtx(), AD_PrintFormat_ID, false)); + final String sql = """ + DELETE FROM T_TrialBalance WHERE AD_PInstance_ID=? + AND Account_ID IN (SELECT Account_ID FROM T_TrialBalance WHERE AD_PInstance_ID=? AND LevelNo=0 AND AmtAcctBalance = 0) + AND NOT EXISTS (SELECT 1 FROM T_TrialBalance tbi WHERE AD_PInstance_ID=? AND tbi.Account_ID=T_TrialBalance.Account_ID AND LevelNo>0)"""; + + DB.executeUpdateEx(sql, new Object[] {getAD_PInstance_ID(),getAD_PInstance_ID(),getAD_PInstance_ID()}, get_TrxName()); if (log.isLoggable(Level.FINE)) log.fine((System.currentTimeMillis() - m_start) + " ms"); return "";