Condizioni di notifica
Questo evento viene notificato all'applicazione quando la sessione di sincronizzazione richiede l'esecuzione di un comando. La sessione è già stata autenticata durante l'evento OnSynchronize.
Utilizzo consigliato
Questo evento deve essere usato per eseguire il comando passato come parametro e ritornare il risultato come recordset.
Argomenti
Command | Stringa che rappresenta il comando da eseguire. L'interpretazione del valore è applicativa |
Params | IDArray che contiene i parametri del comando |
Domain | Dominio del terminale che sta eseguendo la sincronizzazione, come deciso dall'evento OnSynchronize. |
RS | Recordset in cui ritornare il risultato |
Esempio di codice
// ************************************************************
// Evento notificato quando un client vuole eseguire un comando
// ************************************************************
event RemoteClient.OnSyncQuery(
string Command // E' il comando da eseguire
IDArray Params // Array di parametri passati dal client
string Domain // Dominio del client
Recordset RS // Memorizzare qui il risultato
)
{
if (Command == "ordini")
{
Recordset r = new()
string cli = ""
//
if (Params.length() > 0)
cli = Params.getValue(0)
//
// Seleziono gli ordini del cliente passato come parametro
select into recordset (r)
Ordini.Idordine as IDOrdine
Ordini.Idcliente as IDCliente
Clienti.NomeSocieta as RagioneSociale
from
Ordini // master table
Clienti // joined with Ordini using key ClientiOrdini
where
Ordini.Idimpiegato = toInteger(Domain)
Ordini.Idcliente like cli + "%"
//
RS.copyFrom(r)
}
}
// Evento notificato quando un client vuole eseguire un comando
// ************************************************************
event RemoteClient.OnSyncQuery(
string Command // E' il comando da eseguire
IDArray Params // Array di parametri passati dal client
string Domain // Dominio del client
Recordset RS // Memorizzare qui il risultato
)
{
if (Command == "ordini")
{
Recordset r = new()
string cli = ""
//
if (Params.length() > 0)
cli = Params.getValue(0)
//
// Seleziono gli ordini del cliente passato come parametro
select into recordset (r)
Ordini.Idordine as IDOrdine
Ordini.Idcliente as IDCliente
Clienti.NomeSocieta as RagioneSociale
from
Ordini // master table
Clienti // joined with Ordini using key ClientiOrdini
where
Ordini.Idimpiegato = toInteger(Domain)
Ordini.Idcliente like cli + "%"
//
RS.copyFrom(r)
}
}
Per maggiori informazioni sul framework di sincronizzazione si consiglia di leggere il pagrafo 5.11 della guida all'utilizzo di In.de.
Ultima modifica: 02/11/2016 / Validità: da 10.5.4660