Esegui script su server con callback

Esegue uno script sul server che ospita il file corrente senza mettere in pausa il client ed esegue lo script di callback specificato sul client quando lo script del server è terminato.

Opzioni 

  • Specificato:

    • Da elenco permette di selezionare lo script da eseguire.

    • Per nome permette di specificare il nome dello script mediante un calcolo. Il nome dello script non fa distinzione tra maiuscole e minuscole.

  • Parametro specifica un parametro di script per lo script specificato.

  • Script di callback specificato è lo script da eseguire sul client dopo che lo script è completato sul server. Scegliere:

    • Da elenco permette di selezionare lo script da eseguire.

    • Per nome permette di specificare il nome dello script mediante un calcolo. Il nome dello script non fa distinzione tra maiuscole e minuscole.

  • Parametro specifica un parametro di script per lo script di callback specificato.

  • Stato specifica come gestire uno script attualmente in esecuzione quando viene eseguito lo script di callback. Le opzioni sono Continua, Interrompi, Esci, Riprendi e Pausa. Vedere Opzioni per la gestione dello script corrente quando si avviano nuovi script.

Compatibilità 

Prodotto Supportata

FileMaker Pro

FileMaker Go

FileMaker WebDirect

FileMaker Server

No

FileMaker Cloud

No

FileMaker Data API

No

Pubblicazione Web personalizzata

No

Creata nella versione 

20.1

Descrizione 

Il file corrente deve essere ospitato su FileMaker Server o FileMaker Cloud. In caso contrario questa istruzione di script restituisce un errore. Vedere Esecuzione di script in FileMaker Server e FileMaker Cloud.

Lo script di callback è programmato per essere eseguito sul client dopo che qualsiasi script corrente è stato completato, come gli script che vengono attivati dall'istruzione di script Installa script SuTimer e il trigger di script SuTransazioneFinestra. Il contesto in cui viene eseguito lo script è sconosciuto, pertanto non si può fare affidamento sul fatto che sia lo stesso di quando era stata eseguita questa istruzione di script. Se necessario, utilizzare il parametro dello script di callback per restituire contesto sufficiente affinché venga eseguito come previsto sul client, come ad esempio il formato e il gruppo trovato da utilizzare.

Nota  Se si specifica un calcolo come parametro nello script di callback, il calcolo viene valutato quando lo script di callback viene eseguito sul client.

Nell'esempio di seguito, non verrebbe restituito nulla poiché $dati non esiste quando lo script di callback viene eseguito sul client.

  • Chiamante

    Imposta variabile [ $dati ; Valore: 1 ]

    Esegui script su server con callback [ Specificato: Da elenco ; "Test" ; Parametro: ; Script di callback specificato: Da elenco ; "Callback" ; Parametro: $dati ; Stato: Continua ]

  • Test

    Imposta variabile [ $dati ; Valore: 2 ]

  • Callback

    Imposta variabile [ $param ; Valore: Get ( ParametroScript ) ]

    Mostra finestra personalizz. [$param]

Note 

  • Lo script di callback non sarà richiamato nei seguenti scenari:

    • Il server o il client si chiudono inaspettatamente.

    • L'utente abbandona il client o chiude il file prima che lo script sul server sia stato completato.

    • La connessione di rete si interrompe mentre l'istruzione di script è in esecuzione. Tuttavia, ricollegandosi entro 10 minuti dal completamento dello script del server, lo script di callback viene eseguito.

  • Istanze multiple di questa istruzione di script possono essere eseguite consecutivamente. Gli script di callback vengono eseguiti nell'ordine in cui vengono completate queste istruzioni di script.

  • Se non viene specificato uno script di callback, questa istruzione di script viene eseguita analogamente all'istruzione di script Esegui script su server.

Esempio 1 

Esegue uno script sul server e invia il nome del formato corrente, l'ID del cliente e l'indirizzo e-mail del cliente come parametro di script. Il server accede al formato e al record specificati nel parametro, salva uno snapshot link del record corrente, invia un'e-mail con lo snapshot link all'indirizzo e-mail specificato nel parametro e restituisce un risultato. Il client recupera il risultato dello script dal server e lo visualizza in una finestra di dialogo personalizzata.

Script principale: invia snapshot link tramite e-mail (client)

Copia
Esegui script su server con callback [ Specificato: Da elenco ; "Invia snapshot link tramite e-mail (server)" ; 
Parametro: Lista ( Get ( NomeFormato ) ; Clienti::ID ; Clienti::E-mail ) ; 
Script di callback specificato: Da elenco ; "Completa messaggio (client)" ; Parametro: ; Stato: Continua ]

Subscript: invia snapshot link tramite e-mail (server)

Copia
Vai al formato [RicavaValore ( Get ( ParametroScript ) ; 1 ) ; Animazione: Nessuna]
Passa al modo Trova [Pausa: Disattivata]
Imposta campo [Clienti::ID ; RicavaValore ( Get ( ParametroScript ) ; 2 ) ]
Esegui la ricerca [ ]
Imposta variabile [ $PERCORSO ; Valore: Get ( PercorsoTemporaneo ) e "Snapshot.fmpsl" ]
Salva record come Snapshot Link [ "$PERCORSO" ; Record corrente; Crea cartelle: Disattivata ]
Invia posta [Invia tramite server SMTP; Senza finestra; A: RicavaValore ( Get ( ParametroScript ) ; 3 ); "$PERCORSO"]
Esci dallo script [Risultato testo: "Snapshot link inviato."]

Script di callback: completa messaggio (client)

Copia
Mostra finestra personalizz. [Get ( RisultatoScript )]