Boa tarde Pessoal,
No ambiente do cliente existem 5 dataset`s sincronizados e aparentemente estão desenvolvidos corretamente, mas ao acessar o banco notei que foram criadas várias tabelas com inicio “md00…” (tabelas dos datasets offline) e no ambiente existem apenas 5 datasets offline.
No inicio do dia eu parei o job de sincronização de todos e apaguei as tabelas, mandei sincronizar a cada 10 minutos de novo e no fim do dia ainda tinham apenas as 5 tabelas (1 pra cada), agora após mais ou menos 3 semanas, me deparo com mais de 250 tabelas (repetindo de 5 em 5)
function defineStructure() {
addColumn("CODE");
addColumn("BRANCH");
addColumn("ACC");
addColumn("DESCRI");
addColumn("FILTROZOOM");
setKey(["CODE", "DESCRI"]);
addIndex(["CODE"]);
addIndex(["BRANCH"]);
addIndex(["ACC"]);
addIndex(["DESCRI"]);
}
function getDados() {
try{
var clientService = fluigAPI.getAuthorizeClientService();
var compID = getValue("WKCompany");
var data = {
companyId : compID + '',
serviceCode : 'banks',
endpoint : '/WSBANK',
method : 'get', // 'delete', 'patch', 'post', 'get'
timeoutService: '100', // segundos
}
var response = clientService.invoke(JSON.stringify(data));
log.info("<<< " + response);
var newDataset = DatasetBuilder.newDataset();
if(response.getResult()== null || response.getResult().isEmpty()){
newDataset.addOrUpdateRow(new Array("Error","It was not possible to connect to Rest",""));
}else{
log.info("<<<+ " + response.getResult());
var oRetorno = JSON.parse(response.getResult());
for (var i = 0; i < oRetorno.banks.length; i++) {
var concat = oRetorno.banks[i].code+" - "+oRetorno.banks[i].branch+" - "+oRetorno.banks[i].account+" - "+oRetorno.banks[i].descri;
newDataset.addOrUpdateRow(new Array(oRetorno.banks[i].code,oRetorno.banks[i].branch,oRetorno.banks[i].account,oRetorno.banks[i].descri,concat));
}
}
return newDataset;
} catch (e) {
// TODO: handle exception
log.info('FRE ### ERRO: ' + e)
}
}
function onSync(lastSyncDate) {
clearDataset("banks");
return getDados();
}
function clearDataset(codDataset) {
log.info("#### limpando dataset " + codDataset);
var dataset = DatasetFactory.getDataset(codDataset, null, null, null); // busca o dataset completo
if (dataset != null && dataset.rowsCount > 0) { //se o dataset tem registros
var values = dataset.getValues();
for (var row in values) { // para cada coluna retornada no dataset
dataset.deleteRow([values[row][0], values[row][1], values[row][2],values[row][3],values[row][4]]); // apaga a linha
}
}
}