Script per mostrare lista con flag
Moderatore: Moderatori
-
- Messaggi: 10
- Iscritto il: giovedì 18 aprile 2024, 10:10
- Versione FileMaker: 20.3
- Sistema operativo: Windows
Script per mostrare lista con flag
Buongiorno a tutti, sono una autodidatta di FileMaker. Lo usiamo in ufficio come gestionale e di tanto in tanto ho la necessità di effettuare delle modifiche.
Ora sono in difficoltà con uno script. Ho una serie di record che contengono vari dati, tra cui una casella di controllo da spuntare o lasciare in bianco; la lista valori corrispondente è solo 1. Lo script dovrebbe far sì che la lista mostri solo i record senza la spunta. Ho quindi impostato il valore "0", ma in questo modo lo script non mostra alcun record. Per verificare che fosse corretto, ho impostato il valore "1" e in questo caso lo script propone solo i record con la spunta.
Non riesco a capire dove sbaglio: spero di aver descritto correttamente la situazione.
Grazie
Ora sono in difficoltà con uno script. Ho una serie di record che contengono vari dati, tra cui una casella di controllo da spuntare o lasciare in bianco; la lista valori corrispondente è solo 1. Lo script dovrebbe far sì che la lista mostri solo i record senza la spunta. Ho quindi impostato il valore "0", ma in questo modo lo script non mostra alcun record. Per verificare che fosse corretto, ho impostato il valore "1" e in questo caso lo script propone solo i record con la spunta.
Non riesco a capire dove sbaglio: spero di aver descritto correttamente la situazione.
Grazie
- fabio.beri
- Messaggi: 2041
- Iscritto il: sabato 4 ottobre 2014, 16:24
- Versione FileMaker: 2023
- Sistema operativo: Win/Mac
Re: Script per mostrare lista con flag
Salve. Nello script:
PASSA AL MODO TROVA
IMPOSTA CAMPO [TABELLA::CAMPO] CON "="
ESEGUI LA RICERCA
PASSA AL MODO TROVA
IMPOSTA CAMPO [TABELLA::CAMPO] CON "="
ESEGUI LA RICERCA
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
- fabio.beri
- Messaggi: 2041
- Iscritto il: sabato 4 ottobre 2014, 16:24
- Versione FileMaker: 2023
- Sistema operativo: Win/Mac
Re: Script per mostrare lista con flag
La ricerca con il carattere "=" (senza le virgolette), consente di trovare tutti i records privi di valore nel campo.
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
-
- Messaggi: 10
- Iscritto il: giovedì 18 aprile 2024, 10:10
- Versione FileMaker: 20.3
- Sistema operativo: Windows
Re: Script per mostrare lista con flag
Grazie per la risposta e la spiegazione. Qualcosa però non va, perché il risultato è una lista vuota.
Questo è quello che ho inserito (fa parte di uno script più lungo con diversi parametri, che non ho impostato io):
Else If [ Get ( ParametroScript ) = "assemblaggi" ]
Vai al formato [ “assemblaggi elenco” (ASSEMBLAGGI) ]
Passa al modo Trova [ ]
[ Pausa: Disattivata]
Imposta campo [ ASSEMBLAGGI::flagChiuso; "=" ]
Esegui la ricerca [ ]
Ordina i record [ ]
[ Senza finestra ]
Vai a Record/Richiesta/Pagina [ Primo ]
Se invece inserisco: Imposta campo [ ASSEMBLAGGI::flagChiuso; "1" ] compare l'elenco dei record con la spunta.
Questo è quello che ho inserito (fa parte di uno script più lungo con diversi parametri, che non ho impostato io):
Else If [ Get ( ParametroScript ) = "assemblaggi" ]
Vai al formato [ “assemblaggi elenco” (ASSEMBLAGGI) ]
Passa al modo Trova [ ]
[ Pausa: Disattivata]
Imposta campo [ ASSEMBLAGGI::flagChiuso; "=" ]
Esegui la ricerca [ ]
Ordina i record [ ]
[ Senza finestra ]
Vai a Record/Richiesta/Pagina [ Primo ]
Se invece inserisco: Imposta campo [ ASSEMBLAGGI::flagChiuso; "1" ] compare l'elenco dei record con la spunta.
- fabio.beri
- Messaggi: 2041
- Iscritto il: sabato 4 ottobre 2014, 16:24
- Versione FileMaker: 2023
- Sistema operativo: Win/Mac
Re: Script per mostrare lista con flag
Leggendo lo script si sta dicendo a FileMaker:
VAI IN MODO TROVA
DISATTIVA LA PAUSA
IMPOSTA IL CAMPO CHIAMATO "FLAG_CHIUSO" DELLA TABELLA ASSEMBLAGGI CON IL VALORE "UGUALE A VUOTO"
ESEGUI LA RICERCA
ORDINA
VAI AL PRIMO RECORD
Ora, alla luce di ciò, se si vuole trovare tutti i records vuoti in quel campo, loi script è corretto, altrimenti va modificato. Non potendo vedere i dati, lascio a Lei di valutare la situazione.
VAI IN MODO TROVA
DISATTIVA LA PAUSA
IMPOSTA IL CAMPO CHIAMATO "FLAG_CHIUSO" DELLA TABELLA ASSEMBLAGGI CON IL VALORE "UGUALE A VUOTO"
ESEGUI LA RICERCA
ORDINA
VAI AL PRIMO RECORD
Ora, alla luce di ciò, se si vuole trovare tutti i records vuoti in quel campo, loi script è corretto, altrimenti va modificato. Non potendo vedere i dati, lascio a Lei di valutare la situazione.
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
-
- Messaggi: 68
- Iscritto il: venerdì 11 dicembre 2020, 8:32
- Versione FileMaker: 14
- Sistema operativo: OSX
Re: Script per mostrare lista con flag
Mi permetto di allegare un file di esempio, utilizzando solamente il comando di script "Esegui la ricerca"
Wiwa

