Objeto para obtener información de la réplica. Se pueden aplicar desde aquí restricciones de réplica y arrancar o detener el servicio de réplica.

Método Descripción
clearAllRestrictions quitar todas las restricciones.
cleanFilesDatabase() limpia la base de datos de réplica de ficheros de los ficheros con estado 201 y retorna un entero con el número de registros borrados.
clearRestrictions quitar restricciones.
getLog obtener log.
getDatabaseId obtener ID de base de datos.
getHostname obtener nombre host.
getLicense obtener licencia.
getMid obtener MID.
getRecordsPend obtener los registros pendientes.
getRecordsRX obtener registros RX.
getRecordsTX obtener registros TX.
getTotalRecordsTX obtener el total de registros TX.
getTotalRecordsRX obtener el total de registros RX.
getReplicaQueuePendingOperations devuelve número de operaciones pendientes
processReplicatorQueue procesar cola del replicador.
setRestriction ajustar restricción.
start Iniciar réplica. Este método fuerza la réplica. Equivalente a appData.userInterface.startReplica();
stop Detener la réplica. Este método detiene la réplica. Equivalente a appData.userInterface.stopReplica(); Obsoleto en este momento.
testAuthentication() retorna un objeto javascript con las propiedades result (booleano) y error (string). Sirve para probar si el socket del replicador es conectable y si se pudo hacer login.
testConnection() retorna un objeto javascript con las propiedades result (booleano) y error (string).



Tipo Función
Tipo de Dato devuelto Texto
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Iniciar réplica. Este método fuerza la réplica. Equivalente a appData.userInterface.startReplica();
En el caso de IOS y Windows Phone, si el dispositivo ya está replicando en el momento en que se invoca este método, continúa haciéndolo. En Android, este código implica que se ponga en cola una petición de réplica que se ejecutará cuando se termine el ciclo en proceso.

Ejemplo de Uso:

	   if (!inApp()) {
          // controlamos si queremos probar el lauch de la app en automático.
            if (jsconst_oper.autoLaunch){
                // si esta marcado el lauch, tenemos que comprobar: si esta en estado susceptible de recibir averias, y si es así, lanzar la app
                // pruebas iniciales lanzamos y ya
                writelogfuncionesJS("NOTIFAVERIA-checkReplicaOk - Lanzando App","replica.js"); 
                doLaunchApp();
            }else{
                writelogfuncionesJS("NOTIFAVERIA-checkReplicaOk - Por RevisaAvisosNoAppJS","replica.js"); 
                RevisaAvisosNoAppJS();
                replica.start();
            }
        }


       case 3: //registramos el PUSHID   NO PARECE FUNCIONAR EN EL REPLICAOK-FUERA DE LA APP
                    trazaAverias("PUSHID-processNotification - Previo registrarPushV2","replica.js"); 
                    registrarPushV2();
                    trazaAverias("PUSHID-processNotification - Despues registrarPushV2","replica.js"); 
                    break;
                default://Test. Nos deja información de log de que ha recibido y procesado una petición. 	
                    writelogExceptionJS(" processNotification. Notificacion sin tipo controlado: "+tipoNotif,"js_replica.js");
                    break;
            } 
            // marcamos la notificacion como revisada y anotamos tambien fecha..
            objNotif.MODIFICADO=1;
            objNotif.FECHAM=new Date(); 
            objNotif.save();
            objNotif=null;
            collNotif.moveNext();
        }



Tipo Función
Tipo de Dato devuelto Texto
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Este método detiene la réplica. Equivalente a appData.userInterface.stopReplica;
En estos momentos está obsoleto, no debería usarse porque provocaría problemas de pérdidas de datos. En su lugar, se aconseja el uso de colecciones de mantenimiento.


Ejemplo de Uso:

	replica.Stop();



Tipo Función
Tipo de Dato devuelto Texto
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Función que retorna el LOG de réplica.


Ejemplo de Uso:

	self("MAP_LOG")= replica.getLog();



Tipo Función
Tipo de Dato devuelto Entero
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Función que retorna la cantidad de registros en cola, pendientes de enviar en el dispositivo.


Ejemplo de Uso:

	self("MAP_recordsPend")= replica.getRecordsPend();



Tipo Función
Tipo de Dato devuelto Entero
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Función que retorna la cantidad de registros recibidos.


Ejemplo de Uso:

	self("MAP_RECORDSTX")=replica.getRecordsRX();



Tipo Función
Tipo de Dato devuelto Entero
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Función que retorna la cantidad de registros enviados. En IOS y Windows Phone, este contador es relativo al ciclo de réplica. En Android, es más general, se inicializa al hacer LOGIN y se incrementa en cada ciclo.


Ejemplo de Uso:

	self("MAP_RECORDSTX")=replica.getRecordsTX();


Tipo Función
Tipo de Dato devuelto Entero
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Función que retorna la cantidad total de registros recibidos. En IOS y Windows Phone, este contador es relativo al ciclo de réplica. En Android, es más general, se inicializa al hacer LOGIN y se incrementa en cada ciclo.


Ejemplo de Uso:

	self("MAP_RECORDSTX")=(replica.recordsRX) + "/" + CStr(replica.totalRecordsRX);



Tipo Función
Tipo de Dato devuelto Entero
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Función que retorna la cantidad total de registros enviados.


