Versão atual:

Acessar processInstanceId de dentro do Dataset

Gostaria de utilizar o numero da solicitação no filtro do dataset customizado.

function createDataset(fields, constraints, sortFields) {

var NOME_SERVICO = "WSCONSSQL"; var CAMINHO_SERVICO = "com.totvs.WsConsultaSQL";

var dataset = DatasetBuilder.newDataset();

try{ var servico = ServiceManager.getServiceInstance(NOME_SERVICO); log.info("Servico: " + servico);

log.info("Iniciando...");

var serviceHelper = servico.getBean(); log.info("Helper: " + serviceHelper);

var instancia = servico.instantiate(CAMINHO_SERVICO); log.info("Instancia: " + instancia);

var ws = instancia.getRMIwsConsultaSQL(); log.info("WS: " + ws);

var processo = getValue("WKNumProces"); //Número da solicitação de processo. PROBLEMA!!!! log.info("Processo: " + processo);

//var serviceHelper = servico.getBean();

var authService = serviceHelper.getBasicAuthenticatedClient(ws, "com.totvs.IwsConsultaSQL", 'usuario', 'senha');

//log.info("Params: " + "NSEQITMMOV="+fields[3]+ ";CODCOLIGADA="+fields[1] + ";IDMOV="+fields[0] + ";TIPOAPROVACAOFLUIG="+fields[2]+ ";VALORLIQUIDO="+fields[4]);

// Executa uma consulta previamente disponibilizada e cadastrada no RM var result = authService.realizarConsultaSQL("BORDERO", 1, "F", "IDFLUIG="+processo); log.info("result BORDERO: " + result);

if ((result != null) && (result.indexOf("===") != -1)) { var msgErro = result.substring(0, result.indexOf("==="));

throw msgErro; }

var xmlResultados = new XML(result); dataset.addColumn("IDFLUIG"); dataset.addColumn("IDBORDERO"); dataset.addColumn("DESC_BORDERO"); dataset.addColumn("IDLAN"); dataset.addColumn("FAVORECIDO"); dataset.addColumn("NUMERODOCUMENTO"); dataset.addColumn("DATAPREVBAIXA"); dataset.addColumn("DATAVENCIMENTO"); dataset.addColumn("VALORORIGINAL"); dataset.addColumn("VALORLIQUIDO");

for each(lan in xmlResultados.Resultado) { dataset.addRow(new Array(lan.IDFLUIG.toString(), lan.IDBORDERO.toString(), lan.DESC_BORDERO.toString(), lan.IDLAN.toString(), lan.FAVORECIDO.toString(), lan.NUMERODOCUMENTO.toString(), lan.DATAPREVBAIXA.toString(), lan.DATAVENCIMENTO.toString(), lan.VALORORIGINAL.toString(), lan.VALORLIQUIDO.toString())); }

return dataset; } catch (e) { if (e == null) e = "Erro desconhecido, verifique o log do AppServer.";

var mensagemErro = "Erro na comunicação com o TOTVS TBC: " + e; log.error(mensagemErro);

dataset.addColumn("ERROR"); dataset.addRow(new Array(mensagemErro));

return dataset; }}

function ValidaCampo(campo, valor) { if ((valor != null) && (valor != "")) { return "<"+campo+">"+valor+"</"+ campo + "> "; } else return ""; }

function parseContext(constraints) { var context = ""; if ((constraints != null) && (constraints.length > 0) && (constraints[0].getFieldName() == "RMSContext")) { context = constraints[0].getInitialValue(); }

return context; }

// Transforma o conceito de constraints do Fluig para o Filtro do TBC. function parseConstraints(constraints) { var filter = ""; for each(con in constraints) {

if (con.getFieldName().toUpperCase() == "RMSCONTEXT") continue;

filter += "(";

if (con.getFieldName().toUpperCase() == "RMSFILTER") { filter += con.getInitialValue(); } else if (con.getConstraintType() == ConstraintType.SHOULD) { filter += "("; filter += con.getFieldName(); filter += "="; filter += con.getInitialValue(); filter += ")"; filter += " OR "; filter += "("; filter += con.getFieldName(); filter += "="; filter += con.getFinalValue()(); filter += ")"; } else { if (con.getInitialValue() == con.getFinalValue()) { filter += con.getFieldName();

if (ConstraintType.MUST == con.getConstraintType()) { filter += " = "; } else if (ConstraintType.MUST_NOT == con.getConstraintType()) { filter += " <> "; }

filter += con.getInitialValue(); } else { filter += con.getFieldName(); filter += " BETWEEN "; filter += con.getInitialValue(); filter += " AND "; filter += con.getFinalValue() } }

filter += ")";

filter += " AND "; }

if (filter.length == 0) { filter = "1=1"; } else filter = filter.substring(0, filter.length-5);

return filter;

}

Versão (1):

Ver a versão formatada

Acessar processInstanceId de dentro do Dataset

Comentário

new question