Index: src/org/openbravo/erpCommon/utility/ComboTableData.java
===================================================================
--- src/org/openbravo/erpCommon/utility/ComboTableData.java	(revision 14780)
+++ src/org/openbravo/erpCommon/utility/ComboTableData.java	(working copy)
@@ -371,6 +371,11 @@
    *          String for group fields.
    */
   public void addWhereField(String _field, String _type) {
+    // adding TO_NUMBER for identifiers
+    // replacing _id = ? like expressions
+    _field = _field.replaceAll( "(?i)_ID *= *\\?", "_ID = TO_NUMBER(?)" );
+    // replacing _id = (?) like expressions
+    _field = _field.replaceAll( "(?i)_ID *= *\\( *\\? *\\)", "_ID = TO_NUMBER(?)" );
     QueryFieldStructure p = new QueryFieldStructure(_field, "", "", _type);
     if (this.where == null)
       this.where = new Vector<QueryFieldStructure>();
Index: src-wad/src/org/openbravo/wad/Wad.java
===================================================================
--- src-wad/src/org/openbravo/wad/Wad.java	(revision 14780)
+++ src-wad/src/org/openbravo/wad/Wad.java	(working copy)
@@ -2407,7 +2407,10 @@
           for (int j=0;j<vecWhere2.size();j++) {
             fields.append(vecWhere2.elementAt(j));
           }
-          fields.append(" AND table1." + fieldsDef[i].name + " = ? ");
+          if(fieldsDef[i].name.toUpperCase().endsWith("_ID"))
+            fields.append(" AND table1." + fieldsDef[i].name + " = TO_NUMBER(?) ");
+          else
+            fields.append(" AND table1." + fieldsDef[i].name + " = ? ");
           fd.defaultvalue=fields.toString();
           fd.whereclause = "<Parameter name=\"" + fd.name + "\"/>";
           v.addElement(fd);
@@ -2432,7 +2435,10 @@
           for (int j=0;j<vecWhere2.size();j++) {
             fields.append(vecWhere2.elementAt(j));
           }
-          fields.append(" AND table1." + fieldsDef[i].name + " = ? ");
+          if(fieldsDef[i].name.toUpperCase().endsWith("_ID"))
+            fields.append(" AND table1." + fieldsDef[i].name + " = TO_NUMBER(?) ");
+          else
+            fields.append(" AND table1." + fieldsDef[i].name + " = ? ");
           fd.defaultvalue=fields.toString();
           fd.whereclause = "<Parameter name=\"" + fd.name + "\"/>";
           v.addElement(fd);
