Librerie

La funzionalità Libreria, introdotta nella release 2021.08, ha lo scopo di consentire la definizione di funzioni globali che possono essere richiamate in qualsiasi altro script utilizzato in form, task, action link, trigger, workflow, ecc.

E’ possibile definire più librerie, ognuna caratterizzata da un nome, e utilizzando sia i linguaggi VB.NET e C#. Vi è totale libertà di definizione delle funzioni, anche in termini di parametri, così come è possibile definire, esternamente ad esse, variabili “public” che avranno validità all’interno della sessione di un utente

All’interno delle librerie è possibile utilizzare la variabile DB, di tipo QWDatabase, che contiene la connessione corrente al database, e QWSession, che contiene i dati della sessione utente corrente. Per richiamare le funzioni o le variabili definite all’interno delle librerie, è necessario utilizzare le seguenti sintassi.

VB.NET

Negli eventi dei form:

[<variabile>=]form.GetSession().Global.<nome funzione>(<parametri>)
form.GetSession().Global.<nome variabile globale>=<valore>
[<variabile>=]form.GetSession().GlobalCSharp.<nome funzione>(<parametri>)
form.GetSession().GlobalCSharp.<nome variabile globale>=<valore>
 
In tutti gli altri script (Task, Trigger, Action Link, Workflow, ecc.):
 
[<variabile>=]DB.Global.<nome funzione>(<parametri>)
DB.Global.<nome variabile globale>=<valore>
[<variabile>=]DB.GlobalCSharp.<nome funzione>(<parametri>)
DB.GlobalCSharp.<nome variabile globale>=<valore>

 

C#

Negli eventi dei form:

[<variabile>=]((QWGlobal)form.GetSession().Global).<nome funzione>(<parametri>)
((QWGlobal)form.GetSession().Global).<nome variabile globale>=<valore>
[<variabile>=]((QWGlobalCSharp)form.GetSession().GlobalCSharp).<nome funzione>(<parametri>)
((QWGlobalCSharp)form.GetSession().GlobalCSharp).<nome variabile globale>=<valore>
 
In tutti gli altri script (Task, Trigger, Action Link, Workflow, ecc.):
 
[<variabile>=]((QWGlobal)DB.Global).<nome funzione>(<parametri>)
((QWGlobal)DB.Global).<nome variabile globale>=<valore>
[<variabile>=]((QWGlobalCSharp)DB.GlobalCSharp).<nome funzione>(<parametri>)
((QWGlobalCSharp)DB.GlobalCSharp).<nome variabile globale>=<valore>
 
Come si può vedere, le funzioni e le variabili sono referenziabili utilizzando gli oggetti Global (per le librerie scritte in VB.NET) e GlobalCSharp (per le librerie scritte in C#) referenziabili sull’oggetto ritornato da form.GetSession() per i form e sull’oggetto DB disponibile negli altri tipi di script. Se si usa il linguaggio C#, per potere utilizzare metodi e proprietà è necessario effettuare una conversione sul tipo QWGlobal per l’oggetto Global, e sul tipo QWGlobalCSharp per l’oggetto GlobalCSharp.

La definizione delle librerie viene effettuata da QualiWare Server Daemon.

La scheda di configurazione si presenta come nella figura seguente:

Al momento della pressione dei pulsanti “Salva” e “Salva ed Esci”, viene controllata la sintassi della libreria.

La libreria modificata risulta disponibile se è attiva la casella “Abilitata”. 

NOTA IMPORTANTE
Le modifiche apportate alle librerie vengono  recepite all’avvio della sessione utente. Solamente in fase di modifica, queste vengono attivate immediatamente al momento del salvataggio senza che l’utente che le sta sviluppando debba disconnettersi per fare i test. Pertanto, dopo avere effettuato il test e abilitata la libreria, è necessario comunicare agli utenti di disconnettersi e riconnettersi a QualiWare o, in alternativa, riavviare il pool. Analogamente, se si sta effettuando lo sviluppo su un database diverso da quello principale, e si è attivata una sessione di QualiWare su quel database per effettuare i test, è necessario ricordarsi di uscire dalla sessione corrente e rientrare in QualiWare prima di effettuare le prove, altrimenti non verranno recepite le modifiche.