Wiwa
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Francesco
meccanico91@alice.it
meccanico91@alice.it
-
- Messaggi: 10
- Iscritto il: giovedì 18 aprile 2024, 10:10
- Versione FileMaker: 20.3
- Sistema operativo: Windows
Re: Script per mostrare lista con flag
Grazie, soprattutto per il file di esempio, che è molto chiaro.
Ho semplificato il mio script come da esempio ma la ricerca per record vuoti non funziona; se imposto la ricerca per casella di controllo "1" invece funziona.
Questa è la parte di script che mi interessa:
Else If [ Get ( ParametroScript ) = "assemblaggi" ]
Vai al formato [ “assemblaggi elenco” (ASSEMBLAGGI) ]
Esegui la ricerca [ Richieste di ricerca specificate: Ricerca dei record; Criteri: ASSEMBLAGGI::flagChiuso: “=” ][ Ripristina ]
Ordina i record [ ][ Senza finestra ]
Vai a Record/Richiesta/Pagina [ Primo ]
In questo modo, ottengo una lista vuota.
Se al posto di "=" metto "1" invece ottengo una lista di record con la spunta.
Non riesco a capire cosa non funziona. Il campo flagChiuso è un gruppo caselle di controllo, che prende valori da _boolean (che ha un unico valore, 1).
Ho semplificato il mio script come da esempio ma la ricerca per record vuoti non funziona; se imposto la ricerca per casella di controllo "1" invece funziona.
Questa è la parte di script che mi interessa:
Else If [ Get ( ParametroScript ) = "assemblaggi" ]
Vai al formato [ “assemblaggi elenco” (ASSEMBLAGGI) ]
Esegui la ricerca [ Richieste di ricerca specificate: Ricerca dei record; Criteri: ASSEMBLAGGI::flagChiuso: “=” ][ Ripristina ]
Ordina i record [ ][ Senza finestra ]
Vai a Record/Richiesta/Pagina [ Primo ]
In questo modo, ottengo una lista vuota.
Se al posto di "=" metto "1" invece ottengo una lista di record con la spunta.
Non riesco a capire cosa non funziona. Il campo flagChiuso è un gruppo caselle di controllo, che prende valori da _boolean (che ha un unico valore, 1).
- fabio.beri
- Messaggi: 2041
- Iscritto il: sabato 4 ottobre 2014, 16:24
- Versione FileMaker: 2023
- Sistema operativo: Win/Mac
Re: Script per mostrare lista con flag
Scusate, ma già al secondo post era chiaro che quanto indicato nel primo post non era corrispondente a verità.
Quando si scrive
Di conseguenza è impossibile, che facendo una richiesta di ricerca con valore "=" , non escano records. E' semplicemente impossibile.
Quando si scrive
Significa che i record hanno, nella tabella, valore 1 oppure valore vuoto.Ora sono in difficoltà con uno script. Ho una serie di record che contengono vari dati, tra cui una casella di controllo da spuntare o lasciare in bianco; la lista valori corrispondente è solo 1
Di conseguenza è impossibile, che facendo una richiesta di ricerca con valore "=" , non escano records. E' semplicemente impossibile.
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
-
- Messaggi: 10
- Iscritto il: giovedì 18 aprile 2024, 10:10
- Versione FileMaker: 20.3
- Sistema operativo: Windows
Re: Script per mostrare lista con flag
Fabio, scrivi
Script(tale e quale a prima):
Else If [ Get ( ParametroScript ) = "assemblaggi" ]
Vai al formato [ “assemblaggi elenco” (ASSEMBLAGGI) ]
Esegui la ricerca [ Richieste di ricerca specificate: Ricerca dei record; Criteri: ASSEMBLAGGI::flagChiuso: “=” ][ Ripristina ]
Ordina i record [ ][ Senza finestra ]
Vai a Record/Richiesta/Pagina [ Primo ]
Ho ottenuto una lista con un record. I record del formato sono 12. Quelli con il flag spuntato sono 4. Quindi dovrei ricavare una lista di 8 record senza flag, ma appunto me ne mostra 1 solo (creato 10 minuti fa, gli altri sono stati creati prima che scrivessi lo script).
A questo punto ho creato un nuovo record. Ho riapplicato lo script e trovo 2 record, quelli creati oggi. La casella del flag esisteva già da prima che mettessi mano allo script.
Non capisco a cosa ti riferisci. Forse sono stata poco precisa, non lo escludo.Scusate, ma già al secondo post era chiaro che quanto indicato nel primo post non era corrispondente a verità.
Eppure era così. Dico era, perché ho riprovato e qualcosa è cambiato.Di conseguenza è impossibile, che facendo una richiesta di ricerca con valore "=" , non escano records. E' semplicemente impossibile.
Script(tale e quale a prima):
Else If [ Get ( ParametroScript ) = "assemblaggi" ]
Vai al formato [ “assemblaggi elenco” (ASSEMBLAGGI) ]
Esegui la ricerca [ Richieste di ricerca specificate: Ricerca dei record; Criteri: ASSEMBLAGGI::flagChiuso: “=” ][ Ripristina ]
Ordina i record [ ][ Senza finestra ]
Vai a Record/Richiesta/Pagina [ Primo ]
Ho ottenuto una lista con un record. I record del formato sono 12. Quelli con il flag spuntato sono 4. Quindi dovrei ricavare una lista di 8 record senza flag, ma appunto me ne mostra 1 solo (creato 10 minuti fa, gli altri sono stati creati prima che scrivessi lo script).
A questo punto ho creato un nuovo record. Ho riapplicato lo script e trovo 2 record, quelli creati oggi. La casella del flag esisteva già da prima che mettessi mano allo script.
- fabio.beri
- Messaggi: 2041
- Iscritto il: sabato 4 ottobre 2014, 16:24
- Versione FileMaker: 2023
- Sistema operativo: Win/Mac
Re: Script per mostrare lista con flag
Dunque, ci tengo a spiegare la mia affermazione. Quando scrivo, che "quanto indicato non era corrispondente a realtà", è perché a determinata situazione, corrispondono dei risultati.
Nello specifico:
1. Se un record è vuoto, si può interrogare e individuare, in modo TROVA con il carattere " = " e quel record uscirà
2. Se il record non è vuoto, si può interrogare e individuare, in modo TROVA con il carattere "* " e quel record uscirà.
Non esistono altre casistiche, quindi quando scrivo che non corrispondeva a realtà, significa che se Lei scrive che in alcuni record il campo era vuoto, possiamo essere sicuri che quei records sono interrogabili con il carattere "=". Il fatto che non uscissero in ricerca significa che quei campi, diversamente da quanto rappresentato, erano semplicementi pieni di un qualche valore.
Il fatto che in un determinato formato, l'utente non veda il valore, non significa che il campo sia vuoto. Questo è un concetto fondamentale, perché l'oggetto potrebbe avere delle impostazioni che fanno sparire il valore (colore bianco sul campo piuttosto che impostazione sul "nascondi se".
Altro concetto basiliare: le situazioni, in un file FileMaker, non cambiano da sole. Sarà l'utente a cambiare qualcosa, come valori, come calcoli, come script, ma le cose non cambiano da sole.
A questo punto, per chiudere il tema, consiglio di fare ciò:
Crei un formato nuovo con VISTA MODULO
Inserisca i campi nel formato, senza alcuna proprietà (lista valori, caselle di verifica...)
Scorra i record in avanti a partire dal primo, per assicurarsi che i campi siano effettivamente privi di valore
Clicchi nel MENU MODO e sull'opzione PASSA AL MODO TROVA
Scriva nel campo incriminato, il carattere = e prema il tasto INVIO. Dovranno uscire NECESSARIAMENTE i records vuoti.
Se il risultato Le aggrada e soddisfa la visualizzazione dei records vuoti, allora il problema è nello script e non nei records
A quel punto, nel dover modificare lo script, lo strutturi in maniera trasparente, ossia così, come le ho scritto:
anziché così
perché nel primo caso, rileggendo lo script, questo sarà più immediato e di facile lettura. Mentre con il memorizzare dentro "esegui la ricerca", sarà più facile ricorrere agli errori. Un ultimo concetto fondamentale: Lo script deve essere l'automatismo di quanto l'utente farebbe a mano", quindi in questo caso, si proverà una ricerca a mano e se la ricerca funziona, si applica nello script
Spero di esserle stato di aiuto. Buona giornata.
Nello specifico:
1. Se un record è vuoto, si può interrogare e individuare, in modo TROVA con il carattere " = " e quel record uscirà
2. Se il record non è vuoto, si può interrogare e individuare, in modo TROVA con il carattere "* " e quel record uscirà.
Non esistono altre casistiche, quindi quando scrivo che non corrispondeva a realtà, significa che se Lei scrive che in alcuni record il campo era vuoto, possiamo essere sicuri che quei records sono interrogabili con il carattere "=". Il fatto che non uscissero in ricerca significa che quei campi, diversamente da quanto rappresentato, erano semplicementi pieni di un qualche valore.
Il fatto che in un determinato formato, l'utente non veda il valore, non significa che il campo sia vuoto. Questo è un concetto fondamentale, perché l'oggetto potrebbe avere delle impostazioni che fanno sparire il valore (colore bianco sul campo piuttosto che impostazione sul "nascondi se".
Altro concetto basiliare: le situazioni, in un file FileMaker, non cambiano da sole. Sarà l'utente a cambiare qualcosa, come valori, come calcoli, come script, ma le cose non cambiano da sole.
A questo punto, per chiudere il tema, consiglio di fare ciò:
Crei un formato nuovo con VISTA MODULO
Inserisca i campi nel formato, senza alcuna proprietà (lista valori, caselle di verifica...)
Scorra i record in avanti a partire dal primo, per assicurarsi che i campi siano effettivamente privi di valore
Clicchi nel MENU MODO e sull'opzione PASSA AL MODO TROVA
Scriva nel campo incriminato, il carattere = e prema il tasto INVIO. Dovranno uscire NECESSARIAMENTE i records vuoti.
Se il risultato Le aggrada e soddisfa la visualizzazione dei records vuoti, allora il problema è nello script e non nei records
A quel punto, nel dover modificare lo script, lo strutturi in maniera trasparente, ossia così, come le ho scritto:
Codice: Seleziona tutto
Passa al modo Trova [ ]
[ Pausa: Disattivata]
Imposta campo [ ASSEMBLAGGI::flagChiuso; "=" ]
Esegui la ricerca [ ]
Codice: Seleziona tutto
Vai al formato [ “assemblaggi elenco” (ASSEMBLAGGI) ]
Esegui la ricerca [ Richieste di ricerca specificate: Ricerca dei record; Criteri: ASSEMBLAGGI::flagChiuso: “=” ][ Ripristina ]
Spero di esserle stato di aiuto. Buona giornata.
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024