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:  11
  • Topics Per Day:  0.01
  • Content Count:  40
  • Content Per Day:  0.05
  • Reputation:   4
  • Achievement Points:  276
  • Solved Content:  0
  • Days Won:  0
  • Status:  Offline
  • Device:  Windows

Posted (edited)

Bom dia,

Estou desenvolvendo uma fórmula visual para envio de cobranças para fornecedores e esbarrei com um erro. Preciso enviar para mais de um e-mail do fornecedor, sendo que o campo está aceitando somente um. Sei que se digitar manualmente pulando linhas obedece para ser enviado para mais de um e-mail, mas não sei a maneira de fazer isso via SQL ou na fórmula visual.

SQL utilizada:

SELECT EMAIL FROM FCFOCONTATO (NOLOCK) WHERE FCFOCONTATO.CODCFO = :CODCFO 'EMAIL'

Como está na Fórmula Visual:

image.thumb.png.a82dc7584212110990fe8428228081d7.png

 

O erro que aparece devido à utilização de mais de um e-mail:

image.thumb.png.f7d65bbcc96f1f2a3acfda7b1af72116.png

Edited by Raphael Gomes

  • Topic Count:  47
  • Topics Per Day:  0.01
  • Content Count:  353
  • Content Per Day:  0.06
  • Reputation:   8
  • Achievement Points:  2,152
  • Solved Content:  0
  • Days Won:  4
  • Status:  Offline
  • Age:  18

Posted

Seu tópico foi movido para outra área no ForumRM

Mudamos o mesmo de: Sistemas RM > [RM] Fórmulas dos Aplicativos

Para o fórum: Sistemas RM > [RM] Framework


  • 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

Posted

@Raphael Gomes, bom dia! 

Altera, por favor, sua query para : 

 

SELECT STRING_AGG(EMAIL, ';') AS 'EMAIL' 
FROM DBO.FCFOCONTATO (NOLOCK) 
WHERE FCFOCONTATO.CODCFO = :CODCFO 'EMAIL'

 

Abraços.


  • Topic Count:  11
  • Topics Per Day:  0.01
  • Content Count:  40
  • Content Per Day:  0.05
  • Reputation:   4
  • Achievement Points:  276
  • Solved Content:  0
  • Days Won:  0
  • Status:  Offline
  • Device:  Windows

Posted

@luisgustavogomes, bom dia.

Já tentei algo parecido, mas retorna o seguinte erro na hora de rodar a FV:

image.png.7b1ad7ea4e4d83ef52b0a58c67c8079f.png

 

  • Solution

  • 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

Posted

@Raphael Gomes, testa assim... por favor 

 

SELECT STRING_AGG(EMAIL, ',') AS 'EMAIL' 
FROM DBO.FCFOCONTATO (NOLOCK) 
WHERE FCFOCONTATO.CODCFO = :CODCFO 'EMAIL'

 

  • Like 1

  • Topic Count:  11
  • Topics Per Day:  0.01
  • Content Count:  40
  • Content Per Day:  0.05
  • Reputation:   4
  • Achievement Points:  276
  • Solved Content:  0
  • Days Won:  0
  • Status:  Offline
  • Device:  Windows

Posted

Deu certo irmão. Muito obrigado pela ajuda!

  • Like 2

  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  8
  • Content Per Day:  0.00
  • Reputation:   7
  • Achievement Points:  64
  • Solved Content:  0
  • Days Won:  3
  • Status:  Offline
  • Age:  35
  • Device:  Windows

Posted

Bom dia,

Vi que já foi solucionado e resolvido, mas complementando com outra possível solução (pensando que em futuros casos parecidos possa ser resolvido assim)...

Digamos que o RM tivesse limitação e não aceitasse mais de um email de uma vez só.. a solução nesses casos seria alterar a lógica da tua formula visual para que envie só para um email só por vez.
Exemplo: se até então tu tinha um loop pelas cobranças, e para cada cobrança buscava e enviada os emails... Teria que mudar para um loop pelos emails dos fornecedores que tem cobranças (aí aquele fornecedor que tem 2 emails, iria trazer 2 registros) e consequentemente iria enviar o email 1 a 1 corretamente.

  • Like 1

  • 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

Posted
51 minutos atrás, seva disse:

Bom dia,

Vi que já foi solucionado e resolvido, mas complementando com outra possível solução (pensando que em futuros casos parecidos possa ser resolvido assim)...

Digamos que o RM tivesse limitação e não aceitasse mais de um email de uma vez só.. a solução nesses casos seria alterar a lógica da tua formula visual para que envie só para um email só por vez.
Exemplo: se até então tu tinha um loop pelas cobranças, e para cada cobrança buscava e enviada os emails... Teria que mudar para um loop pelos emails dos fornecedores que tem cobranças (aí aquele fornecedor que tem 2 emails, iria trazer 2 registros) e consequentemente iria enviar o email 1 a 1 corretamente.

Sim é uma ideia também mesmo... até porque, a função STRING_AGG que o Luis sugeriu acima não está disponível para qualquer versão do SQL Server. Em versões mais antigas não há essa funcionalidade, ai teria que usar outro recurso, correto @luisgustavogomes?


  • 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

Posted

@Jair - Fórmula, boa noite! 

Existem algumas formas sim de fazer essa estratégia de concatenação de valores, sem assim, ao falar de SQLServer tenho a referência do Dirceu Resende no seu artigo "SQL Server – Como concatenar linhas agrupando os dados por uma coluna (Grouped concatenation)" mas a mais simples é a STRING_AGG! 

@seva, boa noite, sobre seu questionamento é simplesmente trocar a lógica de estrutura da FV, porém, certamente em seu exemplo teríamos loop's encadeados, questão de uma boa discussão, pois a aplicação, informa que pode acontecer erros, contudo utilizo frequentemente.

Espero ajudar! 

Abraços.  

  • 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.