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(',');
}
Italo, criei um exemplo, verifique na minha resposta se te atende.
— Gabriel Franco da Rocha Nascimento 02 de Jun de 2017