Automatizzazione delle attività con gli script > Esempi di script
 

Esempi di script

Per scrivere uno script è possibile avvalersi, all'inizio, dell'aiuto di alcuni script di esempio. Per ulteriori script di esempio e informazioni, vedere la FileMaker Community.

Per visualizzare uno script in FileMaker Pro Advanced:

1. Selezionare il menu Script > Area di lavoro script. Oppure, selezionare il menu File > Gestisci > Script.

2. Nel pannello script, fare doppio clic sullo script da visualizzare.

Lo script si apre in una nuova scheda nel pannello modifica script.

Esempi di istruzione If

Le istruzioni di script If, Else If, Else ed End If definiscono una struttura che controlla se le istruzioni vengono eseguite. Il controllo dipende dal risultato di una condizione verificabile o da un calcolo Booleano.

Se il risultato di un calcolo è un numero diverso da zero, esso viene valutato come Vero e vengono eseguite le istruzioni di script successive.

Se il risultato di un calcolo è zero, non compaiono dati o non si risolve in un numero, esso viene valutato come Falso e le istruzioni di script successive non vengono eseguite.

Le istruzioni Else If forniscono test booleani aggiuntivi. Le istruzioni Else offrono istruzioni alternative da eseguire quando tutte le condizioni sono valutate come False.

Esempio 1

Esegue una ricerca. Se non viene trovato alcun record, visualizza una finestra di dialogo personalizzata. Se vengono trovati dei record, ordina il gruppo trovato.

Esegui la ricerca [Ripristina]
If [Get ( ContoTrovati ) = 0]
Mostra finestra personalizz. [" Trova record"; "Nessun record trovato."]
Else
Ordina i record [Ripristina; Con finestra di dialogo: Disattivata]
End If

Esempio 2

Esegue una ricerca. Se non viene trovato alcun record, visualizza una finestra di dialogo personalizzata. Se viene trovato un record, va al formato Dettagli fatture. Se viene trovato più di un record, va al formato Fatture.

Esegui la ricerca [Ripristina]
If [Get ( ContoTrovati ) = 0]
Mostra finestra personalizz. [" Trova record"; " Nessun record trovato."]
Else If [Get ( ContoTrovati ) = 1]
Vai al formato ["Dettagli fatture"]
Else
Vai al formato ["Fatture"]
End If

Esempi di istruzione Loop

Le istruzioni di script Loop, Exit Loop If ed End Loop definiscono una struttura che consente la ripetizione delle istruzioni di script. Le istruzioni comprese tra Loop e End Loop vengono eseguite continuamente finché non viene raggiunta la condizione Exit Loop If o Esci dopo l'ultimo per un'istruzione Vai a Record/Richiesta/Pagina o Vai alla riga del portale.

Utilizzare l'istruzione di script Exit Loop If per specificare un calcolo da valutare. Se il risultato del calcolo è diverso da zero, esso è valutato Vero e il loop si conclude. Se invece il risultato è zero, viene valutato Falso e il loop continua.

Esempio 1

Copia i contenuti di Clienti::Telefono lavoro in Clienti::Recapito diurno in tutti i record.

