<< Click to Display Table of Contents >> Navigation: Funções da DLL > P_ExecutaEmail |
Public Declare Function P_ExecutaEmail Lib "TaskReport.dll" (ByVal IdRelatorio As String, ByVal GrupoUsuarios As String, ByVal CampoFiltro As String, ByVal SQL As String, ByVal Arquivo As String, ByVal CampoEmailDestino As String, ByVal CampoEmailDestinoCCo As String, ByVal Assunto As String, ByVal Mensagem As String, ByVal Servidor As String, ByVal usuario As String, ByVal senha As String, ByVal Porta As String, ByVal SSL As Integer, ByVal ArquivoINI As String) As Boolean
está função envia um ou mais emails com um relatório anexo, ela pode ser utilizada de diversas maneiras, e para isso fique atento os parametors enviados pela função,
ela não exibe nenhuma tela apenas processa e envia os emails com o relatorio em anexo.
parametros:
IdRelatorio - informar o codigo do relatorio entre "" pois e um parametro do tipo string, caso o ID possua letras, o taskreport ira tentar localizar o mesmo por sua identificação e não pelo ID
GrupoUsuarios - informar vgPwGrupo indicando o grupo de acesso, caso o grupo nao tenha permissão para executar o relatorio, o email não será enviado.
CampoFiltro - informe o nome do campo que sera usado para filtragem dos registros (campo existente no proximo parametro sql)
o valor desse campo sera passado para o relatorio para filtragem, ex "CODCLIENTE"
SQL - aqui voce ira informar o sql que sera disparado para busca dos registros que será utilizado como base para o envio do email
você pode por ex passar o sql que retorne uma lista de clientes, uma lista de funcionarios, uma lista de fornecedores, para cada registro retornado sera enviado um email
ex: SELECT distinct C.EMAIL,C.EMAILCC,C.CODCLIENTE,C.NOMECLIENTE from clientes c inner join contasareceber r on c.codcliente=r.codcliente where r.maioratrazo>15
um exemplo para enviar email para clientes em atraso, nesse sql para cada registro retornado sera enviado um email
Arquivo -> arquivo que será gerado ao executar o relatorio, deve ter extensoes PDF, DOC ou XLS
o nome do arquivo sera adicionado a um SUFIXO usando como base o campo de filtro enviado
ex:
c:\sistema\notasematraso.pdf
ao gerar o relatorio, sera capturado o CODCLIENTE para salvar o nome do arquivo
entao seria criado um PDF para cada cliente
ex:
c:\aquivosemail\notasematraso_150.pdf (onde 150 seria o codcliente)
CampoEmailDestino -> aqui voce irá indicar o nome do campo que voce informou no sql que contem o email destino, no nosso exemplo seria o campo EMAIL
você pode tambem passar o email diretamente nesse parametro ex: fulano@site.com.br
CampoEmailDestinoCCo -> caso queria enviar com copia, o sql acima teria que existir tambem um campo para o email com copia (opcional) no exemplo seria o campo EMAILCC
Assunto -> assunto da mensagem
Mensagem -> aqui voce pode passar a mensagem ou o nome de um arquivo informando o aminho completo
que será lido e utilizado no corpo do email, pode ter extensão TXT ou HTML
no conteudo do arquivo você poderá usar tags que será substituida pelo registro atual do SQL, no nosso exemplo
se no conteudo do arquivo existir a tag @NOMECLIENTE, ela seria substituida pelo nome do cliente correspondente,
a tag tem que ser exatamente igual ao nome do campo com o sinal de @, respeitando minuscula ou maiuscula
se não for informado um arquivo o conteúdo do parametro será usado no corpo do email,
idependente se a mensagem for passada diretamente no parametro ou for lida de um arquivo HTML ou TXT, ela poderá conter as tags
de substituição
Servidor -> servidor de origem usado para enviar o email
usuario -> usuario que será usado para enviar o email
senha -> senha do usuario que sera usado para enviar o email
Porta -> porta do servidor de email
SSL -> parametro para SSL 0 - NENHUM, 1 -Explicito, 2 - Implicito, 3 - automático, você deverá fazer testes com alterando essa opção, pois cada servidor de email pode usar configurações diferentes.
ArquivoINI -> parametro para indicar qual arquivo de configuracao TASKREPORT???.INI será carregado, direcionado assim a conexao com o banco de dados correspodente.
com base nessas informacoes acima
ao executar a função, o task executa o sql, e para cada registro, o task captura o CODCLIENTE (campo filtro) e executa o relatorio passando esse campo como filtro, gera o PDF
voce pode usar essa função tambem apenas para gerar os pdf , doc ou xls, com base nas configurações acima, e não enviar o email
para isso bastaria executar a função sem informar o campo CampoEmailDestino
dessa forma o task irá fazer todo o processo, criando os arquivos, mas não vai enviar os emails.