4.3 Tecniche di scripting avanzate
Dopo aver appreso le basi dello scripting in FileMaker, è ora di passare alle tecniche avanzate che vi aiuteranno a sviluppare applicazioni più complesse e robuste. In questa esercitazione ci concentreremo sulla gestione degli errori negli script, sul debug e sulla documentazione degli script e sulla creazione di flussi di lavoro complessi con più script. Queste tecniche miglioreranno la vostra capacità di creare applicazioni FileMaker potenti e affidabili.
Indice dei contenuti
- 4.3 Tecniche di scripting avanzate
- Gestione degli errori negli script
- FileMaker ERP con struttura di script e modulo per sviluppatori chiari e completamente documentati.
- gFM-Business Open Source FileMaker Basis ERP Il software del corso intensivo
- Creare flussi di lavoro complessi con più script
- Uso di script parziali e parametri di script in FileMaker
- Passare più parametri di script
- Vantaggi degli script parziali e dei parametri di script
- Suggerimenti, istruzioni e interfacce per FileMaker e gFM-Business ERP
- Domande frequenti sulle funzioni avanzate degli script
Gestione degli errori negli script
Introduzione alla gestione degli errori
La gestione degli errori è una parte essenziale di qualsiasi script ben sviluppato. In FileMaker, ciò significa che il vostro Scrittura in modo da poter reagire a situazioni inaspettate, come quando un file non viene trovato, un calcolo non riesce o un utente inserisce un dato non valido. Una gestione efficace degli errori garantisce che lo script non si blocchi semplicemente, ma che riconosca l'errore, reagisca in modo appropriato e informi l'utente.
Nozioni di base sulla gestione degli errori
- Rilevamento degli errori attraverso
Impostare la registrazione degli erroriCon la fase di scriptImpostare la registrazione degli errori [On]è possibile impedire a FileMaker di visualizzare automaticamente un messaggio di errore quando si verifica un errore. Potete invece gestire voi stessi la gestione degli errori. - Controllare lo stato di errore con
Get(LastErrorNo)È necessario controllare lo stato di errore dopo ogni fase critica dello script.Get(LastErrorNo)restituisce un codice di errore che può essere inserito in un'opzioneQuando-per reagire all'errore. Esempio:Impostare la registrazione degli errori [On]
Aprire il file ["Database.fmp12"].
Se [Get(LastErrorNo) ≠ 0]
Mostra la propria finestra di dialogo ["Errore"; "Non è stato possibile aprire il file"].
Esce dallo script corrente
Fine Se - Inserire le fasi di gestione degli erroriSe viene rilevato un errore, è possibile aggiungere i passaggi appropriati per risolvere il problema o avvisare l'utente. Ad esempio, annullando le modifiche, salvando un registro degli errori o suggerendo un'azione alternativa.
Gestione avanzata degli errori
- Utilizzo di loop per tentativi di ripetizioneIn alcuni casi, può essere utile effettuare diversi tentativi in caso di errore prima che lo script venga terminato. Esempio:
Impostare la variabile [$Vtry; valore: 1].
Anello
Aprire il file ["Database.fmp12"].
Se [Get(LastErrorNo) = 0]
Esce dal ciclo quando [Get(LastErrorNo) = 0]
Altrimenti Se [$attempt ≥ 3]
Mostra la propria finestra di dialogo ["Errore"; "Non è stato possibile aprire il file dopo 3 tentativi"].
Esce dallo script corrente
Fine SeEsce dal ciclo se [$attempt > 3]
Impostare la variabile [$attempt; valore: $attempt + 1].
Fine del cicloRegistrazione degli erroriNelle applicazioni complesse, può essere utile tenere un registro degli errori in cui vengono salvati i dettagli degli errori che si sono verificati. Questo può essere fatto in una tabella di registro degli errori separata nel database di FileMaker.
Esempio:
Se [Get(LastErrorNo) ≠ 0]Andare al layout [Nome: "Registro errori"].
Nuovo record di dati/query
Impostare il valore del campo [ErrorLog::Date; Get( SystemTimestamp )].
Impostare il valore del campo [ErrorLog::ErrorCode; Get(LastErrorNo)].
Impostare il valore del campo [Errore log::User; Get( AccountName )].
Salva record/query di dati [Con dialogo: Off].
Fine Se
FileMaker ERP con struttura di script e modulo per sviluppatori chiari e completamente documentati.
Ulteriori informazioni
Debug e documentazione degli script
Introduzione al debug
Il debug degli script è una fase cruciale per garantire che gli script funzionino correttamente e che si svolgano come previsto. L'area di lavoro degli script di FileMaker offre potenti strumenti per il debug, come il Debugger degli script e la funzione Data Viewer.
Utilizzare il debugger di script
- Attivare il debugger di scriptAprite l'area di lavoro dello script e avviate il debugger dello script tramite Strumenti > Debugger di script. Il debugger consente di esaminare lo script passo per passo e di controllare lo stato attuale di ogni variabile e di ogni fase dello script.
- Esecuzione passo-passoUtilizzate i pulsanti del debugger di script per eseguire il vostro script passo dopo passo. In questo modo è possibile vedere esattamente dove si verifica un errore o vengono generati risultati inaspettati.
- Impostazione dei punti di interruzioneÈ possibile impostare punti di interruzione nello script per interrompere l'esecuzione a un certo punto e controllare lo stato corrente. Ciò è particolarmente utile per analizzare aree complesse dello script.
Utilizzare il visualizzatore di dati
Il Visualizzatore dati mostra il valore di campi, variabili e calcoli in tempo reale durante l'esecuzione dello script. È particolarmente utile per osservare gli effetti delle singole fasi dello script sui dati.
- Visualizzatore di dati apertiIl Visualizzatore dati può essere aperto tramite Strumenti > Visualizzatore dati può essere aperto.
- Monitoraggio delle espressioniAggiungere i campi o le variabili che si desidera monitorare per controllarne i valori durante l'esecuzione dello script.
Documentazione degli script
Una documentazione chiara e ben strutturata degli script è importante per garantire la manutenibilità e la comprensibilità della soluzione FileMaker. Una buona documentazione non contiene solo commenti allo script stesso, ma anche una descrizione dello script, del suo scopo e dei parametri utilizzati.
- Commento alla sceneggiaturaUtilizzare il tasto
Commento-nell'area di lavoro dello script per documentare ogni sezione dello script. Spiegate cosa fa ogni sezione e perché è necessaria.esempio:# Questo script controlla se il file può essere aperto e in caso contrario emette un messaggio di errore. - Aggiungere la descrizione dello scriptInserire una descrizione generale dello script nell'area di lavoro dello script. Questo aiuta l'utente o altri sviluppatori a capire rapidamente cosa fa lo script.
- Gestione del controllo di versioneTenete un registro delle diverse versioni dei vostri script, soprattutto quando apportate delle modifiche. Annotate quando e perché sono state apportate le modifiche.
gFM-Business Open Source FileMaker Basis-ERP
Il software per il corso intensivo
Scarica gratuitamente
Creare flussi di lavoro complessi con più script
Introduzione ai flussi di lavoro complessi
Nelle applicazioni FileMaker di grandi dimensioni, spesso diversi script devono lavorare insieme per implementare un flusso di lavoro completo. Questi script possono essere eseguiti uno dopo l'altro o collegati tra loro tramite condizioni e trigger per mappare processi complessi.
Script per la creazione di moduli
- Divisione in moduliSuddividere le attività complesse in moduli più piccoli e riutilizzabili. Ciascuno di questi moduli deve svolgere un compito specifico e può essere richiamato da altri script, ad esempio un modulo di script che convalida i dati, un altro che genera un report e un altro che esporta il report.
- Utilizzare i parametri di scriptPassare parametri tra gli script per renderli flessibili e riutilizzabili. Ciò consente di utilizzare uno script in contesti diversi con dati di input diversi, ad esempio:
# Sceneggiatura principaleEseguire lo script
Se [Get(ScriptParameter) = "Report"]
Eseguire lo script ["Genera rapporto"].
Altrimenti Se [Get(ScriptParameter) = "Validation"]
Fine Se - Script di chiamata: Utilizzo
Eseguire il copione-per chiamare altri script all'interno di uno script principale. In questo modo è possibile creare flussi di lavoro complessi, composti da diversi passi e moduli.
Gestione degli errori e del flusso di lavoro
- Monitoraggio degli errori in flussi di lavoro complessiNei flussi di lavoro con più script, è importante coordinare il monitoraggio degli errori tra gli script. Assicuratevi che i codici di errore vengano passati tra gli script e che lo script principale reagisca di conseguenza.
- Strategie di rollbackNei flussi di lavoro critici, può essere necessario implementare una strategia di rollback in cui tutte le modifiche vengono annullate se si verifica un errore. Questo può essere ottenuto reimpostando i campi o cancellando i record di dati appena creati.
Ottimizzazione e prestazioni
- Ottimizzare gli scriptAssicuratevi che i vostri script vengano eseguiti nel modo più efficiente possibile, evitando i passaggi non necessari e riducendo al minimo il numero di query al database.
- Ridurre al minimo i tempi di caricamentoQuando si lavora con grandi quantità di dati o calcoli complessi, è necessario assicurarsi che i tempi di caricamento siano ridotti al minimo. Utilizzate indici, query ottimizzate e layout snelli.
Uso di script parziali e parametri di script in FileMaker
In FileMaker è possibile Scritture parziali e Parametri dello script può essere utilizzato per massimizzare l'efficienza e la riutilizzabilità degli script. Scritture parziali sono script più piccoli e specializzati che vengono chiamati da altri script per eseguire compiti ricorrenti. Ciò consente una migliore strutturazione del codice e facilita la manutenzione, poiché le modifiche apportate a un sotto-script hanno automaticamente effetto su tutti gli script principali che lo chiamano. Parametri dello script consentono di passare informazioni tra script diversi, aumentando la flessibilità e la dinamica delle chiamate agli script.
Esempio: Uso di script parziali e parametri di script
Supponiamo di voler utilizzare un elemento che ricorre frequentemente, come l'elemento Creare un nuovo record di dati e riutilizzare il trasferimento di informazioni a questo set di dati in più script.
1. script principale: Richiamo di uno script parziale
Nello script principale viene richiamato uno script parziale che crea il nuovo record di dati. A Parametri dello script viene utilizzato per inviare i dati da trasferire allo script parziale:
# Script principale: "Crea nuovo cliente"Impostare la variabile [1TP4Nome cliente; valore: "Max Mustermann"].
Impostare la variabile [$numero cliente; valore: "12345"].
# Chiamata dello script parziale con i parametri trasferiti
Eseguire lo script ["Sistema cliente"; Parametro: JSONSetElement ("{}" ; ["name"; 1TP4CustomerName; JSONString]; ["number"; 1TP4CustomerNumber; JSONString] )]In questo esempio, viene richiamato il sotto-script "Creazione di un cliente". Le informazioni sul nome e sul numero del cliente vengono trasferite in formato JSON come parametri dello script. Ciò offre il vantaggio di poter trasferire diversi dati in un unico parametro.
2. pedice: Parametri di script di elaborazione
Il sotto-script "Creazione di un cliente" prende il parametro dello script, estrae le informazioni e crea un nuovo record di dati in base ai dati trasferiti:
# Script parziale: "Installazione del cliente"
Impostare la variabile [$param; Valore: Get ( ScriptParameter )].
# Estrazione dei dati dal parametro JSON
Impostare la variabile [$name; Valore: JSONGetElement ($param; "name")].
Impostare la variabile [$number; Value: JSONGetElement ($param; "nummer")].
# Nuovo record di dati basato sui valori trasferiti
Nuovo record di dati/query
Impostare il valore del campo [Customer::Name; $name].
Impostare il valore del campo [Cliente::Numero; $number]In questo sotto-script, il parametro JSON passato viene analizzato utilizzando JSONGetElement elaborati. Le variabili $name e $numero vengono estratti e inseriti nei campi corrispondenti del nuovo record di dati.
Passare più parametri di script
I parametri di script possono essere passati in FileMaker in diversi modi. Un metodo comune è quello di passare i parametri come Elenco e di passarlo successivamente con la funzione GetValue() individualmente. In alternativa, è possibile utilizzare un metodo in gFM-Business in cui i parametri sono separati da apici (|) sono separati. Questi valori vengono poi calcolati con il metodo "Colonne di stringhe" suddivisi nuovamente ed elaborati singolarmente. Questi approcci consentono di trasferire in modo flessibile e strutturato diversi parametri, che possono poi essere ulteriormente elaborati negli script corrispondenti.
Vantaggi degli script parziali e dei parametri di script
- RiutilizzabilitàI sotto-script possono essere richiamati da diversi script, il che rende il codice modulare e facile da mantenere. Le modifiche a un sotto-script devono essere apportate una sola volta e hanno effetto su tutti gli script chiamanti.
- FlessibilitàI parametri degli script possono essere utilizzati per passare informazioni dinamiche ai sotto-script, rendendo gli script più flessibili. L'uso di parametri JSON consente di passare strutture di dati complesse in un singolo parametro.
- Chiarezza e strutturaSuddividendo gli script in sotto-script più piccoli, il codice diventa più chiaro e meglio strutturato. Questo non solo facilita lo sviluppo, ma anche il debug.
Suggerimenti, istruzioni e interfacce per FileMaker e gFM-Business ERP
Suggerimenti e istruzioni
Domande frequenti sulle funzioni avanzate degli script
- Come posso controllare gli script per verificare la presenza di errori in FileMaker e correggerli?
- In FileMaker, è possibile controllare la gestione degli errori utilizzando il comando "Imposta registrazione errori", che impedisce la visualizzazione dei messaggi di errore standard. È quindi possibile utilizzare il comando "Get(LastErrorNo)" per controllare lo stato dell'errore e definire le azioni appropriate in base al codice di errore. In questo modo è possibile eseguire percorsi di script alternativi o visualizzare messaggi di errore personalizzati per informare gli utenti.
- Come funziona il debug degli script in FileMaker?
- Lo strumento Script Debugger di FileMaker Pro consente di esaminare gli script passo dopo passo. È possibile monitorare l'avanzamento di uno script in tempo reale, impostare punti di interruzione e controllare lo stato corrente di variabili e campi. In questo modo è possibile localizzare e correggere rapidamente gli errori. Il debugger può essere avviato dal menu "Strumenti" > "Debugger di script".
- Non vedo il menu degli strumenti, come posso attivarlo?
- Se non riuscite a trovare un menu di strumenti nella barra dei menu, andate nelle preferenze di FileMaker (Mac sotto "FileMaker Pro", Windows sotto "Modifica") e selezionate l'opzione "Usa strumenti avanzati" nella prima scheda "Generale". Confermate la finestra di dialogo e riavviate FileMaker Pro.
- Come posso collegare più script in FileMaker?
- In FileMaker è possibile collegare più script tra loro utilizzando il comando "Esegui script" per richiamare un altro script. Ciò consente di suddividere processi complessi in script più piccoli e gestibili che lavorano insieme. Suddividendo gli script in sotto-script, è possibile riutilizzare attività specifiche e migliorare la manutenibilità delle soluzioni di scripting.
- Cosa sono gli script parziali e quando è opportuno utilizzarli?
- I pedici sono script più piccoli e specializzati che vengono richiamati come parte di uno script più grande. Sono utili per incapsulare attività ricorrenti, come la creazione di nuovi set di dati o la navigazione tra i layout. Gli script parziali favoriscono una struttura pulita e modulare degli script, facilitando la manutenzione. Se un processo viene utilizzato di frequente, è opportuno esternalizzarlo in un sotto-script e richiamarlo da altri script.
- Come si utilizzano i parametri di script in FileMaker?
- I parametri degli script consentono di passare i dati da uno script all'altro. Quando si richiama uno script, è possibile passare uno o più parametri allo script utilizzando il comando "Esegui script" e specificando i parametri. All'interno dello script, è possibile recuperare e utilizzare i parametri con il comando "Get(ScriptParameter)". Ciò è utile per controllare dinamicamente le azioni che lo script chiamato esegue.
- Come posso passare più parametri di script?
- Per passare diversi parametri di script, è possibile riassumerli in un elenco o in un formato JSON. È possibile utilizzare la funzione "List()" per trasferire i parametri in un elenco separato da interruzioni di riga e recuperarli nello script utilizzando la funzione GetValue("Get (ScriptParameter)"; number). Il numero identifica l'ennesimo parametro dello script. In alternativa, si può usare JSON per passare i parametri in un formato strutturato e poi usare funzioni come "JSONGetElement" per accedere ai parametri specifici.
- gFM-Business utilizza la funzione "StringColumns" per diversi parametri di script, che separa i parametri con un apostrofo "|". Questa procedura ha il vantaggio che i parametri passati possono contenere anche separazioni di riga.
- Come si gestiscono le variabili globali negli script?
- Le variabili globali (che iniziano con $$) memorizzano dati accessibili durante l'intera sessione, anche dopo il completamento dello script. È possibile definire le variabili globali con il comando "Imposta variabile" in uno script e recuperarne o modificarne il valore in qualsiasi momento. Sono particolarmente utili per condividere i dati tra script o layout diversi. Tuttavia, poiché persistono fino alla chiusura del file, le variabili globali devono essere utilizzate con cautela per evitare interferenze indesiderate.
- Come funzionano le variabili locali negli script FileMaker?
- Le variabili locali (che iniziano con $) sono valide solo durante l'esecuzione di uno script. Vengono spesso utilizzate per memorizzare temporaneamente dati necessari solo in uno script o in una sottofase specifica. Al termine dello script, la variabile locale viene eliminata. Le variabili locali sono adatte per salvare i risultati dei calcoli o i valori intermedi senza che rimangano nell'intera sessione.
- Come posso usare le condizioni in modo efficace in uno script?
- È possibile utilizzare le condizioni "If" per controllare il flusso di uno script in base a determinati criteri. È possibile verificare se una condizione è soddisfatta ed eseguire azioni diverse a seconda del risultato. Un esempio tipico è una condizione che verifica se un campo è vuoto prima che venga creato un nuovo record di dati. Per casi più complessi, è possibile utilizzare anche condizioni if annidate o scenari if/else per controllare più condizioni, per le quali è possibile utilizzare il comando "Else if".
- Come si possono utilizzare ripetizioni e loop negli script per elaborare i dati?
- I loop consentono di ripetere una serie di azioni finché non viene soddisfatta una determinata condizione. Un esempio tipico è l'esecuzione di tutti i record di dati in un risultato di ricerca e l'aggiornamento di un campo specifico. Il ciclo viene avviato con il comando "Loop" e terminato con "Exit loop when" quando viene soddisfatta la condizione desiderata, ad esempio quando viene raggiunto l'ultimo record di dati.
- Come posso rendere modulari e riutilizzabili gli script e gli script parziali?
- Per rendere gli script modulari e riutilizzabili, è opportuno esternalizzare i processi generali a sotto-script e utilizzare i parametri degli script per controllare il processo in modo dinamico. Questo riduce le ridondanze e permette di riutilizzare gli script in contesti diversi. È inoltre possibile utilizzare in modo efficiente le variabili globali e locali per trasferire dati all'interno di uno script o tra script, senza dover creare ogni volta nuovi script. Se necessario, è anche possibile trasferire diversi parametri di script da uno script a un altro script, che possono essere letti utilizzando la funzione "Get(ScriptResult)".
