Ciao,
in un filtro di un attributo reference di un processo vorrei filtrare in base al valore di un campo lookup non mandatorio; pertanto questo può anche non essere settato. In pratica vorrei una cosa del tipo:
from Asset where TechnicalStatus="working" or Techicalstatus=""
Ho fatto almeno una dozzina di tentativi, ma senza successo e il manuale non sembra riportare esempi di questo tipo.
Grazie
Paolo Larcheri
Previously Paolo wrote:
from Asset where TechnicalStatus="working" or TechnicalStatus=""
Sembra proprio che i filtri CQL degli attributi reference abbiano qualche problema con le espressioni complesse (cioé con operatori booleani).
Nella definzione di un attributo reference in processo perfettamente funzionante ho il seguente filtro:
from Computer where AdministrativeStatus="not assigned"
Se "arricchisco" il filtro così:
from Computer where AdministrativeStatus="not assigned" or AdministrativeStatus="spare"
il processo smette di funzionare ed inizia a lanciare eccezioni del tipo:
org.cmdbuild.exception.NotFoundException: CLASS_NOTFOUND 42470
at org.cmdbuild.exception.NotFoundException$NotFoundExceptionType.createException(NotFoundException.java:23)
at org.cmdbuild.dao.backend.SchemaCache.getTable(SchemaCache.java:60)
at org.cmdbuild.dao.backend.postgresql.PGCMBackend.getTable(PGCMBackend.java:1440)
at org.cmdbuild.elements.TableFactoryImpl.get(TableFactoryImpl.java:35)
at org.cmdbuild.elements.CardImpl.(CardImpl.java:20)
Anche riportando il filtro alla situazione iniziale quel processo restituirà sempre quell'errore. L'unico modo che ho trovato per risolvere è riavviare la webapp tramite Tomcat manager.
La domanda che mi sto ponendo è: i filtri cql supportano espressioni "complesse"?
Grazie
Paolo Larcheri
Previously Paolo wrote:
Previously Paolo wrote:
from Asset where TechnicalStatus="working" or TechnicalStatus=""
Sembra proprio che i filtri CQL degli attributi reference abbiano qualche problema con le espressioni complesse (cioé con operatori booleani).
Nella definzione di un attributo reference in processo perfettamente funzionante ho il seguente filtro:
from Computer where AdministrativeStatus="not assigned"
Se "arricchisco" il filtro così:
from Computer where AdministrativeStatus="not assigned" or AdministrativeStatus="spare"
All'ennesimo tentativo... con le parentesi sembra funzionare:
from Computer where (AdministrativeStatus="not assigned" or AdministrativeStatus="spare" or AdministrativeStatus="")
PL