Dataset Sincronizado sem registros da origem

Bom dia!

Estou tentando criar um dataset sincronizado, entretanto o dataset que busco as informações não retorna nenhum registro na função onSync, mas o mesmo código na função createDataset retorna os registros. Alguém poderia me auxiliar com isso? Obrigado!

function defineStructure() { addColumn("CODFIL"); addColumn("FILIAL"); setKey(["CODFIL"]); }

function onSync(lastSyncDate) { var dataset = DatasetBuilder.newDataset(); var const_fiscal = new Array(); var ds_fiscal = DatasetFactory.getDataset("ds_SM0", null, null, null); console.log(ds_fiscal.rowsCount); for (var i = 0; i < ds_fiscal.rowsCount; i++) { dataset.addRow(new Array( ds_fiscal.getValue(i, 'CODFIL'), ds_fiscal.getValue(i, 'FILIAL'))); } return dataset; }

function createDataset(fields, constraints, sortFields) { var dataset = DatasetBuilder.newDataset(); dataset.addColumn("CODFIL"); dataset.addColumn("FILIAL"); var const_fiscal = new Array(); var ds_fiscal = DatasetFactory.getDataset("ds_SM0", null, null, null); console.log(ds_fiscal.rowsCount); for (var i = 0; i < ds_fiscal.rowsCount; i++) { dataset.addRow(new Array( ds_fiscal.getValue(i, 'CODFIL'), ds_fiscal.getValue(i, 'FILIAL'))); console.log(ds_fiscal.getValue(i, 'FILIAL')); }

return dataset; }

@Gustavo,

  • Para a transferência de dados do dataset para a tabela, deverá ser definida a função onSync que será chamada a cada execução da tarefa agendada.
    • Para que a sincronização aconteça deve ser criada uma tarefa no Agendador de tarefas do fluig com o tipo 'Sincronização de dataset', selecionando qual dataset deverá ser sincronizado e em que período.
    • Dentro da função onSync deverá ser criado um objeto do tipo dataset onde as novas linhas deverão ser adicionadas pelo método addRow e linhas a serem atualizadas ou removidas pelos métodos updateRow e deleteRow, respectivamente.
    • Os métodos updateRow e deleteRow recebem uma lista de objetos que são os valores das linhas (da mesma forma que já ocorre com o método addRow).

Mais detalhes e exemplo de onSync aqui.

Eu realizei os procedimentos citados, o problema é que DatasetFactory.getDataset no método onSync quando debugo não retorna nenhuma linha. Tem alguma tratativa adicional para isso? Porque no createDataset ele retorna.

O método onSync utiliza o service, é diferente do que vc tentou, pode olhar exemplo completo aqui: Sincronização de datasets - TOTVS Fluig - TDN

Perfeito, não tinha o conhecimento de que não podia usar um dataset como origem do carregamento. Obrigado!