Vai a Record/Richiesta/Pagina [Primo]
Loop
Imposta campo [Clienti::Recapito diurno; Clienti::Telefono lavoro]
Vai a Record/Richiesta/Pagina [Successivo; Esci dopo l'ultimo: Attivata]
End Loop

Esempio 2

Viene eseguito in modo ciclico nei record per esportare i file nei campi Contenitore. Esce dal loop se un record ha un campo Contenitore vuoto.

Imposta variabile [$PERCORSO; Valore: Get ( PercorsoDocumenti ) & Prodotti::Contenitore]
Vai a Record/Richiesta/Pagina [Primo]
Loop
Exit Loop If [EVuoto ( Prodotti::Contenitore )]
Esporta contenuto campo [Prodotti::Contenitore; "$PERCORSO"; Crea
cartelle: Disattivata]
Vai a Record/Richiesta/Pagina [Successivo; Esci dopo l'ultimo: Attivata]
End Loop

Esempi di script di avvio

Uno script di avvio può personalizzare la visualizzazione di un utente del database o eseguire altre azioni all'apertura del database. Gli script di avvio sono eseguiti dal trigger di script SuAperturaPrimaFinestra. Per informazioni su come impostare uno script di avvio, vedere Impostazione delle opzioni file.

Esempio 1

Passa al formato Amministrazione se all'account è assegnato il set di privilegi Accesso completo. In caso contrario, va al formato Immissione dati.

If [Get ( NomeSetPrivilegiAccount ) = "[Accesso completo]"]
Vai al formato ["Amministrazione"]
Else
Vai al formato ["Immissione dati"]
End If

Esempio 2

Controlla con quale versione di FileMaker Pro Advanced o FileMaker Go è stato aperto il database e va al formato Clienti appropriato.

If [Get ( Dispositivo ) = 3]
Vai al formato ["Clienti iPad"]
Else If [Get ( Dispositivo ) = 4]
Vai al formato ["Clienti iPhone"]
Else
Vai al formato ["Clienti"]
End If

Esegui script ed esempi di parametri di script

Esegui script esegue uno script definito nel file corrente oppure in un altro file FileMaker Pro Advanced.

I parametri di script opzionali possono passare testo ad uno script. Ad esempio è possibile usare un parametro di script per memorizzare il numero del record attivo all'avvio di uno script, permettendo di ritornare facilmente a tale record alla fine dello script. In alternativa è possibile richiamare lo stesso script da pulsanti diversi sullo stesso formato e determinare facilmente quale pulsante ha richiamato lo script usando un parametro di script diverso per ogni pulsante.

Quando si specifica un parametro è possibile accedere ad esso all'interno di uno script oppure passarlo ad altri script usando la funzione Get ( ParametroScript ).

È possibile usare anche parametri complessi, come una lista di nomi o altri valori. È possibile eseguire il parsing dei parametri complessi separati da ritorni a capo con la funzione ValoriaSinistra, la funzione ValoriinMezzo e la funzione ValoriaDestra. Queste funzioni restituiscono i valori iniziale, centrale e finale delle liste separate da ritorni a capo. È possibile eseguire il parsing come testo di parametri complessi separati da altri caratteri usando funzioni quali la funzione Sinistra, la funzione Mezzo e la funzione Destra.

Esempio 1

Esegue lo script "Stampa resoconto fatture" senza parametri.

Vai al formato ["Resoconto fatture"]
Esegui script [Specificato: Da elenco; "Stampa resoconto fatture";
Parametro: ]

Esempio 2

Utilizza un campo, Nome cliente, come parametro. Le fatture del cliente corrente vengono restituite in una nuova finestra con il formato Resoconto fatture.

Script principale: Fatture cliente corrente

Trova i record corrispondenti [Sostituisci; Fatture::ID cliente]
#Richiama il subscript "Visualizza fatture cliente" definito di seguito
Esegui script [Specificato: Da elenco: "Visualizza fatture cliente"; Parametro: Fatture::Nome cliente]

Subscript: Visualizza fatture cliente

Nuova finestra [Nome: "Cliente: " & Get ( ParametroScript ); Stile: Documento]
Vai al formato ["Resoconto fatture"]
Ordina i record [Ripristina; Con finestra di dialogo: Disattivata]

Note

Il parametro di uno script esiste solo per la durata dello script. I parametri di script vengono ripristinati ogni volta che si esegue uno script. Se si vuole che un parametro di script si mantenga mentre un file è aperto, è possibile utilizzare una variabile globale come parametro di script.

Il parametro di uno script esiste solo all'interno dello script padre, a meno che non venga esplicitamente passato ad un altro script usando la funzione Get ( ParametroScript ).

Il parametro di uno script può essere usato (ma non modificato) all'interno di uno script e può essere passato a subscript usando la funzione Get ( ParametroScript ) come parametro per il subscript. È anche possibile specificare parametri diversi ogni volta che il subscript viene richiamato utilizzando Esegui script. Se si cambiano i parametri passati ad un subscript non si modifica il valore dei parametri restituiti da Get ( ParametroScript ) nello script padre.