Jump to content
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×

Recommended Posts


  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  21
  • Content Per Day:  0.01
  • Reputation:   11
  • Achievement Points:  164
  • Solved Content:  0
  • Days Won:  4
  • Status:  Offline
  • Device:  Windows

Posted

Atualmente tenho uma FV que envia o Recibo de Férias por e-mail para os usuários. Nele eu utilizo a atividade Executar Relatório. Essa atividade funciona corretamente, enviando o relatório como anexo.

image.thumb.png.ef5dc2c97b9b3ea8444f26253b5b6c81.png

Agora surgiu a necessidade de fazer o relatório ser enviado como Base64 para uma integração REST com um serviço de Assinatura Digital.

Seguindo a documentação da TOTVS - Como gerar relatório via Webservices - eu consegui gerar o relatório capturando o Base64 usando o WS.

Porém são necessárias 3 chamadas ao WS para conseguir criar um relatório. Considerando que normalmente o relatório será executado para vários funcionários de uma vez fiquei preocupado de tornar a FV muito custosa.

Há alguma maneira de converter o System.Byte[] retornado pela atividade Executar Relatório em um Base64 ou a única maneira realmente é fazer o RM executar o WS?

Considerando minha vivência com o TOTVS Fluig, acredito que a solução é usar o WS mesmo, mas a esperança de não precisar ainda vive.

  • Like 1

  • Topic Count:  924
  • Topics Per Day:  0.13
  • Content Count:  9,081
  • Content Per Day:  1.32
  • Reputation:   364
  • Achievement Points:  108,993
  • Solved Content:  0
  • Days Won:  225
  • Status:  Offline
  • Age:  52
  • Device:  Windows

Posted

Bruno, tudo bão?? Espero que sim. :) 

Tem um cara que é o fera das FVs aqui, que é o @Fábio Maia. Mas o cara é concorrido pacas, dá curso, monta StartUp.

Vamos ver se ele tira um tempinho e dá as caras por aqui para dar uma força. Se ele diz que tem como, vai na fé que da bom!!
 

  • Like 3

  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  21
  • Content Per Day:  0.01
  • Reputation:   11
  • Achievement Points:  164
  • Solved Content:  0
  • Days Won:  4
  • Status:  Offline
  • Device:  Windows

Posted

Que solução incrível, @Fábio Maia. Muito obrigado. Eu realmente preciso investir um tempo estudando as atividades “Executar Código” e “Executar Código Fonte”.

Demorei pra conseguir responder porque estava testando jogar a exceção com o base64, porém quando executava isso dentro do “Para Cada Iteração” ele não informava o texto da exceção. Então fiz um teste simples, sem o “Para Cada Iteração” e funcionou perfeitamente.

Pra facilitar um pouco eu fiz o seguinte. Na atividade “Executar Requisição REST” eu criei uma propriedade para o parâmetro que é o base64.

image.png

Assim eu pude atribuir o resultado da atividade “Executar Código” direto pra requisição.

image.png

Agora confirmado que num fluxo contínuo funciona só preciso adaptar pra fazer dentro do “Para Cada Iteração”.

Muito obrigado mesmo pela ajuda.

  • Like 1

  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  21
  • Content Per Day:  0.01
  • Reputation:   11
  • Achievement Points:  164
  • Solved Content:  0
  • Days Won:  4
  • Status:  Offline
  • Device:  Windows

Posted

Mas pelo jeito a atividade "Executar Código" não aceita ficar dentro da atividade "Para Cada Iteração". Sempre que a insiro na atividade Sequência, dentro da iteração, ocorre uma exceção que não consigo capturar o a mensagem de erro.

  • Like 1

  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  21
  • Content Per Day:  0.01
  • Reputation:   11
  • Achievement Points:  164
  • Solved Content:  0
  • Days Won:  4
  • Status:  Offline
  • Device:  Windows

Posted

Só pra explicar o que eu fiz no final:

No RM que estou usando sempre dá um erro ao usar atividade "Executar Código" ou "Se / Senão" com condicional usando código ao invés de declaração, em um loop "Para Cada Iteração" (indiferente do código e de estar numa sequência ou não).

Como não sei se é o comportamento padrão do RM dar esse tipo de problema (já que a atividade "Executar Código Fonte" funciona normalmente) abri chamado pra TOTVS validar isso.

