La funzionalità Messaggi consente d’inviare in automatico mail di promemoria relative alle scadenze dei documenti e delle registrazioni presenti in QualiWare. Questa funzione può essere utilizzata anche per spedire notifiche e documenti all’esterno. Col termine generico promemoria utilizzato nella Guida s’intende applicato anche a mail di notifica o d’invio documenti.
Il servizio d’invio viene eseguito periodicamente con la frequenza specificata nei campi:
- Controllo ogni, indica i minuti tra un controllo e l’altro, se il campo è lasciato a 0 (zero) il controllo è disabilitato;
- Dalle ore / alle ore, consente di circoscrivere la finestra temporale entro la quale effettuare il controllo.
Nel riquadro Configurazione server SMTP è possibile specificare i parametri del server SMTP utilizzato per l’invio delle e-mail. Se è stato configurato l’invio con Microsoft 365 non è necessario specificare questi parametri. Nel campo Sender e-mail è possibile specificare l’indirizzo del mittente che verrà usato di default.
Il server SMTP potrà essere anche specificato a livello di singolo promemoria. Questo consente di effettuare l’invio per domini differenti e, anche, di inviare PEC.
Nota: i server SMTP hanno generalmente limitazioni nella quantità di e-mail che è possibile inviare in un certo periodo di tempo. Per aggirare queste limitazioni, è possibile specificare nel campo Numero massimo di e-mail per invio il numero di e-mail inviate consecutive superato il quale l’invio viene sospeso e ripreso nella successiva esecuzione periodica del servizio, dopo il periodo di tempo specificato nel campo Controllo ogni. In alternativa, è possibile anche specificare, nel campo Inserisci una pausa di secondi un periodo di tempo durante il quale l’invio verrà momentaneamente sospeso, e che occorrerà dopo il numero di e-mail specificato nel campo Ogni.
Inoltre,
con il pulsante + è possibile aggiungere un promemoria per un’altra categoria oltre a quelle già presenti.
con il pulsante x è possibile eliminare del tutto una categoria dal promemoria.
il pulsante con la cartella permette di gestire il dettaglio del promemoria per ciascuna categoria
con il pulsante < è possibile importare la definizione di un promemoria da file.
con il pulsante > è possibile esportare un promemoria.
Gestione avanzata delle mail automatiche
Premendo il pulsante con la cartella si accede alla seguente maschera:
questa finestra consente di definire promemoria aggiuntivi completamente configurabili attraverso la specifica di una query e della pianificazione dell’invio.
- In alto, nel campo Nome Promemoria, digitare il nome della categoria per la quale si desidera configurare il promemoria.
- Nel campo Gruppo indicare il nome del gruppo all’interno del quale deve essere visualizzato il promemoria nell’elenco presente nella maschera principale; se vuoto, il promemoria verrà visualizzato nel gruppo Default.
- Nel campo Database si può specificare il database cui si applica il promemoria. E’ da specificare qualora siano configurati più database.
- spuntare la casella Abilitato per attivare la notifica automatica del promemoria.
Nel tab Query va scritta la query di configurazione del messaggio per la categoria desiderata. Il programma offre la funzione di evidenziazione della sintassi (costanti di tipo stringa e numeriche, operatori relazionali, commenti);
è possibile inserire la query che determinerà le e-mail da inviare. Verrà inviato un’e-mail per ogni record restituito dalla query stessa, la quale potrà contenere i seguenti campi:
– SOGGMSG: oggetto del messaggio. Se non viene specificato, viene usata la descrizione della registrazione definita dai campi IDDOC e CODDOC.
– TESTOMSG: testo del messaggio, anche con formattazione HTML (obbligatorio). Questo campo può anche non essere specificato se è specificato un testo del messaggio.
– UTENTE: codice dell’utente di QualiWare cui si vuole inviare il promemoria (obbligatorio se non è specificato il campo EMAIL)
– EMAIL: indirizzo email al quale inviare il promemoria; è possibile specificarne più di uno separando con “;” (obbligatorio se non è specificato il campo UTENTE)
– EMAIL_CC: indirizzo email al quale inviare il promemoria per conoscenza; è possibile specificarne più di uno separando con “;”
– EMAIL_BCC: indirizzo email al quale inviare il promemoria per conoscenza nascosta; è possibile specificarne più di uno separando con “;”
– EMAIL_FROM: indirizzo email del mittente del messaggio
– IDDOC: tipo di registrazione collegata al promemoria (es MN, SR, DW, ecc.)
– CODDOC: codice della registrazione collegata al promemoria
– MSG_ID: identificativo univoco del messaggio (deve essere di tipo stringa)
– DATA_RIC: data di scadenza della registrazione cui è riferito il promemoria. Tale data è utilizzata per stabilire se inviare o meno il promemoria, in base ai valori dei campi Invia messaggio […] giorni prima della scadenza e Invia messaggio ogni […] giorni dopo la scadenza. Se il promemoria è pianificato per l’invio in giorni prefissati, la data viene ignorata.
– SELECTION, SELECTION2, SELECTION3: formule di selezione (in sintassi Crystal Reports) da passare ad eventuali report specificati per generare allegati in formato PDF, DOC o XLS (vedere relativi campi sulla scheda di configurazione)
– REPORT_NAME, REPORT_NAME2, REPORT_NAME3: nome da assegnare ai report allegati. Vanno specificati senza estensione. Se non vengono specificati, il nome sarà semplicemente “report”.
– ATTACHMENT_PATH,ATTACHMENT_PATH2,ATTACHMENT_PATH3,ATTACHMENT_PATH4,ATTACHMENT_PATH5: percorso completo di uno o più file esterni da allegare al messaggio (fino a 5).
– ATTACHMENT_NAME: nome da assegnare all’eventuale file della gestione documentale da allegare (senza estensione, vale nel caso i campi IDDOC e CODDOC individuino un documento pubblicato, e sia spuntato il flag “allega documento pubblicato”), oppure al file esterno di cui è stato specificato il path nel campo ATTACHMENT_PATH (in questo caso comprensivo di estensione).
-ATTACHMENT_NAME2,ATTACHMENT_NAME3,ATTACHMENT_NAME4,ATTACHMENT_NAME5: nome da assegnare (compreso di estensione) agli eventuali file da allegare il cui path è stato specificato nei campi ATTACHMENT_PATHx.
Selezionando il tab Testo messaggio è possibile opzionalmente comporre il testo del messaggio che verrà inviato (in questo caso non sarà necessario prevedere il campo “TESTOMSG” nella query).
All’interno del messaggio è possibile far comparire il valore di un qualsiasi campo della query, riportandolo con la notazione [%<nome campo>%].
Selezionando il tab SMTP è possibile opzionalmente specificare un server SMTP di invio differente da quello di default, con i relativi parametri di configurazione.
Il tasto Verifica permette di vedere i risultati della query, senza che vengano considerate le tempistiche di invio. Tramite il tasto Test Invio è possibile effettuare una simulazione di invio del mail di promemoria. I messaggi generati non verranno mandati ai destinatari definiti dalla query ma al mittente specificato. In questo modo è possibile effettuare una verifica del layout del messaggio senza effettuare invii ai reali destinatari. Durante il test, le impostazioni relative alle tempistiche di invio verranno ignorate; di conseguenza verranno generati i promemoria relativi, eventualmente, a tutti i documenti restituiti dalla query.
Le Opzioni messaggio consentono di definire tutti i parametri del promemoria:
- Non allegare link QWL: se spuntato consente di non allegare al messaggio il file necessario per aprire il documento o la registrazione dalla versione client/server.
- Non riportare link Web: se spuntato consente di non inserire nel messaggio il link necessario per aprire il documento o la registrazione dalla versione web.
- Allega documento se pubblicato: se spuntato consente di allegare al messaggio il file del documento individuato dai campi IDDOC e CODDOC, nel caso questo sia pubblicato. Se esiste la versione PDF, verrà allegata questa.
- Registra distribuzione: se spuntato, consente di registrare l’invio del documento nella lista di distribuzione. La registrazione avverrà se il documento individuato dai campi IDDOC e CODDOC è pubblicato. Non è necessario spuntare la casella Allega documento se pubblicato.
Se nella query si specifica il campo “UTENTE” contenente un codice di utente valido, esso oltre ad essere utilizzato per reperire la mail del destinatario dall’anagrafica, servirà anche per la registrazione della distribuzione.
Se si specificherà solo l’indirizzo del destinatario nel campo “EMAIL”, la distribuzione verrà registrata come utente “esterno” e non consentirà pertanto l’accesso al documento neanche se l’e-mail è relativo ad un utente interno.
Specificando il codice dell’utente nel campo della query “UTENTE”, si può avere la distribuzione registrata a nome dell’utente stesso, in modo che sia valida per l’accesso al documento. - Nella sezione Opzioni per utenti esperti è possibile specificare fino a 3 reports o query il cui output verrà allegato al messaggio. E’ anche possibile specificare separatamente per ogni report il formato, scegliendo fra le opzioni PDF, DOC e XLS:
- Se viene specificato un report, la query di generazione dei messaggi dovrà anche ritornare la formula di selezione nel campo “SELECTION” per il primo report, “SELECTION2” per il secondo e “SELECTION3” per il terzo;
- Utilizzando i campi “REPORT_NAME”, “REPORT_NAME2” e “REPORT_NAME3” sarà possibile specificare il nome da attribuire all’allegato (senza estensione perché questa dipende dal formato).
- Se invece viene specificata una query realizzata con lo strumento SQL Query, se questa presenta parametri, la query di generazione dei messaggi dovrà avere campi con nomi identici a quelli dei parametri stessi (comprese maiuscole/minuscole) per specificarne i valori.
- Script da eseguire dopo l’invio del messaggio: specifica lo script VB.NET che deve essere eseguito ad invio del messaggio avvenuto con successo. Lo script può essere inserito e modificato premendo il tasto Modifica script, e può prevedere le variabili “DB” e “Query” che rappresentano oggetti contenenti rispettivamente la connessione al database di QualiWare e la riga di dati della query che ha generato il messaggio.
Di seguito si riporta un esempio di script, che inserisce un record in una tabella:
dim q as qwtable q=new qwtable() q.database=DB q.sql="select * from MESSAGGI_INVIATI" q.allowallrecords=false q.active=true q.beginappend() q.replace("SOGGETTO",Query.rowset.fields("SOGGMSG").value) q.replace("DATA",Today()) q.saverecord() q.active=false
In base alla data specificata nella query:
- i campi Invia messaggio […] giorni prima della scadenza e Invia messaggio ogni […] giorni dopo la scadenza indicano la scadenza con la quale un utente deve essere avvisato, in automatico, e tramite un messaggio di posta.
Nota: per prevedere notifiche ripetute, usare la virgola.
Tempistiche di invio delle email
- La casella Invia una volta sola, se spuntata consente di inviare il messaggio una sola volta. Il programma controlla che non sia già stato inviato in precedenza un messaggio agli stessi destinatari e con lo stesso soggetto e, dalla versione 2023.02.09, con lo stesso campo MSG_ID, se presente nella query. Nel caso il messaggio sia stato inviato, il sistema non rinvierà il messaggio.
Questa impostazione ha la precedenza su tutte le altre specifiche sulla tempistica di invio (per giorni rispetto alla scadenza o a giorni e orari fissi). - Se è presente il campo DATA_RIC, che rappresenta la data in cui si intende inviare la mail, il sistema la confronta con la data odierna (N.B. viene considerata solo la data, e non l’ora, i minuti ed i secondi). Se la data è precedente ed il numero di giorni di differenza è uno dei numeri indicati nel campo Invia messaggio […] giorni prima della scadenza (quello indicato nel singolo promemoria o se non definito quello della schermata principale), viene inviata l’email. Se le due date coincidono o se la differenza è pari o multipla del numero di giorni indicato nel campo Invia messaggio ogni […] giorni dopo la scadenza, viene ugualmente inviato un messaggio con l’indicazione della priorità. Non viene inviata nello stesso giorno più di una mail avente lo stesso oggetto e gli stessi destinatari e, dalla versione 2023.02.09, con lo stesso campo MSG_ID, se presente nella query.
- Se non è presente il campo DATA_RIC, deve essere specificata una periodicità di invio del messaggio usando i campi nel riquadro Invio in giorni e ore prefissate. In questo caso il sistema verifica che il giorno corrente sia uno di quelli selezionati e che sia trascorso uno dei due orari specificati, inviando di conseguenza la mail. Il sistema non verrà invia più di una mail al giorno con lo stesso soggetto e lo stesso destinatario. Fa eccezione il caso in cui vengano specificati due orari di invio negli appositi campi alle ore. In quel caso la mail viene inviata nuovamente trascorso il secondo orario.
Note
Il sistema non consente in nessuna configurazione l’invio di due messaggi con gli stessi destinatari e lo stesso soggetto nella stessa data, oppure nello stesso orario quando la programmazione è a giorni e ore prefissate. L’indispensabile controllo di ripetizione viene effettuato controllando destinatari e soggetto del messaggio.
Se la query non restituisce record agli orari indicati per effettuare l’invio, il promemoria continuerà a tentarlo finché la query non restituisce un record.