Cómo hacer una sincronización parcial en flexygo offline

Creado por David Miralpeix, Modificado el Fri, 16 Feb 2024 a las 02:05 PM por David Miralpeix

La APP offline de flexygo, por defecto, envía todos los registros de aquellas tablas que tengan alguno de los bits de cambio activo, como indican los campos de las tablas _isInserted, _isDeleted, _isUpdated. Y cuando se hace un refresco de los datos, éste se realiza para todo el modelo.


En ocasiones puede ser necesario realizar un envío o recepción de datos personalizado, o sea, indicar específicamente qué tablas quiero sincronizar en un momento dado.

Para eso, hay que crear una función js como indica cualquiera de las funciones y ejemplos descritos a continuación.



Get data from server without overwrite modified rows.
  • {boolean} reloadPage
  • {string} jscode
  • {SyncOptions} options
    • {boolean} partialSync?: If true only get tables and views in syncTables and syncViews array
    • {Array<string>} syncTables?: List of tables to get
    • {Array<string>} syncViews: List of views to get
    • {boolean} partialSend?: If true only send tables and views in syncTables and syncViews array
    • {Array<string>} sendTables?: List of tables to send
    • {Array<string>} sendViews?: List of views to send


flexygo.sync.syncData(reloadPage,jscode, options);


EJEMPLO

Se realiza una sincronización parcial únicamente de las tablas Partes, Conf_Partes, Clientes_Datos y Contactos

Recibir = async function(){

    let opts = {
      partialSync: true,
      syncTables: [],
      syncViews: []
    };

    opts.syncTables.push('Partes');

    opts.syncTables.push('Conf_Partes');

    opts.syncTables.push('Clientes_Datos');

    opts.syncTables.push('Contactos');
   
    flexygo.sync.syncData(true, "",opts);

  }



Get data from server overwriting modified rows.
  • {boolean} reloadPage
  • {string} jscode
  • {SyncOptions} options
  • {boolean} partialSync?: If true only get tables and views in syncTables and syncViews array
  • {Array<string>} syncTables?: List of tables to get
  • {Array<string>} syncViews: List of views to get
  • {boolean} partialSend?: If true only send tables and views in syncTables and syncViews array
  • {Array<string>} sendTables?: List of tables to send
  • {Array<string>} sendViews?: List of views to send


flexygo.sync.overwriteData(reloadPage,jscode, options);



Sends modified rows to server.
  • {SyncOptions} options
  • {boolean} partialSync?: If true only get tables and views in syncTables and syncViews array
  • {Array<string>} syncTables?: List of tables to get
  • {Array<string>} syncViews: List of views to get
  • {boolean} partialSend?: If true only send tables and views in syncTables and syncViews array
  • {Array<string>} sendTables?: List of tables to send
  • {Array<string>} sendViews?: List of views to send



flexygo.sync.sendData(options);



¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo