Bom dia pessoal!
Alguém já conseguiu executar uma fórmula visual criado no RM, através do webservice wsFormulaVisual?
Bom dia pessoal!
Alguém já conseguiu executar uma fórmula visual criado no RM, através do webservice wsFormulaVisual?
Tatiane.
Sempre que preciso executar uma FV no RM eu uso o wsProcess.
Obtenho uma cópia do XML da chamada SOAP no RM e monto ele dentro do Javascript no Fluig.
Consigo passar parâmetros normalmente, porém tenho uma dificuldade ao obter retorno pois a FV não disponibiliza recurso para isso.
Como contorno eu gero uma exceção no código da FV e na mensagem envio um texto com o conteúdo que quero, no formato Json por exemplo.
Se você estiver ainda com essa duvida, eu consegui.
Boa tarde eu estou com essa mesma dificuldade
Olá, vou colocar um exemplo para executar uma fórmula visual para executar uma fórmula da folha.
Fórmula:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tot="http://www.totvs.com/">
<soapenv:Header/>
<soapenv:Body>
<tot:Execute>
<!--Optional:-->
<tot:codColigada>{Coligada_FV}</tot:codColigada>
<!--Optional:-->
<tot:idFormula>{Id_FV}</tot:idFormula>
<!--Optional:-->
<tot:context>CODCOLIGADA={Coligada_Funcionario};CODAPLICACAO=P</tot:context>
<!--Optional:-->
<tot:dataSetXML></tot:dataSetXML>
<!--Optional:-->
<tot:parametersXML><![CDATA[<Parameters>
<Parametros>
<CODCOLIGADA>{Coligada_Funcionario}</CODCOLIGADA>
<CHAPA>{Chapa}</CHAPA>
</Parametros>
</Parameters>]]></tot:parametersXML>
<!--Optional:-->
<tot:ownerData></tot:ownerData>
</tot:Execute>
</soapenv:Body>
</soapenv:Envelope>
Exemplo de implementação em Dataset
function createDataset(fields, constraints, sortFields) {
var Dataset = DatasetBuilder.newDataset();
try {
// SERVICO CADASTRADO NO PAINEL DE CONTROLE DO FLUIG
var NOME_SERVICO = "wsFormulaVisual";
var CAMINHO_SERVICO = "com.totvs.WsFormulaVisual";
var servico = ServiceManager.getServiceInstance(NOME_SERVICO);
var serviceHelper = servico.getBean();
var instancia = servico.instantiate(CAMINHO_SERVICO);
var ws = instancia.getRMIwsFormulaVisual();
//#region RM Authenticaton
var rm_user = "mestre";
var rm_pass = "Totvs";
//#endregion
var authService = serviceHelper.getBasicAuthenticatedClient(ws, "com.totvs.IwsFormulaVisual", rm_user, rm_pass)
var codcoligada = {Coligada_Funcionario};
var chapa = {Chapa};
var codColFormulaVisual = {Coligada_FV};
var idFormulaVisual = {Id_FV};
var context = "CODCOLIGADA=" + codcoligada + ";CODAPLICACAO=P;CODUSUARIO=" + rm_user
var parameters = "<Parameters> " +
" <Parametros> " +
" <CODCOLIGADA> " + codcoligada.replace(' ', '') + "</CODCOLIGADA> " +
" <CHAPA>" + chapa.replace(' ', '') + "</CHAPA> " +
" </Parametros> " +
"</Parameters>"
var result = authService.execute(codColFormulaVisual, idFormulaVisual, context, '', parameters, '');
var r = result.getErrorMessage().getValue();
Dataset.addRow( r );
} catch (e) {
log.error("ERRO==============> " + e.message);
}
return Dataset;
}
Assim funciona… testa aí
Abs.