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