BrunoGasparetto Posted February 9 Topic Count: 4 Topics Per Day: 0.00 Content Count: 15 Content Per Day: 0.01 Reputation: 5 Achievement Points: 117 Solved Content: 0 Days Won: 4 Status: Offline Device: Windows Report Posted February 9 Olá, Tenho uma FV para fazer o recebimento em massa de um movimento que é para pagamento de viagens. A FV funciona muito bem, porém quando encontrava um erro na atividade "Faturamento Movimento" (que nomeei como recebeMovimento) a FV parava a execução. Para evitar que o usuário tenha que ficar a todo momento reexecutando a FV desmarcando os movimentos com problema eu fiz o tratamento de falha, na parte mais interna do problema, e então escrevo no log do processo 'Falha ao faturar o movimento ' + paraCadaViagem.NUMEROMOV Desta forma o usuário recebe somente ao término uma informação de todos os movimentos que tiveram falha. Porém eu gostaria muito de jogar junto nesse log qual foi o erro disparado pelo "Faturamento Movimento", pois normalmente é problema de Centro de Custo inativo ou Sem Saldo. O problema é que a atividade de gravar log utiliza Expressão e nela não existe o item da falha. No manual da atividade Tratar Exceção até ensina a enviar a mensagem de erro por e-mail, fazendo o bind do texto. Estou quase caminhando pra essa opção, de enviar e-mail, mas antes gostaria de sanar a dúvida se pelo Gravar Log não é mesmo possível exibir o erro. Quote
Solution BrunoGasparetto Posted February 9 Topic Count: 4 Topics Per Day: 0.00 Content Count: 15 Content Per Day: 0.01 Reputation: 5 Achievement Points: 117 Solved Content: 0 Days Won: 4 Status: Offline Device: Windows Author Solution Report Posted February 9 Com um pouco de imaginação e contorno técnico consegui um resultado satisfatório. O que eu fiz: 1. Criei uma Consulta SQL que recebe um parâmetro do tipo String e simplesmente retorna esse parâmetro 2. Adicionei essa consulta no tratamento de falha e fiz o link do parâmetro 3. No gravarLog puxei o resultado da Consulta SQL. Mas ainda espero que exista um jeito mais simples de puxar essa informação para o Editor de Expressões. Pois nem no gravar log nem no Expressão é possível acessar a mensagem de erro. 1 1 Quote
luisgustavogomes Posted February 9 Topic Count: 5 Topics Per Day: 0.00 Content Count: 501 Content Per Day: 0.20 Reputation: 139 Achievement Points: 3,321 Solved Content: 0 Days Won: 65 Status: Offline Age: 35 Device: Windows Report Posted February 9 @BrunoGasparetto, boa tarde! Terias como fazer o upload para ajudar a comunidade, quando precisarmos de um exemplo de tratamento de erro? Abraços. Quote
BrunoGasparetto Posted February 9 Topic Count: 4 Topics Per Day: 0.00 Content Count: 15 Content Per Day: 0.01 Reputation: 5 Achievement Points: 117 Solved Content: 0 Days Won: 4 Status: Offline Device: Windows Author Report Posted February 9 @luisgustavogomes, claro. Segue anexo a FV que fiz. Só salientando que ao tratar o erro, sem disparar uma nova exceção, o processo termina com o status de "Sucesso". Nessa FV fiz assim justamente pra não impedir o prosseguimento do faturamento dos movimentos. Vi que a atividade "Tratar Exceção" permite indicar vários tipos de exceção e a partir de cada tipo dá pra fazer um tratamento diferente, mas não consegui entender qual exceção a atividade "Faturamento Movimento" dispara e nem uma forma mais simples de pegar a mensagem da Exceção. faturaMovimentoTratandoErro.TotvsWF 3 Quote
luisgustavogomes Posted February 9 Topic Count: 5 Topics Per Day: 0.00 Content Count: 501 Content Per Day: 0.20 Reputation: 139 Achievement Points: 3,321 Solved Content: 0 Days Won: 65 Status: Offline Age: 35 Device: Windows Report Posted February 9 Ok, obrigado Quote
Jair - Fórmula Posted February 12 Topic Count: 966 Topics Per Day: 0.14 Content Count: 9,054 Content Per Day: 1.33 Reputation: 339 Achievement Points: 108,799 Solved Content: 0 Days Won: 214 Status: Offline Age: 52 Device: Windows Report Posted February 12 Boa Bruno... Valeu por compartilhar!! Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.