Dalle ultime versione del sistema è possibile creare e programmare delle notifiche direttamente via script. Queste notifiche non sono collegate direttamente alle schede dei dati ma direttamente al programma.
Come tutte le notifiche di Nios4, se vengono create su un database locale queste saranno attiviabili solo se il programma in quel momento è attivo. In caso il database sia cloud saranno visualizzate come notifiche sui telefoni senza che il programma deve necessariamente essere attivo.
Creazione dell'oggetto notification
notification = program.newnotification()
notification.adduser("help@d-one.info")
notification.title = "notifica"
notification.description = "notifica di prova"
Come prima cosa creaiamo l'oggetto notification dal programma. Creato l'oggetto aggiungiamo l'utente o gli utenti che dovranno visualizzare questa notifica. Gli utenti dovranno necessariamente essere quelli che possono condividere il database attuale.
Inseriamo il titolo e la descrizione che visualizzeremo nella notifica.
Tipologia della notifica
notification.actionallert()
Attualmente le notifiche sono di due tipologia. La prima è la visualizzazione di un allert semplice impostabile dando il comando actionallert. La seconda è l'abertura di una scheda dati. In questo caso oltre al comando dovremo dare la tabella e il gguid per identificare in modo univoco il record.
notification.actionopendataview(*nometabella*,*gguidrecord*)
Impostiamo la data della notifica
notification.datereminder = dataview.getvalue("data_scadenza")
notification.typebefore = 1
notification.save()
A questo punto possiamo impostare la data di visualizzazione della notifica.
La proprietà datareminder imposta la data effettiva della visualizzazione.
La proprietà typebefore imposta di quanto dovrà essere l'anticipo di visualizzazione rispetto al tempo impostato. In questo caso il valore 1 indica 5 minuti prima.
Come ultima cosa procederemo al salvataggio. Salvata la notifica questa sarà attiva. Sui database cloud occorrerà sincronizzare i dati per distribuirla su tutti i propri dispositivi.
A questo punto sarebbe buona norma recuperare il gguid della notifica per poterla successivamente gestire. Ad esempio per cancellarla dovremmo agire direttamente sul database con una chiamata sql. Per modificare una notifica già esistente dobbiamo creare l'oggetto e impostare il gguid salvato precedentemente. Occorrerà comunque reimpostare tutti i valori di questa, con l'unica differenza che in salvataggio non verrà creata una nuova notifica ma verrà aggiornata quella con lo stesso gguid.
gnotifica = notification.gguid
database.deletedatarowsql("SELECT * FROM so_notifications WHERE gguid='" .. gnotifica .. "'")
In questo esempio procediamo a eliminare la notifica precedentemente creata.
Esempi di impostazione della data da applicare alla notifica
I passaggi da eseguire per la costruzione delle date principalmente servono per creare dei valori compatibili con il sistema degli script che accettano la data solo in formato timestamp.
datainiziale = dataview.getvalue("data_ordine") datafinale = utility.dateadddays(datainiziale,30) giornofinale =
utility.
dateday(datafinale) mesefinale =
utility.
datemonth(datafinale) --salto il natale if giornofinale == 25 and mesefinale == 12 then datafinale = utility.dateadddays(datafinale,10) end --controllo che non sia domenica if
utility.
datedayofweek(datafinale) == 0 then datafinale = utility.dateadddays(datafinale,1) end notification.datereminder = datafinale
datafinale = utility.createdate(2022,7,18,10,30,0)
Commenti
Posta un commento