Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Deck of Cards
historyfalse
idfpapi805
Card
defaulttrue
idpi_cria_tt_envios
labelIdentificar Envio

Todo o código do utilitário FPAPI805 está disposto em dois arquivos, "prghur/fpp/fpapi805.i", responsável pela definição de todas as variáveis e tabelas temporárias necessárias para o envio da mensagem, e "prghur/fpp/fpapi805.p", que contempla diretamente as lógicas de envio, estas referências devem ser aplicadas às lógicas de negócio que realizam a definição da impressão do relatório, "i-rpout.i".

Após verificar se o relatório será impresso é necessário criar um identificador para o envio do mesmo, utilizando a procedure "pi_cria_tt_envios".

Bloco de código
languagec#
firstline1
titlepi_cria_tt_envios
linenumberstrue
run pi_cria_tt_envios in h_fpapi805 (
    input c_cdn_empresa,     /* código da empresa,         chave de "funcionário" */
    input c_cdn_estab,       /* código do estabelecimento, chave de "funcionário" */
    input c_cdn_funcionario, /* código do funcionário,     chave de "funcionário" */
    input c_cod_cpf          /* CPF da pessoa,             chave de "autônomos"   */
).
Card
idpi_compacta_anexo
labelCompactar Anexo

Após o sucesso na impressão do relatório, existe a possibilidade de compactar o mesmo, utilizando a procedure "pi_compacta_anexo".

Aviso

Esta procedure utiliza a API "ut-zip" do Framework.

Bloco de código
languagec#
firstline1
titlepi_compacta_anexo
linenumberstrue
run pi_compacta_anexo in h_fpapi805 (
    input c_email_anexo,      /* caminho completo ao arquivo gerado     */
    input c_email_anexo_comp, /* caminho completo ao arquivo compactado */
    input yes,                /* deleta arquivo origem                  */
    input c_cod_cpf           /* senha                                  */
).
Card
idpi_busca_email_usuario
labelIdentificar Remetente

O e-mail do usuário que realiza a execução, que eventualmente será o remetente da mensagem, pode ser identificado através da procedure "pi_busca_email_usuario".

As tabelas "usuar_aplicat_rh" e "usuar_mestre" são utilizadas neste processo.

Bloco de código
languagec#
firstline1
titlepi_busca_email_usuario
linenumberstrue
run pi_busca_email_usuario in h_fpapi805 (
    input  tt-param.usuario, /* código do usuário                  */
    input  no,               /* prioriza "Email Contato" do FP1440 */
    input  no,               /* prioriza tabela "usuar_mestre"     */
    output c_email_remetente /* e-mail cadastrado no sistema       */
).
Card
idpi_busca_email_pessoa
labelIdentificar Destinatário

O e-mail da pessoa, que eventualmente representará o destinatário da mensagem, pode ser identificado através das procedures "pi_busca_email_pessoa", que recebe um CPF, ou "pi_busca_email_funcionário", que recebe a chave de um funcionário (empresa, estabelecimento e matrícula) .

As tabelas "rh_pessoa_fisic" e "funcionario" são utilizadas nestes processos.

Bloco de código
languagec#
firstline1
titlepi_busca_email_pessoa
linenumberstrue
run pi_busca_email_pessoa in h_fpapi805 (
    input  c_cod_cpf_cgc,       /* cpf da pessoa                      */
    input  no,                  /* prioriza "Email Contato" do FP1440 */
    output c_email_destinatario /* e-mail cadastrado no sistema       */
).
Bloco de código
languagec#
firstline1
titlepi_busca_email_funcionario
linenumberstrue
run pi_busca_email_funcionario in h_fpapi805 (
    input  c_cdn_empresa,       /* código da empresa,         chave de "Funcionários" */
    input  c_cdn_estab,         /* código do estabelecimento, chave de "Funcionários" */
    input  c_cdn_funcionario,   /* código do funcionário,     chave de "Funcionários" */
    input  no,                  /* prioriza "Email Contato" do FP1440                 */
    output c_email_destinatario /* e-mail cadastrado no sistema                       */ 
).
Card
idpi_envia_email
labelEnviar E-Mail

Para realizar o envio de mensagem, com este utilitário, é necessário utilizar a procedure "pi_envia_email". O corpo da mensagem, no formato da tabela temporária "tt-mensagem", da include xpresente na include "utapi019.i", pode ser definido em um arquivo externo, facilitando a manutenção.

Aviso

Esta procedure utiliza a API "ut-api019" do Framework.

Bloco de código
languagec#
firstline1
titlepi_envia_email
run pi_envia_email in h_fpapi805 (
    input c_email_remetente,    /* remetente da mensagem                */
    input c_email_destinatario, /* destinatário da mensagem             */
    input c_email_assunto,      /* assunto da mensagem                  */
    input c_email_anexo_comp,   /* anexo da mensagem                    */
    input yes,                  /* deleta arquivo anexo                 */
    input table tt-mensagem     /* corpo da mensagem, conforme utapi019 */
).
Card
idpi_imprime_log
labelImprimir Log

Ao fim das execuções, é possível apresentar ao usuário um Log completo. Para tal fim, basta utilizar a procedure "pi_imprime_log", onde os parâmetros de impressão são configurados.

Bloco de código
languagec#
firstline1
titlepi_imprime_log
linenumberstrue
run pi_imprime_log in h_fpapi805.

...