Valor Monetário no Array do Dataset

Caros,

Gostaria de saber como faço para converter o valor de um array do dataset. Segue meu exemplo, porém ele dá erro:

quero aplioar a conversão nessa linha do dataset para valor montetário ( R$10.000,00)

row.has("VALORTOTAL") ? row.get("VALORTOTAL") : ""

function createDataset(fields, constraints, sortFields) {



       var INTEGRADOR = "mestre";
       var SENHA = "totvs";
       var NOME_SERVICO = "wsconsultasql"; // Nome do Serviço Cadastrado no Fluig

       var CAMINHO_SERVICO = "com.totvs.WsConsultaSQL";
       var COLUNAS = new Array("Cód. Natureza","Natureza","Cód. Produto","Nome","Total"); 
       var dataset = DatasetBuilder.newDataset();
       var CodConsulta = "TOTVS.FLUIG.500";

       log.info("##### FILIAL totvs 1");

       for (var i=0; i < COLUNAS.length; i++ ) {
             dataset.addColumn(COLUNAS[i]);
       }

       log.info("##### FILIAL totvs 2");


 try {   
       var servico = ServiceManager.getService(NOME_SERVICO);
       var instancia = servico.instantiate(CAMINHO_SERVICO);
       var ws = instancia.getRMIwsConsultaSQL();
       var serviceHelper = servico.getBean();
  log.info("##### FILIAL totvs 4.1 "+serviceHelper);
       var authService = serviceHelper.getBasicAuthenticatedClient(ws, "com.totvs.IwsConsultaSQL",INTEGRADOR, SENHA);
  log.info("##### FILIAL totvs 5 "+authService);
       var result = authService.realizarConsultaSQL("TOTVS.FLUIG.500", 1, "G", "null");
 log.info("##### FILIAL totvs 6 "+result);  

       log.info("##### FILIAL totvs 3");

       var JSONObj = org.json.XML.toJSONObject(result);
        log.info("FILIAL RESULTADO:"+result);
        log.info("##### FILIAL totvs 4");

       var dados = JSONObj.get("NewDataSet").get("Resultado");
       log.info("FILIAL RETORNO: " + dados);
         //log.info("TAMANHO: " + dados.length());

          log.info("##### FILIAL totvs 4");




       for (var i = 0; i < dados.length(); i++) {
       var row = dados.get(i);
             dataset.addRow(new Array(
                    row.has("CODIGONATUREZA") ? row.get("CODIGONATUREZA") : "",
                    row.has("NATUREZAS") ? row.get("NATUREZAS") : "",
                    row.has("CODPRODUTO") ? row.get("CODPRODUTO") : "",
                    row.has("NOMEPRODUTO") ? row.get("NOMEPRODUTO") : "",
                    row.has("VALORTOTAL") ? row.get("VALORTOTAL") : ""

              ));
    }

       return dataset;            
}

 catch(e){

     if (e == null)  
       e = "Erro desconhecido; verifique o log do AppServer";  
   var mensagemErro = "Erro na comunicação com o app (linha: " + e.lineNumber + "): " + e;  
   log.error(mensagemErro);  
   log.info(mensagemErro);  
   dataset.addColumn("ERROR");  
   dataset.addColumn("MESSAGE_ERROR");  
   dataset.addRow(new Array(-1, mensagemErro));      


  }
}

function numberParaReal() {
    var numero = numero.toFixed(2).split('.');
    numero[0] = "R$ " + numero[0].split(/(?=(?:...)*$)/).join('.');
    return numero.join(',');
}
compartilhar
  • Italo, criei um exemplo, verifique na minha resposta se te atende.

    Gabriel Franco da Rocha Nascimento   02 de Jun de 2017
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

3 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags datasets ou faça a sua própria pergunta.