Código do Dataset do Formulário com ZoomReloadFilter:
function createDataset(fields, constraints, sortFields) {
/***********************************************************************************************
* @author Italo Ribeiro / Gabriel Firmino
* @data 03/10/2017
* @Descricao Listar Ação e Saldo dos Projetos
* @Ambiente Produção
***********************************************************************************************/
var dataset = DatasetBuilder.newDataset();
//Nome do serviço cadastrado no fluig
var NOME_SERVICO = "wsconsultasql";
var CAMINHO_SERVICO = "com.totvs.WsConsultaSQL";
//Criação das colunas dp dataset de retorno
var COLUNAS = new Array("PROJETO","CODACAO","NOME", "SALDO","SALDOANUAL");
for (var i=0; i < COLUNAS.length; i++ ) {
dataset.addColumn(COLUNAS[i]);
}
log.info("Acao 1");
console.log("constraints "+ new Array(constraints));
console.log("constraints "+constraints);
var filtro;
var cdPrj;
if (constraints != null) {
for (var i = 0; i < constraints.length; i++) {
if (constraints[i].fieldName == "PROJETO") {
filtro += " AND PROJETO like UPPER('%" +constraints[i].initialValue + "%')";
cdPrj = constraints[i].initialValue;
var PARAMS="PROJETO="+cdPrj;
}
}
}
log.info("Acao 2");
// var PROJETO ="%"
// var PARAMS="PROJETO="+PROJETO;
// log.info("Acao 3 "+PROJETO);
//log.info("Acao 4 "+PARAMS);
try {
var servico = ServiceManager.getService(NOME_SERVICO);
var instancia = servico.instantiate(CAMINHO_SERVICO);
var ws = instancia.getRMIwsConsultaSQL();
var serviceHelper = servico.getBean();
// Autenticação no serviço
var authService = serviceHelper.getBasicAuthenticatedClient(ws, "com.totvs.IwsConsultaSQL", 'webservice.FLUIG', '123#456');
var result = authService.realizarConsultaSQL("ITALO.FLUIG.445", 1, "T",PARAMS);
var JSONObj = org.json.XML.toJSONObject(result);
if (JSONObj.isNull("NewDataSet")) {
throw "Não Foram Encontrados Dados";
}
else
{
JSONObj = JSONObj.get("NewDataSet");
if ( JSONObj.has("Resultado") )
{
var entitys = JSONObj.get("Resultado");
for (var i = 0; i < entitys.length(); i++) {
var row = null;
if (entitys.isNull(i)) {
row = entitys;
}
else
{
row = entitys.get(i);
}
if ( ( entitys.isNull(i) && i == 0 ) || ( !entitys.isNull(i)) ){
dataset.addRow(
new Array
(
row.has("PROJETO") ? row.get("PROJETO") : "",
row.has("CODACAO") ? row.get("CODACAO") : "",
row.has("NOME") ? row.get("NOME") : "",
row.has("SALDO") ? row.get("SALDO") : "" ,
row.has("SALDOANUAL") ? row.get("SALDOANUAL") : ""
)
);
}
}
}
}
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));
}
}
Italo, compartilha o zip do seu formulário completo (com todos os arquivos), por favor. No trecho de código que você compartilhou não uso de "filterValues".
— Marcos Jahn 18 de Jul de 2018