diff --git a/src/main/java/org/spin/eca56/util/support/documents/Browser.java b/src/main/java/org/spin/eca56/util/support/documents/Browser.java index 85212eb..dfaab57 100644 --- a/src/main/java/org/spin/eca56/util/support/documents/Browser.java +++ b/src/main/java/org/spin/eca56/util/support/documents/Browser.java @@ -22,10 +22,12 @@ import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.stream.Collectors; import org.adempiere.core.domains.models.I_AD_Browse; import org.adempiere.core.domains.models.I_AD_Browse_Field; import org.adempiere.core.domains.models.I_AD_Element; +import org.adempiere.core.domains.models.I_AD_View_Column; import org.adempiere.model.MBrowse; import org.adempiere.model.MBrowseField; import org.adempiere.model.MViewColumn; @@ -109,8 +111,26 @@ public DictionaryDocument withEntity(PO entity) { Map referenceDetail = parseDictionaryEntity(window); documentDetail.put("window", referenceDetail); } + + String queryClause = new Query( + browser.getCtx(), + I_AD_View_Column.Table_Name, + "AD_View_ID = ? AND ColumnSQL LIKE '%@%' ", + null + ) + .setParameters(browser.getAD_View_ID()) + .setOnlyActiveRecords(true) + .list() + .stream() + .map(viewColumn -> { + return viewColumn.getColumnSQL(); + }) + .collect(Collectors.joining(" ")) + ; + documentDetail.put("context_column_names", ReferenceUtil.getContextColumnNames( - Optional.ofNullable(browser.getWhereClause()).orElse("") + Optional.ofNullable(queryClause).orElse("") + + Optional.ofNullable(browser.getWhereClause()).orElse("") ) );