Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/expressionevaluator/FeatureAttributeElement.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/expressionevaluator/FeatureAttributeElement.java	(revision 44204)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/expressionevaluator/FeatureAttributeElement.java	(revision 44205)
@@ -5,6 +5,7 @@
 import java.util.List;
 import org.apache.commons.lang3.StringUtils;
 import org.gvsig.expressionevaluator.Function;
+import org.gvsig.expressionevaluator.SymbolTable;
 import org.gvsig.expressionevaluator.swing.Element;
 import org.gvsig.expressionevaluator.swing.Element.GroupElement;
 import org.gvsig.expressionevaluator.swing.Element.SimpleElement;
@@ -38,12 +39,12 @@
     final FeatureStore store;
     final FeatureAttributeDescriptor attrdesc;
     List<Element> elements;
-    final ExpressionBuilderConfig configPanel;
+    final ExpressionBuilderConfig config;
     boolean hasMoreElements; 
     
     FeatureAttributeElement(ExpressionBuilderConfig configPanel, FeatureStore store, FeatureAttributeDescriptor attrdesc) {
         super(attrdesc.getName(), "expressionbuilder-element-table-field");
-        this.configPanel = configPanel;
+        this.config = configPanel;
         this.store = store;
         this.attrdesc = attrdesc;
         this.elements = null;
@@ -59,6 +60,16 @@
     public Element get(int index) {
         return this.getElements().get(index);
     }
+    
+    @Override
+    public boolean isEnabled() {
+        if( this.config.isSQLCompatible() ) {
+            if( this.attrdesc.isComputed() ) {
+                return false;
+            }
+        }
+        return true;
+    }
 
     @Override
     public int size() {
@@ -92,7 +103,7 @@
             hasMoreElements = false;
             ExpressionEvaluatorSwingManager manager = ExpressionEvaluatorSwingLocator.getManager();
             final List<Object> values = new ArrayList<>();
-            final int limit = this.configPanel==null? 60 : this.configPanel.getSimpleElementsLimit();
+            final int limit = this.config==null? 60 : this.config.getSimpleElementsLimit();
             final long timeLimit = System.currentTimeMillis() + limit*1000;
             try {
                 FeatureSet set = this.store.getFeatureSet();
@@ -116,7 +127,7 @@
             }
             this.elements = new ArrayList<>();
             for (Object value : values) {
-                this.elements.add(manager.createConstantElement(this.configPanel, value));
+                this.elements.add(manager.createConstantElement(this.config, value));
             }
         }
         return this.elements;
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/impl/expressionevaluator/DefaultFeatureSymbolTable.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/impl/expressionevaluator/DefaultFeatureSymbolTable.java	(revision 44204)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/impl/expressionevaluator/DefaultFeatureSymbolTable.java	(revision 44205)
@@ -10,6 +10,7 @@
 import org.gvsig.fmap.dal.DataManager;
 import org.gvsig.fmap.dal.expressionevaluator.FeatureSymbolTable;
 import org.gvsig.fmap.dal.feature.Feature;
+import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
 import org.gvsig.fmap.dal.feature.FeatureSelection;
 import org.gvsig.fmap.dal.feature.FeatureStore;
 import org.gvsig.fmap.dal.feature.FeatureType;
@@ -144,6 +145,21 @@
     }
 
     @Override
+    public boolean isSQLCompatible(String name) {
+        if( this.type == null ) {
+            return super.isSQLCompatible(name);
+        }
+        FeatureAttributeDescriptor attrdesc = this.type.getAttributeDescriptor(name);
+        if( attrdesc == null ) {
+            return true;
+        }
+        if( attrdesc.isComputed() ) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
     public void setFeature(Feature feature) {
         this.feature = feature;
         this.type = feature.getType();
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/spi/AbstractSymbolTable.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/spi/AbstractSymbolTable.java	(revision 44204)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/spi/AbstractSymbolTable.java	(revision 44205)
@@ -238,4 +238,13 @@
         return other;
     }
 
+    @Override
+    public boolean isSQLCompatible(String name) {
+        Function f = function(name);
+        if( f!=null ) {
+            return f.isSQLCompatible();
+        }
+        return true;
+    }
+
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/SymbolTable.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/SymbolTable.java	(revision 44204)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/SymbolTable.java	(revision 44205)
@@ -16,6 +16,8 @@
     public boolean exists(String name);
 
     public Object value(String name);
+    
+    public boolean isSQLCompatible(String name);
 
     public Collection<String> variables();
 
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/DefaultOptimizer.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/DefaultOptimizer.java	(revision 44204)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/DefaultOptimizer.java	(revision 44205)
@@ -61,6 +61,11 @@
         }
 
         @Override
+        public boolean isSQLCompatible(String name) {
+            return false;
+        }
+
+        @Override
         public Collection<String> variables() {
             return Collections.EMPTY_LIST;
         }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.swing/org.gvsig.expressionevaluator.swing.impl/src/main/java/org/gvsig/expressionevaluator/swing/impl/DefaultJExpressionBuilder.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.swing/org.gvsig.expressionevaluator.swing.impl/src/main/java/org/gvsig/expressionevaluator/swing/impl/DefaultJExpressionBuilder.java	(revision 44204)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.swing/org.gvsig.expressionevaluator.swing.impl/src/main/java/org/gvsig/expressionevaluator/swing/impl/DefaultJExpressionBuilder.java	(revision 44205)
@@ -397,6 +397,7 @@
                         label.setIcon(element.getIcon());
                     }
                     label.setText(element.getName());
+                    label.setEnabled(element.isEnabled());
                 } else {
                     label.setIcon(null);
                     label.setText(Objects.toString(value, ""));
