# HG changeset patch
# Parent 2f1f713661c396b4fbc52bc6124d9ef9a9129bf1
re issue 16611: Fix initial filter when using custom query within selector

diff --git a/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/CustomQuerySelectorDatasource.java b/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/CustomQuerySelectorDatasource.java
--- a/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/CustomQuerySelectorDatasource.java
+++ b/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/CustomQuerySelectorDatasource.java
@@ -180,6 +180,7 @@
 
     StringBuffer defaultExpressionsFilter = new StringBuffer();
     boolean hasFilter = false;
+    String valueFilter = null;
     List<SelectorField> fields = OBDao.getActiveOBObjectList(sel,
         Selector.PROPERTY_OBUISELSELECTORFIELDLIST);
     HashMap<String, String> criteria = getCriteria(parameters);
@@ -227,10 +228,16 @@
           }
         }
         additionalFilter.append(whereClause);
+      } else if (field == sel.getValuefield() && value != null ) {
+        // Handle special case we are trying to retrieve a particular object.
+        String whereClause = getWhereClause(value, field, xmlDateFormat);
+        valueFilter = NEW_FILTER_CLAUSE + " (" + whereClause +")";
       }
     }
     if (hasFilter) {
       additionalFilter.append(")");
+    } else if( valueFilter != null ) {
+      additionalFilter.append(valueFilter);
     }
     if (defaultExpressionsFilter.length() > 0) {
       additionalFilter.append(defaultExpressionsFilter);
