Versão atual:

Problemas Sincronizaçao Dataset

Criei um Dataset que será executado todo dia, ele deverá ler uma tabela do Banco de Dados e copiar essas informações para o Dataset.

Criei o Dataset e codifiquei os métodos defineStructure, onSync e createDataset. Segue o código abaixo.

function defineStructure() {
    addColumn("AGENDA", DatasetFieldType.NUMBER);
    addColumn("TIPO_AGENDA");
    addColumn("ORIGEM_COD", DatasetFieldType.NUMBER);
    addColumn("ORIGEM_DV", DatasetFieldType.NUMBER);
    addColumn("DESTINO_COD", DatasetFieldType.NUMBER);
    addColumn("DESTINO_DV", DatasetFieldType.NUMBER);
    addColumn("NOTA", DatasetFieldType.NUMBER);
    addColumn("SERIE");
    addColumn("DATA_AGENDA", DatasetFieldType.DATE);
    addColumn("TIPO_NOTA");
    addColumn("FISCAL_COD", DatasetFieldType.NUMBER);
    addColumn("CFOP", DatasetFieldType.NUMBER);
    addColumn("COND_PGTO", DatasetFieldType.NUMBER);
    setKey([ "AGENDA", "NOTA", "DATA_AGENDA" ]);
    addIndex([ "ORIGEM_COD" ]);
    addIndex([ "DESTINO_COD" ]);
    addIndex([ "NOTA", "ORIGEM_COD", "DATA_AGENDA" ]);
}

function onSync(lastSyncDate) {
    var dataset = DatasetBuilder.newDataset();
    // Consulta Dataset Fiscal para pegar as Notas de Assistencia Tecnica
    var const_fiscal = new Array();
    const_fiscal.push(DatasetFactory.createConstraint("FIS_DTA_AGENDA", '01/09/2018', '01/09/2018', ConstraintType.MUST));
    //const_fiscal.push(DatasetFactory.createConstraint("FIS_DTA_AGENDA", lastSyncDate, lastSyncDate, ConstraintType.MUST));
    var ds_fiscal = DatasetFactory.getDataset("ds_aa1cfisc", null, const_fiscal, null);
    // Valida se retornou resultado a consulta
    if (ds_fiscal != null && ds_fiscal.values != null && ds_fiscal.values.length > 0) {
        var records = ds_fiscal.values;
        for ( var index in records ) {
            var record = records[index];
            dataset.addRow(new Array(record.AGENDA, record.TIPO_AGENDA, record.ORIGEM_COD, record.ORIGEM_DV, record.DESTINO_COD, record.DESTINO_DV, 
                    record.NOTA, record.SERIE, record.DATA_AGENDA, record.TIPO_NOTA, record.FISCAL_COD, record.CFOP, record.COND_PGTO));
        }
        return dataset;
    }
}

function createDataset(fields, constraints, sortFields) {
    var dataset = DatasetBuilder.newDataset();
    dataset.addColumn("AGENDA", DatasetFieldType.NUMBER);
    dataset.addColumn("TIPO_AGENDA");
    dataset.addColumn("ORIGEM_COD", DatasetFieldType.NUMBER);
    dataset.addColumn("ORIGEM_DV", DatasetFieldType.NUMBER);
    dataset.addColumn("DESTINO_COD", DatasetFieldType.NUMBER);
    dataset.addColumn("DESTINO_DV", DatasetFieldType.NUMBER);
    dataset.addColumn("NOTA", DatasetFieldType.NUMBER);
    dataset.addColumn("SERIE");
    dataset.addColumn("DATA_AGENDA", DatasetFieldType.DATE);
    dataset.addColumn("TIPO_NOTA");
    dataset.addColumn("FISCAL_COD", DatasetFieldType.NUMBER);
    dataset.addColumn("CFOP", DatasetFieldType.NUMBER);
    dataset.addColumn("COND_PGTO", DatasetFieldType.NUMBER);
    // Consulta Dataset Fiscal para pegar as Notas de Assistencia Tecnica
    var const_fiscal = new Array();
    const_fiscal.push(DatasetFactory.createConstraint("FIS_DTA_AGENDA", '01/09/2018', '01/09/2018', ConstraintType.MUST));
    //const_fiscal.push(DatasetFactory.createConstraint("FIS_DTA_AGENDA", lastSyncDate, lastSyncDate, ConstraintType.MUST));
    var ds_fiscal = DatasetFactory.getDataset("ds_aa1cfisc", null, const_fiscal, null);
    // Valida se retornou resultado a consulta
    if (ds_fiscal != null && ds_fiscal.values != null && ds_fiscal.values.length > 0) {
        var records = ds_fiscal.values;
        for ( var index in records ) {
            var record = records[index];
            dataset.addRow(new Array(record.AGENDA, record.TIPO_AGENDA, record.ORIGEM_COD, record.ORIGEM_DV, record.DESTINO_COD, record.DESTINO_DV, 
                    record.NOTA, record.SERIE, record.DATA_AGENDA, record.TIPO_NOTA, record.FISCAL_COD, record.CFOP, record.COND_PGTO));
        }
        return dataset;
    }
    else {
        return null;
    }
}

Porém, no log do Servidor fica dando o seguinte erro:

Executando evento : onSyncERRO AO EXECUTAR SCRIPT -> NOK - sun.org.mozilla.javascript.internal.EvaluatorException: Java class "[Ljava.lang.Object;" has no public instance field or method named "AGENDA". (#33) in at line number 33

Gostaria que me ajudassem a entender esse erro, pois já vi e revi o código e não consigo mais identificar onde alterar para corrigir esse erro.

Versão (1):

Ver a versão formatada

Problemas Sincronizaçao Dataset

Comentário

new question