It is currently 3 August 2020, 11:39 Advanced search

Sync ConnectionOption in App Offline

Domande e risposte su come utilizzare Instant Developer Cloud al meglio

Sync ConnectionOption in App Offline

Postby A.Piunti » 3 July 2020, 9:38

Buongiorno,
in un progetto con app offline e web, utilizzo la do remota.
App.Document.remote = true;

Nelle librerie ho un documento VCategoriaNegozio derivato dalla tabella CategoriaNegozio,
al quale ho modificato la master query mettenndo in Join CategoriaNegozio con la tabella CategoriaNegozioLingua, per recuperare altre proprietà.
Ho poi aggiunto la seguente condizione where: where CategoriaNegozioLingua.Lingua = app.utente.lingua

La proprieta' utente e' presente sia nell'app che nella parte web.

nell'onstart dell'app, una volta valorizzata la proprieta' app.utente eseguo il seguente codice:
Code: Select all
app.sync.enabled = false;
app.sync.connectOptions = {objUte : app.utente} ;
app.sync.enabled = true;

passando al server tutto il do.

Lato server web, in AppObject, sync, Do ho gestito l'onConnect.
In questo evento valorizzo la proprieta app.utente con app.sync.connectOptions.objUte;

Avviando l'applicazione in FEBE e guarndando i console log, lato server app.utente sembra essere valorizzata correttamente nell'OnConnect,
ma quando viene eseguita la query per il DO VCategoriaNegozio , app.utente.lingua risulta essere null.

Cosa sbaglio?
In che modo va valorizzata la proprieta' app.utente, lato server, affinche' tutte le query remote vengano eseguite correttamente?

Grazie
Attachments
1.PNG
1.PNG (12.03 KiB) Viewed 130 times
2.PNG
2.PNG (54.68 KiB) Viewed 130 times
User avatar
A.Piunti
 
Posts: 268
Joined: 1 January 2015, 13:20

Re: Sync ConnectionOption in App Offline

Postby m.sirri » 3 July 2020, 11:38

Premesso che non hai detto come sia valorizzata la proprietà app.utente (immagino con un documento!?), se è così durante il passaggio delle info al server il documento non viene serializzato perché il sistema non se lo aspetta.
Se vuoi puoi serializzarlo in json con il metodo intoJSON.
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8365
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)

Re: Sync ConnectionOption in App Offline

Postby A.Piunti » 3 July 2020, 12:20

m.sirri wrote:Premesso che non hai detto come sia valorizzata la proprietà app.utente (immagino con un documento!?), se è così durante il passaggio delle info al server il documento non viene serializzato perché il sistema non se lo aspetta.
Se vuoi puoi serializzarlo in json con il metodo intoJSON.

Si Matteo, app.utente e' un Documento derivato dalla tabella Utente.
Serializzando il documento ora sembra funzionare correttamente grazie.

Poiche' nell'app offline l'utente avra' modo di cambiare lingua e quindi modificare la proprieta' app.utente.lingua
e' corretto applicare il seguente codice per aggiornare anche la proprieta' app.utente lato server?
Code: Select all
app.sync.enabled = false;
app.sync.connectOptions = {objUte : app.utente.intoJSON()} ;
app.sync.enabled = true;


o c'e' un modo migliore?
User avatar
A.Piunti
 
Posts: 268
Joined: 1 January 2015, 13:20

Re: Sync ConnectionOption in App Offline

Postby m.sirri » 3 July 2020, 14:55

Sì, direi che è l'unico modo.
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8365
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)


Return to Tips & Tricks - Cloud

Who is online

Users browsing this forum: No registered users and 3 guests