Bom dia. Preciso utilizar o RpcSetEnv para uma execução automática porem se não passar o usuário e senha ele efetua login com o Usuário Admin. Porem preciso passar user e senha do próprio usuário que efetuará o processo. Com a função PSWRET consegui pegar a senha do Usuário porem ela vem criptografada a passada a variável no RpcSetEnv ele não prepara o ambiente. Ai fiz o teste e coloquei no parâmetro da Senha a senha descriptografada e preparou o ambiente corretamente. Como que faço para pegar a senha do usuário descriptografada para poder passar como parâmetro no RpcSetEnv.
Exemplo não funciona
aUser := PswRet()
RpcSetType(3)
RpcSetEnv( substr(_cEmp,1,2), substr(_cEmp,3,2),aUser[1][2],aUser[1][3], "COM",,{"SC7","SA2","SB1","CT1","CTT"} )
Exemplo Funciona
aUser := PswRet()
RpcSetType(3)
RpcSetEnv( substr(_cEmp,1,2), substr(_cEmp,3,2),aUser[1][2],'123456', "COM",,{"SC7","SA2","SB1","CT1","CTT"} )
Nesse caso alterei a senha do usuário para testar.
Tive um problema parecido com o MATA094 que só aceita se o usuário aprovador estiver autenticado. Para isso no retorno do meu WF tinha o código do aprovador, com esse código busquei o id do usuário SAK->AK_USER, e passei para variável publica __cUserId. Assim o fonte acatou como se o próprio aprovador estivesse liberando o pedido.
— Leandro Lemos 12 de Jul de 2022