HCM - Relatórios - Como enviar automaticamente relatórios por e-mail de forma individual a cada colaborador
Dúvida
Como enviar automaticamente relatórios por e-mail de forma individual a cada colaborador, no módulos do HCM?
Solução
De forma nativa o sistema não possui a funcionalidade de gerar individualmente os relatórios (Cartão Ponto, Holerites, Contratos de Trabalho, etc.) e enviar um a um ao seu respectivo destinatário. Quando é gerado um relatório no sistema, todos os colaboradores são gerados ao mesmo tempo, formando um mesmo arquivo PDF, por exemplo.
Enviar cada arquivo individual ao seu destinatário, buscando seu e-mail da ficha complementar por exemplo, é um comportamento que pode ser feito via Customização. Caso o usuário possua conhecimento no Gerador de Relatórios, poderá desenvolver conforme exemplo a seguir:
Para tratar essa necessidade deverá definir dois relatórios onde:
Relatório 1:
1. Crie um relatório que busque todos os colaboradores que deverão receber o e-mail.
2. Execute a função ExecutaRelatorio, para cada colaborador, informando os parâmetros para geração do relatório 2. Para esta função, deve ser utilizada também as funções abaixo que definem os parâmetros de entrada do modelo:
SetaNumeroTelaEntrada(Alfa NomeCampo, Numero Valor)
SetaDataTelaEntrada(Alfa NomeCampo, Numero Valor)
SetaAlfaTelaEntrada(Alfa NomeCampo, Alfa Valor)
EscondeCampoTelaEntrada(Alfa NomeCampo)
3. Gere o relatório 2 e envie por e-mail;
4. Após enviado, deve-se excluí-lo. Para isso, utilize a função ExecProg, que permite executar um arquivo .bat. Neste arquivo, deve ser definido para excluir o arquivo gerado no diretório definido no modelo 2.
Relatório 2:
1. Modelo de relatório que deve ser gerado individualmente. Este modelo deve ser alterado o formato de saída para Arquivo. Necessitando ser informado o diretório e nome do arquivo a ser salvo.