It is currently 21 April 2025, 16:49 Advanced search

findField Vs Campo Pannello Lookup

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

findField Vs Campo Pannello Lookup

Postby g.cassanelli » 1 April 2013, 23:16

Mi sono accorto di un buchetto: gestione ricerche utente per pannello.

In uscita da un pannello salvo i filtri QBE e relativo codice campo.
Quando l'utente lo chiede recupero i filtri e li applico sui campi corrispondenti.
Funziona correttamente.
Ma se in mezzo ai campi del pannello (visibili o meno non importa) ci metto un campo di lookup, l'indice ritornato (vedi sotto) è aumentato del numero di campi di lookup, con il risultato che il filtro viene applicato al campo seguente per tante posizioni quanti i campi di lookup presenti.

Poniamo un pannello con i campi "AAA", "BBB", "CAMPOLOOKUP", "DBCode", "ZZZ"
In estrazione mi salvo il QBE del campo "DBCode" (è corretto, lo vedo sul db) ed il filtro qbe.

Quando devo applicarlo devo usare istruzioni di questo tipo (il codice campo, nell'esempio "DBCode", ovviamente non è una costante):
IDPanel idp = Pannello.IDPanel()
int IDX = idp.findField("DBCode")
PANEL RICERCA.Set QBE Filter (IDX, "QBE Text")

Nell'esempio specifico IDX viene ritornato = 4 (il primo è lo 0) e quindi il filtro qbe finisce nel campo succcessivo "ZZZ" e, ovviamente, non trova :-(
Informatica ! Meglio lavorare con il granito, è duro, ma è stabile ! - Computer Science ! Better to work with granite, it's hard, but it's stable !

Giuseppe Cassanelli http://www.lab-ud.com
User avatar
g.cassanelli
 
Posts: 2653
Joined: 9 November 2010, 19:00
Location: BOLOGNA

Re: findField Vs Campo Pannello Lookup

Postby d.pierangeli » 2 April 2013, 15:17

Non sono riuscito a replicare il tuo caso, puoi allegare un progettino di esempio?

Forse hai dei campi il cui codice è duplicato, prova a stamparti nel debug la findFieldCode di tutti i campi di pannello, se alcuni campi hanno lo stesso codice il problema dipende da quello.

In quel caso devi aprire la query di lookup nell'albero, fare doppio click sulla colonna collegata al campo e cambiare il nome.
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 8092
Joined: 30 September 2010, 15:35

Re: findField Vs Campo Pannello Lookup

Postby g.cassanelli » 2 April 2013, 16:18

Non ci sono codici doppi, li ho estratti come hai detto e sono tutti diversi.
Il progettino è un probelma: avevo provato in piccolo a replicarlo ma OVVIAMENTE funzionava perfettamente.
Solo che non è che ci siano tante possibilità: la funzione legge i campi, i campi sono questi...
L'unica cosa "strana" è che ci sono campi di lookup ed alcune colonne (i campi che finiscono con "SORT") che sono calcolati per poter riordinare la videata.
Ma sono fisicamente DOPO il campo su cui cerco di filtrare, mentre PRIMA c'è un campo di lookup.

IDGR
NUMEESTRSCAD
ANNULLATOSN
SCAIDESTRSCA
SCATISIDSCAD
SCAMASIDSSCA
SCAMOSIDSCAD
SCAFAVIDSCAD
SCAIDSTRUSCA
SCAIDSTRFUSC
ACINSOLACCOU
SCAIDFUNZSCA
SCAPROINOBSC
SCAPERIOSCAD
SCAULTINOBSC
SCAZOIDSCADE
SCAIDACCOSCA
SDRAGISOCSED
SDCOMUNESEDE
SDSIGLPROSCA
SCASUPPOSCAD
SCAGLIDSCADE
SCAPREC1SCAD
SCAPREC2SCAD
SCAPREC3SCAD
SCADATESTSCA
SCADATRILSCA
SCASTATOSCAD
DATA_ULT_MOD
OP_ULT_MOD
DASPEDIRESN
SDMOBILESEDE
SCAPROGRSCAD
SCAIDSEDESCA
TISDESCRSORT
MASDESCRSORT
FAVDESCRSORT
ZODESCRISORT
MOSDESCRSORT
ACRAGISOCSOR
SDCOMUNESORT
STRDESCRSORT
SCAIDIINTSCA
SCAIDSLEGSCA
SCAPSILERASC
Informatica ! Meglio lavorare con il granito, è duro, ma è stabile ! - Computer Science ! Better to work with granite, it's hard, but it's stable !

Giuseppe Cassanelli http://www.lab-ud.com
User avatar
g.cassanelli
 
Posts: 2653
Joined: 9 November 2010, 19:00
Location: BOLOGNA

Re: findField Vs Campo Pannello Lookup

Postby d.pierangeli » 3 April 2013, 7:26

Se non si replica in un nuovo progetto bisogna vederlo in assistenza, in modo da capire da cosa dipende.
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 8092
Joined: 30 September 2010, 15:35


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot] and 43 guests