Problemas ao acessar dados de dataset

pessoal bom dia,

estou com um problema ao acessar os dados de um dataset, com detalhe que estava tudo funcionando, após reiniciar o servidor, estou tendo a mensagem de erro:

dadosRm.js:17 Uncaught TypeError: Cannot read property 'values' of undefined at integracaoRM (dadosRm.js:17) at HTMLButtonElement.onclick (?WDCompanyId=1&WDNrDocto=0&WDNrVersao=0&WDParentDocumentId=2709:105)

veja o meu fonte que estava acessando os dados:


function integracaoRM(){


    var numerocontrato = $('#txt_numeroContratorm').val(); //obtenho numero do contrato informado pelo usuário

    if(numerocontrato == "" || numerocontrato == null){ // se clicar no botão ok, sem informar o contrato, apresento menssagem

        $('#aviso_atencao').show(700);
        $('#aviso_sucesso').hide(700);

    }

    var dsDadosBancarios = DatasetFactory.getDataset("IntegracaoRM_Aditivo" , new Array(numerocontrato), null, null);
    var dsfornecedor      = DatasetFactory.getDataset("IntegracaoRM_Aditivo2", new Array(numerocontrato), null, null);
    var dscontrato        = DatasetFactory.getDataset("IntegracaoRM_Aditivo3", new Array(numerocontrato), null, null);

    if (dsDadosBancarios.values.length >= 1){

        for (var i = 0; i < dsDadosBancarios.values.length; i++) {
        var banco          = dsDadosBancarios.values[i]["BANCO"];
        var agencia        = dsDadosBancarios.values[i]["AGENCIA"];
        var contacorrente  = dsDadosBancarios.values[i]["CONTA_CORRENTE"];

        $('#txt_banco').val(banco);
        $('#txt_agencia').val(agencia);
        $('#txt_conta').val(contacorrente);

        } 
    }else if(dsDadosBancarios.values.length <= 0){
        $('#aviso_error').show(700);
    }

    if (dsfornecedor.values.length >= 1){
        for (var i = 0; i < dsfornecedor.values.length; i++) {
            var razaosocial  = dsfornecedor.values[i] ["RAZAO_SOCIAL"];
            var nomefantasia = dsfornecedor.values[i] ["NOMEFANTASIA"];
            var cnpj         = dsfornecedor.values[i] ["CNPJ"];
            var email        = dsfornecedor.values[i] ["EMAIL"];
            var endereco     = dsfornecedor.values[i] ["ENDERECO"];

            $('#txt_fornecedor').val(razaosocial);
            $('#txt_nomefantasia').val(nomefantasia);
            $('#txt_cnpj').val(cnpj);
            $('#txt_emailFornecedor').val(email);
            $('#ta_enderecoFornecedor').val(endereco);

        }
        $('#aviso_sucesso').show(700);
        $('#aviso_atencao').hide(700);
        $('#aviso_error').hide(700);


    }
    if (dscontrato.values.length >= 1){

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


            var nseqitem                = dscontrato.values[i] ["SEQUENCIA_ITEM"];
            var objetocontrato          = dscontrato.values[i] ["OBJETO_CONTRATACAO"];
            var datainicio              = dscontrato.values[i] ["DATA_INICIO"];
            var datafim                 = dscontrato.values[i] ["DATA_FIM"];            
            var itemcontrato            = dscontrato.values[i] ["ITEM_CONTRATO"];
            var qtditem                 = dscontrato.values[i] ["QTD_ITEM"];
            var valortotalitem          = dscontrato.values[i] ["VALORTOTAL_ITEM"];
            var valortotalcontrato      = dscontrato.values[i] ["VALORTOTAL_CONTRATO"];            

            $('#ta_objetoContratacao').val(objetocontrato);
            $('#txt_dataInicioExecucao').val(datainicio);
            $('#txt_datafimExecucao').val(datafim);

            wdkAddChild('dadositens');
            tr = $("#dadositens tr").last();

            tr.find("[id^='txt_seqitem']").val(nseqitem); 
            tr.find("[id^='txt_descItem']").val(itemcontrato); 
            tr.find("[id^='txt_quantidade']").val(qtditem); 
            tr.find("[id^='txt_valor']").val(valortotalitem); 

        }

        $('#txt_valor_total').val(valortotalcontrato);


    }

}

alguém pode me ajudar?

Caro Vagner, toda a vez que vejo uma mensagem de erro com ‘undefined’, normalmente estou me referindo a campos na resposta do dataset que lá não existem.
Como você diz que já usou exatamente assim é estranho. Qual a instrução que está na linha 17 do seu javascript?

Vagner,

Pelo que notei no segundo parâmetro da função getDataset, você está informando o numerocontrato que é o valor vindo de um campo.

O segundo parâmetro da getDataset deve ser um array de campos. Ao passar dessa forma, o Fluig tenta retornar o campo com o nome "1234", por exemplo, e como o campo não existe, retorna um undefined.

No caso o que você precisa é:


var numerocontrato = $('#txt_numeroContratorm').val();
var chave1 = DatasetFactory.createConstraint("SEU_CAMPO", numeroContrato, numeroContrato, ConstraintType.MUST);

var dsDadosBancarios = DatasetFactory.getDataset("IntegracaoRM_Aditivo" , null,  new Array( chave1 ), null);

Faça isso para seus 3 datasets e teste. Se não resolver comenta aqui.

Atte.