It is currently 8 June 2025, 20:11 Advanced search

Ricerca QBE nei campi DocID

Questo forum è nato con lo scopo di raccogliere le proposte di modifica di Instant Developer e discuterne insieme.

Ricerca QBE nei campi DocID

Postby g.anastasi » 7 December 2010, 10:46

Ciao a tutti,
sarebbe utile poter cercare su un campo di pannello di tipo docid anche specificando i seguenti criteri QBE:
- Diverso da (#)
- Vuoto (!)
- Non vuoto (.)

Grazie ancora
:)
User avatar
g.anastasi
 
Posts: 89
Joined: 26 October 2010, 12:05

Re: Ricerca QBE nei campi DocID

Postby g.lanzi » 14 December 2010, 22:19

Le funzionalità di ricerca Query By Example sono disattivate sui campi DocID in quanto i doc id possono contenere caratteri speciali come : ; # = ! . Quindi come hai notato nei campi docid l'unica ricerca possibile è "comincia con". E' strano che un campo DocID sia presente nell'interfaccia video perché è brutto da vedere e difficilmente un utente dovrebbe aver bisogno di cercare per DocID tramite interfaccia.

Mi puoi spiegare bene il caso pratico?

a presto
Giuseppe Lanzi
Director of Support services
Pro Gamma S.p.A.
User avatar
g.lanzi
Pro Gamma
Pro Gamma
 
Posts: 3504
Joined: 29 September 2010, 10:24
Location: Bologna

Re: Ricerca QBE nei campi DocID

Postby g.anastasi » 15 December 2010, 14:18

g.lanzi wrote:Le funzionalità di ricerca Query By Example sono disattivate sui campi DocID in quanto i doc id possono contenere caratteri speciali come : ; # = ! . Quindi come hai notato nei campi docid l'unica ricerca possibile è "comincia con". E' strano che un campo DocID sia presente nell'interfaccia video perché è brutto da vedere e difficilmente un utente dovrebbe aver bisogno di cercare per DocID tramite interfaccia.

Il mio problema non riguarda la ricerca di una stringa docid presente in interfaccia.
g.lanzi wrote:Mi puoi spiegare bene il caso pratico?

Ci e' capitato di dover applicare, tramite un comando, dei filtri ad uno specifico campo di pannello basato su docid e decodificato con smart lookup o value source query.
Purtroppo da codice siamo costretti a mettere una where condition su pannello cosa che ha diversi svantaggi, in particolare che l'utente non ha evidenza del filtro applicato.

Grazie :)
User avatar
g.anastasi
 
Posts: 89
Joined: 26 October 2010, 12:05

Re: Ricerca QBE nei campi DocID

Postby lucabaldini » 16 December 2010, 7:47

Mi infilo in mezzo alla discussione. Non mi è chiaro perché hai dovuto inserire delle Where Clauses per filtrare per un particolare DocID.
In.de esclude già l'uso del LIKE come operatore di ricerca nei campi DocID quindi se scrivo
CampoDiPannello.QbeFilter = DocID
In.de lo trasforma, internamente, in
CampoDiPannello.QbeFilter = "=" + DocID
dato che, come ha già scritto Giuseppe, non avrebbe alcun senso effettuare ricerche con LIKE o altro in campi DocID.
Ma forse il tuo campo non è un "vero DocID" quindi In.de non attiva l'automatismo dell'uguale.
In quel caso puoi scriverlo tu quando attivi la ricerca su quel particolare campo.

Tieni conto che In.de riconosce un campo come DocID solo se:
1) Utilizza un dominio il cui concetto è DO_ID
2) il campo non è visibile a video
Solo in questo caso inserisce automaticamente il carattere '=' davanti all'eventuale criterio di ricerca

N.B. Se vuoi cercare per più DocID è sufficiente che li concateni separati da spazio. In.de trasforma il criterio QBE
DocID1 DocID2 DocID3
in una clausola Where:
where CampoDocID IN ('DocID1', 'DocID2', 'DocID3')
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna

Re: Ricerca QBE nei campi DocID

Postby g.anastasi » 16 December 2010, 12:54

La where condition che applichiamo non e' del tipo CampoDocID = DOCID oppure CampoDocID IN ('DocID1', 'DocID2', 'DocID3'), ma del tipo CampoDocID is null oppure CampoDocID is not null o ancora CampoDocID!=docId .
Per questo motivo abbiamo dovuto inserire delle where condition.
User avatar
g.anastasi
 
Posts: 89
Joined: 26 October 2010, 12:05

Re: Ricerca QBE nei campi DocID

Postby g.lanzi » 16 December 2010, 14:42

Ma il valore con cui fare docid!=[valore] lo inserisce l'utente in un campo di pannello a video?
Giuseppe Lanzi
Director of Support services
Pro Gamma S.p.A.
User avatar
g.lanzi
Pro Gamma
Pro Gamma
 
Posts: 3504
Joined: 29 September 2010, 10:24
Location: Bologna

Re: Ricerca QBE nei campi DocID

Postby g.anastasi » 16 December 2010, 15:10

Ma il valore con cui fare docid!=[valore] lo inserisce l'utente in un campo di pannello a video?

No, perche' non sarebbe possibile per l'utente fare un filtro del genere con la combo della smartlookup/valuesource. Il filtro viene applicato a livello di codice ad esempio tramite una procedura collegata ad un tasto che e' stato cliccato da un utente.
User avatar
g.anastasi
 
Posts: 89
Joined: 26 October 2010, 12:05

Re: Ricerca QBE nei campi DocID

Postby lucabaldini » 17 December 2010, 9:30

@g.anastasi Ho analizzato la questione e... devo ammettere che hai ragione... In effetti non è possibile, ad oggi, utilizzare i QBEFilter per ricerche del tipo:

    - Non uguale a DocID
    - NULL
    - Non NULL
Però penso possano tornare utili specialmente su quei database dove una where clause come

    where ID = [PARAMETRO] or [PARAMETRO] is null
possa essere onerosa in termini di esecuzione se deve essere eseguita sempre (l'operatore OR in alcuni casi particolari rompe un po'...)

Pertanto mi piacerebbe implementarla nella prossima versione. Non dovrebbe richiedere troppo tempo... basta dire che
    - se il criterio di ricerca è uguale a "." allora uso l'espressione SQL "not [CAMPO_DOC_ID] is null"
    - se è '!' allora uso "[CAMPO_DOC_ID] is null"
    - se inizia per # ed è lungo esattamente 21 caratteri (# + DocID) allora uso "<> [CAMPO_DOC_ID]"
Che ne dici?
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna

Re: Ricerca QBE nei campi DocID

Postby g.anastasi » 17 December 2010, 9:41

Cosi va alla grande, tuttavia vi chiedo se in questo modo sarebbe possibile anche effettuare combinazioni del tipo "! or =campodocID"
User avatar
g.anastasi
 
Posts: 89
Joined: 26 October 2010, 12:05

Re: Ricerca QBE nei campi DocID

Postby lucabaldini » 24 February 2011, 14:49

Purtroppo in questo momento non è possibile cercare in un campo DocID utilizzando più criteri. In versione 10 sono riuscito a fare quel che ti dicevo prima...

Però continuo a pensare alla cosa... Magari in una delle prossime versioni riesco a far sì che un campo DocID sia gestito (per quel che riguarda il QBE) esattamente come tutti gli altri campi....
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna

Next

Return to Proposte di modifica

Who is online

Users browsing this forum: No registered users and 7 guests