Ejemplo de Uso:

	self("MAP_RECORDSTX")=(replica.recordsTX) + "/" + CStr(replica.totalRecordsTX);



Tipo Función
Parámetros IDX: Indice del HostName que se quiere obtener. Si no se pasa nada, se devuelve el primero
Tipo de Dato devuelto Texto
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Función que retorna el host que se haya definido el en license.ini. Como parámetro se pasa el índice: 1 ó 2, que se quiere obtener. Por defecto, devuelve el primer HostNamede la configuración.


Ejemplo de Uso:

	self("MAP_HOSTNAME")=replica.getHostName(); 



Tipo Función
Tipo de Dato devuelto Texto
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Función que retorna el número de licencia del dispositivo. Se lee del license.ini.


Ejemplo de Uso:

	self("MAP_LICENSE")=replica.getLicense();



Tipo Función
Tipo de Dato devuelto Texto
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Función que retorna el MID del dispositivo. Se obtiene de la licencia definida en el licence.ini.
Equivalente a la macro ##MID##, que usamos en ocasiones como: <action name=“setval” field=“MAP_MID” value=“##MID##”/>


Ejemplo de Uso:

	self("MAP_MID")=replica.getMid();
 <create>
      <action name="setval" field="FECHAOPER" value="##NOW_TIME##" />
      <action name="setval" field="IDEMPRESA" value="##ENTID##" />
      <action name="runscript">
        <script language="javascript">
                self.MID=replica.getMid();
            </script>
      </action>
    </create>



Tipo Función
Tipo de Dato devuelto Texto
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Función que retorna el número de base de datos. Se obtiene de los primero caracteres de la licencia definida en el license.ini.


Ejemplo de Uso:

	self("MAP_DBASEID")=replica.getDatabaseId();



Tipo Función
Tipo de Dato devuelto Boolean
Plataforma Android,iPhone


Devuelve booleano y procesa de manera síncrona la cola de salida de réplica. Tiene timeout de 60 segundos.


Tipo Función
Tipo de Dato devuelto Boolean
Plataforma Android,iPhone



Retorna un objeto javascript con las propiedades result (booleano) y error (string). Sirve para probar si el socket del replicador es conectable.

function testReplica() {
    var sResult = replica.testConnection();
	ui.showToast("Connection: " + sResult);
 
    sResult = replica.testAuthentication();
    ui.showToast("Authentication: " + sResult);


Tipo Función
Tipo de Dato devuelto Boolean
Plataforma Android,iPhone



Retorna un objeto javascript con las propiedades result (booleano) y error (string). Sirve para probar si el socket del replicador es conectable y si se pudo hacer login.

function testReplica() {
    var sResult = replica.testConnection();
	ui.showToast("Connection: " + sResult);
 
    sResult = replica.testAuthentication();
    ui.showToast("Authentication: " + sResult);


Tipo Función
Tipo de Dato devuelto Entero
Plataforma Android,iPhone



Limpia la base de datos de réplica de ficheros de los ficheros con estado 201 y retorna un entero con el número de registros borrados.


Se han implementado unas claves en el license.ini para poder restringir la réplica, de forma que se limiten los días o las horas a las que se puede replicar así como evitar que se repliquen ficheros o datos si estamos conectados con los datos 3G-4G del teléfono.


Tipo Función
Tipo de Dato devuelto Texto
Plataformas Android, Blackberry (5.0), iPhone, Windows Phone


Array de intervalos horarios donde la réplica está permitida.


Tipo Función
Tipo de Dato devuelto Texto
Plataformas Android, Blackberry (5.0), iPhone, Windows Phone


Dos posibles parámetros: files y data a los cuales hay que ponerle valor true o false para activar o desactivar la réplica de ficheros y de datos, respectivamente, cuando estamos conectados a los datos 3G-4G del teléfono.
Estas claves pueden formarse por script, de forma que en lugar de ser “fijas” en el license.ini, se puedan cambiar estas claves dinámicamente:


Tipo Función
Tipo de Dato devuelto Texto
Plataformas Android, Blackberry (5.0), iPhone, Windows Phone


Array de días de la semana donde la réplica está permitida.

Establecer las claves con JavaScript:


Tipo Función
Tipo de Dato devuelto Texto
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Quitar las restricciones para réplica que se pasan como parámetros.


Tipo Función
Tipo de Dato devuelto Texto
Plataforma Android, Blackberry (5.0), iPhone, Windows Phone


Quitar todas las restricciones para réplica.

Ejemplos de Uso:

   var restrictionData = {
	files: false,
	data: true
   };
  replica.setRestriction("WithMobileNetwork", restrictionData);
 
 
  var restrictionHours = {
	allowedHours: ["8:30-14:00", "16:00-18:00"]
  };
 
  replica.setRestriction("AllowedHours", restrictionHours);
 
  var restrictionWeekdays = {
	allowedWeekdays: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
  };
  replica.setRestriction("AllowedWeekdays", restrictionWeekdays);
 
 Para eliminar las restricciones:
 
  replica.clearRestrictions("WithMobileNetwork,AllowedHours"); Separadas por comas ponemos las restricciones que queremos eliminar.
 
  replica.clearAllRestrictions(); Para quitar todas las restricciones.