From c91a13ee88d6b8b140fc5214158eef0a605d316c Mon Sep 17 00:00:00 2001 From: hengsin Date: Tue, 16 Feb 2021 18:14:30 +0800 Subject: [PATCH] IDEMPIERE-4681 Can't use hidden column in display logic (#561) * IDEMPIERE-4681 Can't use hidden column in display logic * IDEMPIERE-4681 Can't use hidden column in display logic handle @ColumnName:0@ and @ColumnName.xyz@ --- .../src/org/compiere/print/DataEngine.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/print/DataEngine.java b/org.adempiere.base/src/org/compiere/print/DataEngine.java index 562ab19748..49c0390a6e 100644 --- a/org.adempiere.base/src/org/compiere/print/DataEngine.java +++ b/org.adempiere.base/src/org/compiere/print/DataEngine.java @@ -279,7 +279,9 @@ public class DataEngine .append(" INNER JOIN AD_Column c ON (pfi.AD_Column_ID=c.AD_Column_ID)") .append(" LEFT OUTER JOIN AD_ReportView_Col rvc ON (pf.AD_ReportView_ID=rvc.AD_ReportView_ID AND c.AD_Column_ID=rvc.AD_Column_ID) ") .append("WHERE pf.AD_PrintFormat_ID=?") // #1 - .append(" AND pfi.IsActive='Y' AND (pfi.IsPrinted='Y' OR c.IsKey='Y' OR pfi.SortNo > 0) ") + .append(" AND pfi.IsActive='Y' AND (pfi.IsPrinted='Y' OR c.IsKey='Y' OR pfi.SortNo > 0 ") + .append(" OR EXISTS(select 1 from AD_PrintFormatItem x where x.AD_PrintFormat_ID=pf.AD_PrintFormat_ID and x.DisplayLogic is not null and ") + .append("(x.DisplayLogic Like '%@'||c.ColumnName||'@%' OR x.DisplayLogic Like '%@'||c.ColumnName||':%@%' OR x.DisplayLogic Like '%@'||c.ColumnName||'.%@%'))) ") .append(" AND pfi.PrintFormatType IN ('" + MPrintFormatItem.PRINTFORMATTYPE_Field + "','" @@ -385,11 +387,6 @@ public class DataEngine groupByColumns.add(tableName+"."+ColumnName); pdc = new PrintDataColumn(AD_Column_ID, ColumnName, AD_Reference_ID, FieldLength, KEY, isPageBreak); // KeyColumn } - // not printed Sort Columns - else if (!IsPrinted) - { - ; - } // -- Parent, TableDir (and unqualified Search) -- else if ( /* (IsParent && DisplayType.isLookup(AD_Reference_ID)) || <-- IDEMPIERE-71 Carlos Ruiz - globalqss */ AD_Reference_ID == DisplayType.TableDir @@ -627,9 +624,6 @@ public class DataEngine } // - if (pdc == null || (!IsPrinted && !IsKey)) - continue; - pdc.setFormatPattern(formatPattern); columns.add(pdc); } // for all Fields in Tab