Enquanto isso estou fazendo a geração do relatório usando a atividade SOAP (agradeço demais o Fabio por ter um vídeo no YouTube explicando como configurar tudo certinho e felizmente a documentação da TOTVS também ajudou).

Percebi que pra baixar o base64 do WS eu posso informar um tamanho maior do que o do documento em si, então estou pulando a etapa de consultar o WS só pra pegar o tamanho do arquivo, assim eu chamo a operação de baixar o Base64 passando sempre 0 e 2M como parâmetros (já que nenhum relatório, nesse caso, passará de 1MB).

  • Like 1

  • Topic Count:  924
  • Topics Per Day:  0.13
  • Content Count:  9,081
  • Content Per Day:  1.32
  • Reputation:   364
  • Achievement Points:  108,993
  • Solved Content:  0
  • Days Won:  225
  • Status:  Offline
  • Age:  52
  • Device:  Windows

Posted
Em 23/01/2025 at 18:09, BrunoGasparetto disse:

Mas pelo jeito a atividade "Executar Código" não aceita ficar dentro da atividade "Para Cada Iteração". Sempre que a insiro na atividade Sequência, dentro da iteração, ocorre uma exceção que não consigo capturar o a mensagem de erro.

Realmente Bruno, essa atividade não funciona no ForEach, então uma solução para tal é você colocar o seu For Each chamando outra FV, e nesta FV você roda o que precisa em "Executar Código". Acaba dando uma volta, mas funciona!! 

  • Like 1

  • Topic Count:  924
  • Topics Per Day:  0.13
  • Content Count:  9,081
  • Content Per Day:  1.32
  • Reputation:   364
  • Achievement Points:  108,993
  • Solved Content:  0
  • Days Won:  225
  • Status:  Offline
  • Age:  52
  • Device:  Windows

Posted

E se quiser ficar fera mesmo nas Fórmulas Visuais, recomendo o curso da Bemper, que você vai aprender muito, além do suporte de forma geral que é excelente. O pessoal tem um grupo no whatsapp, exclusivo para membros, que rola muitas mensagens, dicas, ajudas... é bom demais. Recomendo! 

Veja aqui alguns vídeos de aulas que disponibilizaram grátis para todos. Imagina o que você recebe no curso pago, kkkk

https://www.forumrm.com.br/tags/bemper/

https://academy.bemper.com.br/formulavisual

Acessa lá. Qualquer coisa, se precisar de algo, me dá um toque. 

  • Like 2

  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  21
  • Content Per Day:  0.01
  • Reputation:   11
  • Achievement Points:  164
  • Solved Content:  0
  • Days Won:  4
  • Status:  Offline
  • Device:  Windows

Posted

Eu achei eles no YouTube e realmente é incrível. Até Atividade Personalizada eles criam. Quando vi essa opção até pensei em estudar pra criar uma atividade personalizada que fizesse a conversão. Pena que aqui o RM tá na nuvem e teríamos que convencer a colocar atividade personalizada, hehehe.

Mas vou fazer o curso deles sim, achei muito bom. E minha meta nesse início de ano é fazer muitas automatizações com FVs. Vai ajudar demais.

  • Like 1

  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  21
  • Content Per Day:  0.01
  • Reputation:   11
  • Achievement Points:  164
  • Solved Content:  0
  • Days Won:  4
  • Status:  Offline
  • Device:  Windows

Posted
12 minutos atrás, Jair - Fórmula disse:

Realmente Bruno, essa atividade não funciona no ForEach

O que achei estranho é que nem a "Se / Senão" funcionou ao usar código ao invés de declaração.

Mas o "Executar Código Fonte" funcinou, mas ele achei complicado pra pegar os valores do loop. Vi que tem como passar parâmetro, mas os parâmetros tem que permitir leitura e escrita, aí quando tentei mandar o binário dava erro de permissão.

Os eventos disparados pela "Para Cada Iteração", mesmo usando código, funciona, hehehe. Mas aí seria estranho demais se a própria atividade desse erro ao manipular código do evento dela né.

Mas é compreensível uma ferramenta que tenta dar tanto poder aos usuários tenha algumas limitações estranhas de vez em quando.

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.