Erro ao chamar dataset via JavaScript

Bom dia ,

Estou com problema na chamada de um dataset customizado que realiza conexão com o banco do Fluig para gravar algumas informações.

O erro que é exibido no Console do navegador é o logo abaixo:

"POST http://fluigtst.orientnet.com.br:8180/api/public/ecm/dataset/datasets/ 500 (Internal Server Error) jquery.js:2"


Lógica inteira :


var arrayCotacoes = new Array();

        var dataset = DatasetFactory.getDataset("fre-Pi-EnviaCotacaoCompras", null, null, null);

        console.log("POINT ### QUANT DATASET COMPRA ITEM " , dataset);

        console.log("POINT ### QUANT DATASET COMPRA ITEM " + dataset.values.length);

        if( dataset.values.length != undefined){

            for(var i = 0; i < dataset.values.length; i++){

                var requisicao = dataset.values[i].nrRequisicao;

                var requisicaoForm = $("#numeroRequisicao").val();

                if(requisicao == requisicaoForm){

                    arrayCotacoes.push([dataset.values[i].dataCotacao, dataset.values[i].codEmitente, dataset.values[i].precoFornec, dataset.values[i].diasPrazo, dataset.values[i].nrRequisicao]);

                }

            }

        }

        console.log("COTACOES ARRAY " , arrayCotacoes);

        console.log("COTACOES ARRAY " , arrayCotacoes.length);

        console.log("COTACOES ARRAY " , arrayCotacoes[0][2]);



        for(var c = 0; c < arrayCotacoes.length; c++){

            var datasetBuscaCotacao = DatasetFactory.getDataset("fre-Pi-GravaBDCotacao", new Array(arrayCotacoes[c][0], arrayCotacoes[c][1], arrayCotacoes[c][2], arrayCotacoes[c][3], arrayCotacoes[c][4]), null, null);

            console.log("GRAVA COTACAO BANCO FINAL");

        }

Oi Gabriel! Consegue detalhar de onde você está fazendo essa chamada - formulário, widget, etc - e como você está fazendo a chamada? Valeu!

Opa, estou fazendo a chamada em um arquivo JavaScript associado ao formulário

A chamada esta assim:

for(var c = 0; c < arrayCotacoes.length; c++){
var datasetBuscaCotacao = DatasetFactory.getDataset(“fre-Pi-GravaBDCotacao”, new Array(arrayCotacoes[c][0], arrayCotacoes[c][1], arrayCotacoes[c][2], arrayCotacoes[c][3], arrayCotacoes[c][4]), null, null);
console.log(“GRAVA COTACAO BANCO FINAL”);
}

Consegue mandar o js inteiro? O que aparece no log do fluig?

Editei com a lógica inteira… No log do Fluig não aparece nada apenas no console do navegador esta mensagem : “POST http://fluigtst.orientnet.com.br:8180/api/public/ecm/dataset/datasets/ 500 (Internal Server Error) jquery.js:2”
Aparentemente, ele nem conseguiu chamar e executar o dataset.

Alguma sugestão ?

@Gabriel, coloca aqui o código do seu Dataset que você está consumindo.

Gabriel,

Você está passando o valor das constraints direto para a chamada do dataset. Tenta criar a constraint, informando o campo, valor e o tipo da constraint. Algo assim:


    var c1 = DatasetFactory.createConstraint("parentDocumentId", "5", "5", ConstraintType.MUST);
    var c2 = DatasetFactory.createConstraint("documentType", "1", "1", ConstraintType.MUST_NOT);
    var c3 = DatasetFactory.createConstraint("activeVersion", "true", "true", ConstraintType.MUST);
    var constraints   = new Array(c1, c2, c3);

Após isso, você passa o array de constraints para a chamada do dataset:


var dataset = DatasetFactory.getDataset("document", null, constraints, null);

Abs,

Marcos

Não estou passando constraints , pois o segundo parâmetro seria os fields correto ?

Verdade Gabriel, sorry! Cara, vê se não tem alguém vindo nulo, quando você chama o dataset… Cria o array antes, valida se não tá vindo nulo e depois faz a chamada para o dataset! No Developer Tools você consegue ver como foi a requisição para o serviço api/public/ecm/dataset/datasets/. Se mesmo assim não funcionar, dá uma olhada como tá indo a requisição!

olá pessoal Estou tendo um problema semelhante após realizar a ultimas atualizações do 1.7.0, tanto com a do dia 1805 e 2505.. dá o erro no console do navegador, mas não da nada no log do fluig ..../api/public/ecm/dataset/datasets/ 500 (Internal Server Error)

atualmente utilizo o dataset para realizar uma consulta.

var query = "select * from bpmfluig.vw_ds_coligadas_rm";

var c1 = DatasetFactory.createConstraint("query", query, query, ConstraintType.MUST);

var constraints = new Array(c1);

dataset = DatasetFactory.getDataset("dsGenericoSQL", null, constraints, null);

Se realizar a mesma consulta sem a palavra "select", ou seja, colocar qualquer outro texto na consulta, tipo "* from bpmfluig.vw_ds_coligadas_rm".. ai não dá o erro "500" e entra no dataset, mas como não é uma consulta válida, não retorna nada, bem louco neh.

Alguém passando por isso, ou já passou? Pode me ajudar. Abri o chamado na totvs mas disseram que não conseguiram simular o erro.

criado nova pergunta Erro ao chamar dataset via JavaScript no formulário - 500 (Internal Server Error)