diff --git a/org.adempiere.base/src/org/compiere/model/MLookupFactory.java b/org.adempiere.base/src/org/compiere/model/MLookupFactory.java index 7f9bca2eff..b3f1967920 100644 --- a/org.adempiere.base/src/org/compiere/model/MLookupFactory.java +++ b/org.adempiere.base/src/org/compiere/model/MLookupFactory.java @@ -772,7 +772,14 @@ public class MLookupFactory return lInfo; } // getLookup_TableDir - private static StringBuilder getDisplayColumn(Language language, String TableName, ArrayList list) { + private static StringBuilder getDisplayColumn(Language language, + String tableName, ArrayList list) { + return getDisplayColumn(language, tableName, list, null); + } + + private static StringBuilder getDisplayColumn(Language language, + String TableName, ArrayList list, + String baseTable) { StringBuilder displayColumn = new StringBuilder(); int size = list.size(); // Get Display Column @@ -787,7 +794,8 @@ public class MLookupFactory displayColumn.append("NVL("); // translated - if (ldc.IsTranslated && !Env.isBaseLanguage(language, TableName) && !ldc.IsVirtual) + if (ldc.IsTranslated && !Env.isBaseLanguage(language, TableName) && !ldc.IsVirtual + && baseTable != null && !(TableName+"_Trl").equalsIgnoreCase(baseTable)) { displayColumn.append(TableName).append("_Trl.").append(ldc.ColumnName); } @@ -886,11 +894,12 @@ public class MLookupFactory // StringBuilder embedSQL = new StringBuilder("SELECT "); - StringBuilder displayColumn = getDisplayColumn(language, TableName, list); + StringBuilder displayColumn = getDisplayColumn(language, TableName, list, BaseTable); embedSQL.append(displayColumn.toString()); embedSQL.append(" FROM ").append(TableName); // Translation - if (isTranslated && !Env.isBaseLanguage(language, TableName)) + if ( isTranslated && !Env.isBaseLanguage(language, TableName) + && !(TableName+"_Trl").equalsIgnoreCase(BaseTable)) // IDEMPIERE-1070 { embedSQL.append(" INNER JOIN ").append(TableName).append("_TRL ON (") .append(TableName).append(".").append(KeyColumn)