Automatizzazione delle attività con gli script > Creazione e modifica degli script > Esecuzione di script in FileMaker Server e FileMaker Cloud for AWS
 

Esecuzione di script in FileMaker Server e FileMaker Cloud for AWS

In genere gli script nei file ospitati da FileMaker Server e FileMaker Cloud for AWS vengono eseguiti sul client. Tuttavia, è possibile eseguire uno script sul server (uno script lato server) utilizzando:

l'istruzione di script Esegui script su server in uno script in esecuzione su un client

un programma (vedere la Guida di FileMaker Server o la documentazione di FileMaker Cloud for AWS nel centro documentazione prodotto)

Esecuzione differenziata degli script lato server

Uno script avviato da uno dei metodi riportati in precedenza viene eseguito dal Motore di script FileMaker (FMSE), un componente di FileMaker Server e FileMaker Cloud for AWS. FMSE è un client che esegue ogni script in una sessione distinta sul server. Di conseguenza, gli script lato server:

non hanno il contesto del client (formato corrente, gruppo trovato, criterio di ordinamento, record, valori di campi globali e valori di variabili locali o globali)

È possibile passare le informazioni sul contesto del client a uno script lato server utilizzando il parametro di script nell'istruzione di script Esegui script su server. Lo script lato server può utilizzare queste informazioni nelle istruzioni di script come l'istruzione di script Vai al formato e l'istruzione di script Esegui la ricerca per specificare il formato e il gruppo trovato su cui agire.

supportano parametri di script e risultati degli script fino a 1 milione di caratteri

possono accedere ad altri file FileMaker Pro Advanced solo se vengono soddisfatte entrambe le condizioni riportate di seguito:

i file si trovano sullo stesso host

i file sono già stati aperti dal client che ha avviato lo script lato server oppure sono stati configurati con un nome utente e una password specificati nella finestra di dialogo Opzioni file del file

Gli script lato server vengono eseguiti nello stesso modo, indipendentemente da come sono stati avviati, salvo le eccezioni riportate di seguito:

Un client che utilizza l'istruzione di script Esegui script su server può scegliere di attendere il completamento dello script sul server e utilizzare la funzione Get ( RisultatoScript ) per catturare il risultato.

È possibile scegliere di terminare un programma se lo script in esecuzione supera il limite di tempo specificato.

Gestione delle istruzioni di script non supportate

Molte istruzioni di script sono supportate anche da FMSE. Tuttavia, se si tenta di eseguire un'istruzione di script non supportata, viene restituito l'errore 3 ("Comando non disponibile"), l'istruzione non supportata viene saltata e si passa all'istruzione successiva. Per gestire le istruzioni non supportate, lo script può utilizzare l'istruzione di script If con:

la funzione Get ( UltimoErrore ) dopo un'istruzione per verificare che l'istruzione sia supportata e, in caso contrario, eseguire le istruzioni supportate. Ad esempio, l'istruzione di script Apri file non è supportata da FMSE; pertanto, lo script di seguito in esecuzione sul server salterà questa istruzione e restituirà "non supportata" nel risultato.

Apri file [Apri file nascosto: Disattivata; "Backup fatture"]
If [Get ( UltimoErrore ) = 3]
Esci dallo script [Risultato testo: "non supportata"]
End If

la funzione Get ( VersioneApplicazione ) prima di altre istruzioni per controllare se lo script è in esecuzione su FileMaker Server o FileMaker Cloud for AWS e quindi eseguire solo le istruzioni supportate. Ad esempio:

If [ContaRicorrenze ( Get ( VersioneApplicazione ) ; "Server" ) > 0]
# Continua con le istruzioni di script supportate da FMSE
End If

Per conoscere le istruzioni di script supportate da FMSE, nell'Area di lavoro script di FileMaker Pro Advanced, aprire uno script, fare clic su Pulsante Nuova cartella, quindi selezionare Server. Le istruzioni di script non supportate vengono visualizzate in un colore diverso. È anche possibile fare riferimento alla tabella Compatibilità di ciascuna istruzione di script in Istruzioni di script.

Motivi per eseguire uno script sul server

per migliorare le prestazioni riducendo il traffico di rete tra client e server

per trasferire le operazioni che richiedono più tempo dai client più lenti a un server più rapido

per consentire ai client FileMaker Go di eseguire le operazioni che richiedono i plug-in, supportati in FileMaker Server e FileMaker Cloud for AWS, ma non in FileMaker Go

per utilizzare le istruzioni di script Importa record o Esegui SQL con un'origine dati ODBC che utilizza il DSN del server

Note 

Se i record sono bloccati da un client, gli script lato server non possono accedere ai dati non salvati o modificare i contenuti di tali record.

L'esecuzione di script lato server apre e chiude i file che contengono gli script. Pertanto, quando lo script inizia viene attivato il trigger di script SuAperturaPrimaFinestra e quando lo script finisce viene attivato il trigger di script SuChiusuraUltimaFinestra.

Gli script lato server possono utilizzare l'istruzione di script Esegui script per eseguire dei subscript, anch'essi eseguiti sul server, solo se questi si trovano in file sullo stesso server e sono già aperti dal client.

Gli script eseguiti da Esegui script su server utilizzano lo stesso account del client. Gli script eseguiti da un programma utilizzano l'account specificato nel programma.

Gli script lato server non permettono a un client di visualizzare i messaggi di avviso FileMaker come quando gli script vengono eseguiti sui client; pertanto, gli script lato server vengono sempre eseguiti come se l'istruzione di script Imposta cattura errori fosse attivata. Utilizzare la funzione Get ( UltimoErrore ) negli script lato server per gestire le condizioni di errore. Per semplificare la risoluzione dei problemi, gli errori vengono scritti anche nel registro eventi di FileMaker Server e FileMaker Cloud for AWS.

I client non possono arrestare gli script lato server. Tuttavia, uno script lato server può essere arrestato se:

un amministratore server arresta lo script (visualizzato come client distinto che può essere scollegato nell'Admin Console per FileMaker Server o FileMaker Cloud for AWS

lo script in esecuzione supera il limite di tempo specificato nel programma che lo ha avviato

lo script incontra un'istruzione di script sconosciuta (vedere l'istruzione di script Consenti interruzione utente)

Vedere la Guida di FileMaker Server o la documentazione di FileMaker Cloud for AWS.

Negli script lato server, le funzioni relative all'hardware, come Get ( IndirizzoIPSistema ), restituiscono informazioni dal componente server database di FileMaker Server e FileMaker Cloud for AWS, non dal client.

Per gli script lato server, l'accesso ai file è limitato alla cartella Documenti e alla cartella temporanea. Vedere Percorsi negli script lato server.

Negli script lato server, le istruzioni di script con l'opzione Con finestra di dialogo attivata non consentono di visualizzare le finestre di dialogo e possono restituire un errore. Per evitare questo errore, disattivare Con finestra di dialogo negli script lato server.