
Indice dei contenuti
- Dipendente virtuale con proprio client FileMaker
- Tabella e registro delle attività come base
- La macchina di processo è in ascolto...
- Tre script per controllare tutti i processi
- Dati anagrafici per i processi
- Processi a tempo con cronjob (è necessario un plugin)
- Scarica il file di esempio per FileMaker 13-16
- Integrare il motore di processo in gFM-Business
- Come trasferire gli script dal file di esempio alla propria soluzione
- Per trasferire le tabelle dal file di esempio alla propria soluzione
- Per trasferire gli elenchi di valori dal file di esempio alla propria soluzione
- Come trasferire le proprie funzioni dal file di esempio alla propria soluzione
Dipendente virtuale con proprio client FileMaker
Il punto di partenza per una macchina di processo è il vostro Mac o PC Windows con un client FileMaker installato. In FileMaker viene richiamato un solo layout (aut.tasks), che viene creato con un file Innesco dello script è stato fornito. Non appena il Tabella del layout processi aut. viene creato un nuovo record di dati, la macchina di processo inizia a elaborare il processo fornito nel record di dati.
Tabella e registro delle attività come base
Per poter eseguire i processi e salvarli come log, sono necessarie due nuove tabelle di dati:
- Processi (1 record di dati = 1 operazione di elaborazione per la macchina operativa)
- Registro di processo (1 record di dati = 1 operazione elaborata dalla macchina operativa)
Il tavolo Processi non contiene normalmente alcun record di dati e viene riempito con un record di dati sotto il controllo dello script nel momento in cui la macchina di processo deve eseguire un processo specifico. Non appena il processo è stato eseguito, viene creato un nuovo record di dati nel log e il record di dati viene salvato nel file Processi cancellato di nuovo.
La macchina di processo è in ascolto...
Affinché il motore di processo sappia in tempo reale che un nuovo processo deve essere eseguito, è necessario un layout corrispondente che contenga i record di dati della tabella Processi viene visualizzato. Nel nostro file di esempio, questo layout si chiama processi aut.. Questo layout ha una disposizioneScrittura-(BeiDatensatzLaden), che esegue lo script per l'elaborazione dell'operazione non appena viene creato un nuovo record di dati nel database di BeiDatensatzLaden. Processi si trova.
Se un nuovo record di dati viene aggiunto al file Processi viene aggiunto, il motore di processo esegue automaticamente lo script macchina di processo laica con l'innesco dello script trigger.layout off. Il presupposto è che la macchina di processo rimanga sul layout per l'intero periodo. processi aut. poiché solo in questo layout è stata impostata l'attivazione dello script.
Sul computer di processo, è possibile garantire automaticamente che il client acceda al layout direttamente dopo l'avvio del database FileMaker. processi aut. modifiche. A tal fine, impostare un utente separato per la macchina di transazione come utente standard in FileMaker Pro (File > Opzioni file, "Accedi con".). Se la vostra soluzione ha uno script di avvio, ora potete semplicemente intercettare l'utente per il motore del processo e utilizzare una costruzione come:
Se (Get(AccountName) = "TransactionMachine")
Vai al layout [ "aut.processes" ]
Fine (Se)
Si noti che la stampa e la creazione di file PDF è possibile anche in WebDirect a partire dalla piattaforma FileMaker 16. Quindi, se si utilizza FileMaker 16, è possibile stampare e creare file PDF. Pertanto, se si utilizza FileMaker Server 16 e FileMaker Pro 16 e si desidera creare solo stampe o file PDF in WebDirect, la soluzione qui presentata potrebbe non essere più necessaria.
Tre script per controllare tutti i processi
La nostra soluzione di esempio di FileMaker contiene tre script con i quali è possibile controllare facilmente tutti i processi:
macchina di processo laica - Questo script viene eseguito dal motore di processo non appena la tabella Processi è stato creato un nuovo record di dati. La chiamata viene effettuata tramite il layout processi aut. con il trigger dello script di layout menzionato sopra. La parte per l'esecuzione dei processi è stata aggiunta allo script con il parametro trigger.layout in modo da poter utilizzare questo script con altri parametri anche per altri compiti.
Poiché il comando che il motore di processo deve eseguire si trova direttamente nel database Processi è possibile definire qualsiasi comando di processo e farlo elaborare in questo script. Il principio di base è sempre lo stesso:
Se [ Get(ScriptParameter) = "trigger.Layout" ]
Lo script viene eseguito solo se è stato definito con il parametro di script trigger.layout si chiama.
Se [ Operations::Command = "Send data" ]
Lo script seguente viene eseguito solo se il comando trasmesso Inviare i dati legge.
Il vostro processo
È possibile programmare qualsiasi processo qui
Cancellare il record di dati/query [Con dialogo: Off].
Elimina il record di dati elaborati dalla tabella Processi
Eseguire lo script [ "ts.process log"; Parametro: ... ]
Inserisce un nuovo record di dati nel log del processo, tenendo conto di tutte le variabili dello script.
Fine (se)
Fine (se)
ts.enter_process - Utilizzare questo script per inserire qualsiasi operazione nella tabella Processi in. È quindi possibile richiamare questo script da qualsiasi punto del database. Tutti i comandi utilizzati possono anche essere memorizzati in FileMaker Go o in WebDirect. Nel nostro esempio, lo script accetta quattro parametri: Comando, e-mail, ID dati e nome utente. Questi quattro parametri vengono semplicemente inseriti come un nuovo record di dati nel file Processi inserito. Naturalmente, è possibile estendere questo script individualmente e, ad esempio, trasmettere altre chiavi come l'ID dell'offerta, l'ID della fattura o l'ID del cliente. In questo caso, è necessario inserire la tabella Processi e aggiungere questi campi al registro delle transazioni.
Lo script ha una struttura molto semplice: Nella prima parte, i parametri dello script (separati da un apostrofo) sono scritti in variabili. A questo scopo, si utilizza il metodo Funzione personalizzata "StringColumns". Si può anche utilizzare una tecnologia diversa e trasferire i parametri come un normale elenco, ad esempio, che può essere letto nello script con la funzione "GetValue ()".
ts.transaction log - Non appena lo script ts.enter_process un nuovo record di dati nella tabella Processi è stato creato e la macchina di processo si trova sul layout processi aut. il processo viene avviato automaticamente dallo script macchina di processo laica viene elaborato e il record di dati della tabella Processi cancellato. Lo script ts.transaction log con variabili identiche per creare un nuovo record di dati nel registro di processo. La struttura dello script è in gran parte identica a quella dello script ts.enter_processcon la differenza che il record di dati viene memorizzato nel log e non nella tabella. Processi viene generato.
Dati anagrafici per i processi
In alcuni casi, è possibile che siano necessari dati anagrafici aggiuntivi per un processo, ad esempio per poter inviare documenti via e-mail. Si vorrà quindi predefinire, ad esempio, quale oggetto e quale testo dovrà contenere un'e-mail corrispondente. A tale scopo, è stata creata la tabella di dati Master di transazione creato. Ogni record di dati di questa tabella corrisponde ai dati anagrafici di un processo. Il valore del campo Nome_Processo corrisponde al nome di un processo, utilizzato anche dallo script ts.enter_process viene utilizzato.
Segnaposto opzionali per le e-mail
Se necessario, è possibile definire dei segnaposto nei testi del modello "Oggetto e-mail" e "Testo e-mail", che possono essere sostituiti con dati reali nei sotto-script dello script "lay.process.machine". Nel nostro script di esempio, entrambi i testi sono creati con SQL-interrogare le variabili $email_subject e $email_testo scritto. Ad esempio, se si desidera sostituire il segnaposto {nome_cliente} in un modello di testo, aggiungere il comando 'Replace ( )' alla query SQL in queste due definizioni di variabili:
Variabile set [$email_text; Value: Exchange ( SQL-Query; "{Name_Customer}"; Table::Name_Customer) ]
In questo modo, è possibile utilizzare tutti i segnaposto che si desidera nei modelli di posta elettronica, che possono essere definiti nelle definizioni delle variabili per le variabili $email_subject e $email_testo possono essere facilmente sostituiti da dati reali.
Processi a tempo con cronjob (è necessario un plugin)
Abbiamo inoltre dotato il nostro file di esempio per un motore di processo con l'opzione di elaborazione di cron job temporizzati. La data di inizio e di fine, l'ora desiderata e l'intervallo possono essere definiti nel master del processo. Per utilizzare questa funzione, è necessario utilizzare l'opzione Plugin MBS FileMaker poiché è necessario il comando 'FM.RunScript'. In alternativa, è possibile utilizzare il comando 'BE_ExecuteScript' del programma gratuito Plugin BaseElements può essere utilizzato.
Impostazione dello script di monitoraggio sulla macchina di processo
Tutti i cronjob sono controllati dallo script cron.funzionamento macchina che si può richiamare tramite uno script con timer, ad esempio ogni dieci minuti. Nella nostra soluzione di esempio, abbiamo incluso uno script cron.timerscript integrato, che controlla l'esecuzione dello script cron.funzionamento macchina ogni 600 secondi, cioè ogni 10 minuti. È possibile integrare questo script nello script di avvio della soluzione, ad esempio interrogando il nome dell'utente, in modo che il timer venga avviato automaticamente quando l'utente della macchina di processo è connesso.
Il copione cron.funzionamento macchina passa per prima cosa al layout Master di transazione e richiama tutti i cronjob attivi. Inizia quindi un ciclo di esecuzione, in cui per ogni cronjob trovato viene controllato se è prevista un'esecuzione. In caso affermativo, viene eseguito il cronjob corrispondente.
Per i cronjob è possibile definire l'esecuzione di qualsiasi script e dei relativi parametri di script. Un cronjob quindi non esegue alcun sotto-script dello script macchina di processo laica ma è possibile definire qualsiasi script, compresi i parametri per un cronjob, nel master del processo. Un cronjob può quindi teoricamente eseguire qualsiasi script dalla soluzione FileMaker su base temporale.
Scarica il file di esempio per FileMaker 13-16
Il nostro file di esempio contiene tutti gli script menzionati nell'articolo per l'integrazione nelle vostre soluzioni FileMaker. La tabella "Tabella dati" contenuta nella soluzione di esempio è solo a scopo dimostrativo e deve corrispondere alle tabelle dati della vostra soluzione FileMaker.
Integrare il motore di processo in gFM-Business
Come parte di una licenza aperta, è possibile integrare facilmente questo esempio di macchina per transazioni nel sistema ERP gFM-Business. I possessori di una licenza gFM-Business Custom possono chiederci di integrare le funzionalità di un motore di processo nella loro soluzione.
Come trasferire gli script dal file di esempio alla propria soluzione
Gli script possono essere facilmente trasferiti da una soluzione FileMaker a un'altra tramite gli appunti. È sufficiente aprire la finestra di dialogo Gestire gli script, selezionare con il mouse lo script desiderato e copiare lo script negli appunti tramite il menu [Modifica - Copia] o la combinazione di tasti [Ctrl/Cmd-C]. Aprite quindi la stessa finestra di dialogo nella soluzione di destinazione e incollate semplicemente lo script precedentemente copiato utilizzando il comando del menu [Modifica - Incolla] di nuovo.
Per trasferire le tabelle dal file di esempio alla propria soluzione
Le tabelle possono essere inserite in una soluzione esistente in diversi modi. Il modo più semplice è quello di importare la tabella utilizzando l'opzione [Importazione...] in dialogo Gestire il database. Tutte le tabelle da importare dalla soluzione di partenza possono essere selezionate in un dialogo successivo. Questo metodo è quindi particolarmente adatto se si devono importare più tabelle contemporaneamente. Se si deve importare solo una tabella, è possibile farlo anche tramite gli appunti, come uno script. Se si vuole importare una tabella comprendente tutti i dati, è possibile farlo con il comando [File > Importazione di record di dati > File] nella finestra di dialogo di importazione. Nella finestra di dialogo per l'importazione, la tabella di destinazione deve essere Nuovo tavolo deve essere specificato.
Per trasferire gli elenchi di valori dal file di esempio alla propria soluzione
Gli elenchi di valori possono essere facilmente importati da una soluzione FileMaker a un'altra tramite gli appunti. È sufficiente aprire la finestra di dialogo sotto [File > Gestione > Elenchi di valori]selezionare la voce desiderata Elenco valori con il mouse e copiare il campo Elenco valori negli appunti tramite il menu [Modifica - Copia]o la combinazione di tasti [Ctrl/Cmd-C]. Aprite quindi la stessa finestra di dialogo nella soluzione di destinazione e incollate l'elenco di valori precedentemente copiato utilizzando il comando di menu [Modifica - Incolla] di nuovo.
Come trasferire le proprie funzioni dal file di esempio alla propria soluzione
Nel dialogo [File > Gestione > Funzioni proprie...] sul pulsante [Importazione] e selezionare il file di esempio. Selezionate le funzioni personalizzate desiderate nella finestra di dialogo seguente e confermate la finestra. Si noti che questa funzione è disponibile solo in FileMaker Pro Advanced, ma non in FileMaker Pro.

Markus Schall sviluppa database personalizzati, interfacce e applicazioni aziendali basate su Claris FileMaker dal 1994. È un partner di Claris, vincitore del premio FMM 2011 e sviluppatore del programma Software ERP gFM-Business. È anche autore di libri e fondatore dell'associazione M. Schall Editore.



