Comparar campo HTML com registro de Dataset

Boa tarde, dentro de um processo eu preciso validar o local do usuário que está abrindo a solicitação, então eu fiz um dataset onde ele me trás a matricula do usuário e o seu local. Fiz um campo oculto receber a matrícula do usuário logado. Agora só preciso que ele compare a matrícula do campo solicitante com o meu dataset e quando forem iguais faça o campo cidade receber o valor do local.

var resultado = DatasetFactory.getDataset("ds_localUser", null, null,null); var usuario = getValue("solicitante"); var cont = 0; for(i=0;i < resultado.values.length;i++){ if(resultado.values[i].USER_CODE == usuario ){ var local = resultado.values[i].LOCAL_ID setValue('cidade',local); } cont++ }

Estou fazendo da forma descrita acima mas não funciona. Tentei com uma função JavaScriot também.

PS: Em anexo coloquei o print do código identado.

Desde já agradeço.

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Precisamos saber mais, coloque mais informações, foi feito uma Constrain? Você retornou o que está dentro do dataset em um array? Pq se sim e estiver, você pode fazer a comparação entre if($(“campodesejado”).val() == datasetnome){
//retorna true ou false, com isso você já fez sua comparação e em diante é contigo
}

Vou te dar um exemplo e tenho certeza que vou te dar a resposta

Bom faça uma constrain, que no caso é um filtro, para que você possa ir a um dado exato, no meu caso faço o filtro a partir do id de formulário


var a1 = DatasetFactory.createConstraint("metadata#id",idRegistro,idRegistro,ConstraintType.MUST);
var datasetProjeto = DatasetFactory.getDataset("cadProjeto", null, new Array(a1), null);

Bom se você já desenvolveu a um tempo, você sabe que o name que você dá ao input serve como nome de coluna no Dataset, portanto datasetProjeto.CNPJ_CPF <--- name dado no input, exemplo bom agora é só ir para o seu documento JS e fazer uma condição


if($("#cnpj").val() == datasetProjeto.CNPJ_CPF){
     console.log("IGUAIS")
     //Aqui você faz tudo que você quer se for iguais
}else{
     console.log("NÃO SÃO IGUAIS")
     //Aqui você faz tudo que você quer caso não sejam iguais
}

Cara eu fiz um script para visualizar o que foi alterado no Formulário e comparar com o dataset, se diferente retorna o valor passado em uma tabela, com isso eu consigo saber quem editou, horário de edição, o campo alterado e o antigo valor que aquele campo tinha, segue o código e um anexo para você ver o resultado.



function criaHistorico(){
    var a1 = DatasetFactory.createConstraint("metadata#id",idRegistro,idRegistro,ConstraintType.MUST);
  var datasetProjeto = DatasetFactory.getDataset("cadProjeto", null, new Array(a1), null);
  if(datasetProjeto.values.length > 1){
      var arr = []

      for(var i = 0; i < datasetProjeto.values.length;i++){
          arr.push(datasetProjeto.values[i])
      }
      for(var k = 0;k < arr.length;k++){//quantidade de linhas
          var str = JSON.stringify(arr[k]).split(",")
      for(var i = 0; i < str.length;i++){// valores das linhas
        if(str[i].indexOf("meta") == -1 && str[i].indexOf("version") == -1 && str[i].indexOf("id") == -1 && str[i].indexOf("Alteracao") == -1 && str[i].indexOf("nomeRegistro") == -1){
          if(k+1 < arr.length){ 
            if(JSON.stringify(arr[k]).split(",")[i] !=  JSON.stringify(arr[k+1]).split(",")[i]){
              var separaCampos = JSON.stringify(arr[k]).split(",")[i].split(":")
              var campoHistorico = separaCampos[0].replace("{","").replace('"','').replace('"','').replace("_"," ").replace("_"," ").replace("}","")
              /*if(separaCampos[1] == '""' || separaCampos[1] == "null"){
                separaCampos[1] = "Campo Vazio"
              }*/
              if(arr[k].dataAlteracao == ""){
                if($("#dataCriacao").val().length == 0){
                  var alt = $("#dataCriacao").text()
                }else{
                  var alt = $("#dataCriacao").val()
                }
              }else{
                var alt = arr[k].dataAlteracao
              }
              $("#tbodyCad").append("<tr><td>"+alt+"</td><td>"+arr[k].horarioAlteracao+"</td><td>"+idUser+"</td><td>"+campoHistorico+"</td><td>"+separaCampos[1]+"</td></tr>")
            }
          }
        }
      }
    }
  }
}

Bons estudos, até a próxima

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.