English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Document Orientation
  • ID Document
  • Servizi
  • Sincronizzazione

On Resync Client

evento copia link

Condizioni di notifica

Questo evento viene notificato ad una istanza del documento quando un client di sincronizzazione deve o richiede di essere re-sincronizzato. In particolare questo succede quando:

  • Il client è da molto tempo che non esegue la sincronizzazione quindi non è possibile effettuarla in modo differenziale.
  • Il client ha richiesto esplicitamente la resincronizzazione utlizzando il metodo ResyncClass.

Utilizzo consigliato

Lo scopo di questo evento è quello di inserire filtri QBE sulle proprietà del documento. Infatti subito dopo l'evento il framework esegue una LoadCollectionByExample per caricare i documenti da inviare al client. Solitamente il filtro serve per selezionare i documenti relativi al dominio del client.

Argomenti

Collection E' una collection di documenti da inviare al client, se si desidera farlo in maniera manuale. In tal caso impostare il parametro Skip a true.
Client Domain E' la stringa che identifica il dominio del client. Viene decisa dall'evento OnSynchronize dell'applicazione quando inizia la fase di sincronizzazione stessa e serve per parzializzare i documenti da inviare.
Last Sync E' la data e ora di ultima sincronizzazione del client. Può essere utile per inserire ulteriori filtri in caso di tabelle di tipo storico.
Skip Parametro booleano di output. Se lo si imposta a true, il framework non caricherà la collection di documenti da inviare ma lo dovrà fare il codice dell'evento.
Document Number Parametro intero di output. Deve essere valorizzato al numero di documenti ancora da sincronizzare se PreCount è true e la sincronizzazione è personalizzata.

Esempio di codice

// ***************************************************************************
// Evento notificato al documento quando un client deve essere resincronizzato
// ***************************************************************************

event Ordini.OnResyncClient(
  IDCollection Collection of IDDocument
  string ClientDomain
  date time LastSync
  inout boolean Skip
)
{
  // Scelgo solo gli ordini dell'impiegato che sta usando il client
  Idimpiegato = convert(ClientDomain)
}
Se si decide di personalizzare completamente la resincronizzazione impostando skip a true, si deve tenere conto delle seguenti note:
  • Se la proprietà PreCount è true, allora occorre valorizzare il parametro di uscita Document Number al numero totale di doucmenti da resincronizzare per questa classe.
  • Se la proprietà MaxDocuments è valorizzata, allora la sincronizzazione è parziale e si deve recuperare solo il numero di documenti indicato.
  • In questo caso è bene guardare anche la proprietà LastDocument che contiene il DNA dell'ultimo documento già sincronizzato di questa classe. Solo i documenti successivi dovranno essere recuperati.
Si consiglia in ogni caso di indicare rispondere all'evento OnGetNamedPropertyValue con nome proprietà pari a DO_DOMAIN, indicando il dominio di sincronizzazione di ogni singolo documento. In caso contrario la variazione verrà inviata a tutti i client.

Ultima modifica: 24/03/2021 / Validità: da 10.5.4660

Vedi Anche

  • Resync Class (procedura)
  • Load Collection By Example (procedura)
  • On Synchronize (evento)
  • Pre Count (proprietà)
  • Last Document (proprietà)
  • Max Documents (proprietà)
  • On Get Named Property Value (evento)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum