Scopo
Questo metodo esegue la sincronizzazione con il server. Deve essere utilizzato nel terminale locale, anche all'interno di una server session, per evitare il blocco dell'interfaccia utente. Il paragrafo 5.11 della Guida all'utilizzo di Instant Developer descrive il ciclo di funzionamento di una sessione di sincronizzazione.
Dalla versione 12.5 è stato aggiunto il parametro Async, che permette di rendere asincrona l'operazione di sincronizzazione. Attivando tale modalità, la funzione termina subito inviando alla shell un comando con le informazioni necessarie per eseguire la sincronizzazione nativamente in modo da non bloccare l'interfaccia utente.
La modalità asincrona è disponibile solo in caso di sincronizzazione nativa attivabile tramite la proprietà NativeSync nelle applicazioni offline dentro shell.
Sintassi
Argomenti
Async | È un parametro booleano opzionale che indica al sistema se la sincronizzazione deve essere asincrona (ovvero la procedura ritorna subito mentre la shell nativa effettua la sincronizzazione in background) o sincrona (ovvero la procedura ritorna solo quando la sincronizzazione è stata completata). Se il parametro non viene specificato, il valore predefinito è False (operazione sincrona). |
Valore di ritorno
Viene ritornato true se non sono avvenuti errori o conflitti durante l'intera operazione, false altrimenti.
Viene ritornato false anche nei seguenti casi:
- non è stata valorizzata la proprietà ServerURL;
- avendo impostato la proprietà CheckServer ad un valore maggiore di 0 il server risulta non raggiungibile (questo controllo viene fatto solo nelle applicazioni dentro shell);
- non è stato possibile creare o leggere la tabella ZZ_SYNC nel database locale e/o remoto;
- annullamento effettuato dall'utente tramite la videata di attesa o da codice impostando il parametro Abort del metodo GetSyncProgress a true.
- L'intera esecuzione della procedura di sincronizzazione può essere seguita tramite il sistema di debug a runtime di In.de. Impostando il livello di log a Verboso, si otterrà il massimo delle informazioni disponibili.
- Nelle applicazioni offline si consiglia di effettuare la sincronizzazione in transazione per ottenere migliori performance. Ovviamente in caso di sincronizzazione nativa ciò non deve essere fatto perché la transazione viene gestita dalla shell.
- Se viene eseguita nella sessione browser, i documenti mostrati a video vengono aggiornati automaticamente.
- In caso di sincronizzazione nativa, viene notificato l'evento OnEndSynchronization (sia in caso di successo che di fallimento) tramite il quale è possibile decidere se rieseguire le query dei pannelli delle videate aperte.
- In caso di sincronizzazione asincrona, è possibile usare il metodo GetSyncProgress per conoscerne la percentuale di completamento o lo stato di errore.
- In caso di sincronizzazione nativa, è possibile seguirne l'esecuzione nel log della shell anziché nel debug dell'applicazione.
Ultima modifica: 25/10/2016 / Validità: da 10.5.4660