diff --git a/org.adempiere.base/src/org/compiere/model/GridTab.java b/org.adempiere.base/src/org/compiere/model/GridTab.java index ffac3a3dca..52fe5abc7d 100644 --- a/org.adempiere.base/src/org/compiere/model/GridTab.java +++ b/org.adempiere.base/src/org/compiere/model/GridTab.java @@ -2794,7 +2794,8 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable { MLookup mLookup = (MLookup)dependentField.getLookup(); // if the lookup is dynamic (i.e. contains this columnName as variable) - if (mLookup.getValidation().indexOf("@"+columnName+"@") != -1) + if (mLookup.getValidation().indexOf("@"+columnName+"@") != -1 + || mLookup.getValidation().matches(".*[@]"+columnName+"[:].+[@].*$")) { if (log.isLoggable(Level.FINE)) log.fine(columnName + " changed - " + dependentField.getColumnName() + " set to null"); diff --git a/org.adempiere.base/src/org/compiere/util/Evaluator.java b/org.adempiere.base/src/org/compiere/util/Evaluator.java index 9b56b85b5d..9ca826fba5 100644 --- a/org.adempiere.base/src/org/compiere/util/Evaluator.java +++ b/org.adempiere.base/src/org/compiere/util/Evaluator.java @@ -293,6 +293,8 @@ public class Evaluator variable = variable.replaceFirst("[0-9][0-9]*\\|", ""); if (variable.indexOf(".") > 0) variable = variable.substring(0, variable.indexOf(".")); + if (variable.indexOf(":") > 0) + variable = variable.substring(0, variable.indexOf(":")); list.add(variable); } } // parseDepends