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;

}

compartilhar
  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!

1 resposta

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