Versão atual:

Dataset sincronizado offline

Caros,

Estou tentando criar um dataset sincronizado offline para utilizar com o fluig mobile, ele me retorna os dados sincronizados corretamente porem quando eu desligo a internet do dispositivo, os dados se perdem depois de cerca de 3 minutos.

Por favor, se alguém conseguir identificar um erro e me ajudar, fico muito grato.

function defineStructure() {
    addColumn("CODIGO");
    addColumn("DESCRICAO");
    setKey([ "CODIGO", "DESCRICAO" ]);
    addIndex([ "CODIGO", "DESCRICAO" ]);
}


function onSync(lastSyncDate) {
    var dataset = DatasetBuilder.newDataset();

    var clientService = fluigAPI.getAuthorizeClientService();

    var data = {
        companyId: getValue("WKCompany") + '',
        serviceCode: 'ConsultaNaturezaFinanceiraProtheus',
        endpoint: '/rest/NATUREZAS',
        method: 'GET', // 'delete', 'patch', 'put', 'get'     
        timeoutService: '100'
    }

    var vo = clientService.invoke(JSON.stringify(data));

    var result = JSON.parse(vo.getResult());

    if (vo.getResult() == null || vo.getResult().isEmpty()) {
        dataset.addOrUpdateRow(['erro', 'erro', 'erro']);

    } else {
        var natureza = result.NATUREZAS;
        for(i in natureza){
            dataset.addOrUpdateRow([natureza[i].CODIGO, natureza[i].DESCRICAO]);    
        }
    }
    return dataset;
}


function createDataset(fields, constraints, sortFields) {
    var dataset = DatasetBuilder.newDataset();

    dataset.addColumn('CODIGO');
    dataset.addColumn('DESCRICAO');
    dataset.addColumn('_classname');


    var clientService = fluigAPI.getAuthorizeClientService();

    var data = {
        companyId: getValue("WKCompany") + '',
        serviceCode: 'ConsultaNaturezaFinanceiraProtheus',
        endpoint: '/rest/NATUREZAS',
        method: 'GET', // 'delete', 'patch', 'put', 'get'     
        timeoutService: '100'
    }

    var vo = clientService.invoke(JSON.stringify(data));

    var result = JSON.parse(vo.getResult());

    if (vo.getResult() == null || vo.getResult().isEmpty()) {
        dataset.addRow(['erro', 'erro', 'erro']);

    } else {
        var natureza = result.NATUREZAS;
        for(i in natureza){
            dataset.addRow([natureza[i].CODIGO, natureza[i].DESCRICAO, natureza[i]._classname]);    
        }
    }
    return dataset;
}


function onMobileSync(user) {
    var sortingFields = new Array();
    var constraints = new Array();

    var colunastitulo = new Array('CODIGO', 'DESCRICAO');
    var result = {
        'fields' : colunastitulo,
        'constraints' : constraints,
        'sortingFields' : sortingFields
    };
    return result;
}

Versões (2):

Ver a versão formatada

Dataset sincronizado offline

Comentário

new question