Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | Microsiga Protheus | Módulo | SIGAFIN |
Segmento Executor | Serviços & Juridico | ||
Projeto1 | M_CTR0 | IRM1 | PCREQ-XXXX |
Requisito1 | PCREQ-XXXX | Subtarefa1 |
|
Chamado2 |
| ||
Release de Entrega Planejada | 12.1.8 | Réplica |
|
País | ( ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( x ) Outro: Todos. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Desenvolver uma rotina para envio, por e-mail, de avisos de pagamento ao fornecedor após a baixa dos títulos a pagar.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
FINA815 - Aviso de Pagamento | Criação | Miscelânea -> Envio -> Aviso de Pagamento | - |
FINR815 - Aviso de Pagamento | Criação | Não se aplica | - |
Definição da Regra de Negócio
O processo de envio de aviso de pagamento aos fornecedores tem como objetivo minimizar o recebimento de ligações de fornecedores perguntando sobre pagamento de faturas, juntamente com o desejo da agência em ser proativa no relacionamento com seus fornecedores, informando-os sobre a efetivação dos seus pagamentos.
A rotina desenvolvida fará uma avaliação das baixas ocorridas no período selecionado pelo usuário e enviará um e-mail aos fornecedores, informando-os sobre a efetivação do pagamento.
Esta rotina está disponível para acionamento a qualquer instante pelo usuário, ou até mesmo, poderá ser configurada para execução periódica via agendamento (Schedule).
Considerações:
- A rotina sempre enviará o e-mail de aviso de pagamento para os títulos selecionados nos parâmetros. Ou seja, não haverá um controle de envios anteriores, permitindo o reenvio de e-mail, se necessário.
- O sistema montará um único e-mail por Fornecedor e Loja com a relação de todos os seus títulos baixados, conforme informação dos parâmetros.
- O destinatário do e-mail será eleito conforme a regra:
- Caso o parâmetro MV_INTTUR estiver ativo, o aviso de pagamento será enviado para o(s) e-mail(s) do fornecedor informado no campo “E-mail” da aba “Definições de Cobrança” do cadastro de “Complemento do Fornecedor”
- Caso contrário, irá buscar os dados do cadastro de contatos do fornecedor, caso não existe utilizará o e-mail padrão do fornecedor.
- O e-mail remetente dos avisos de pagamento deverá ser configurado no parâmetro MV_RAVPAG, que será criado para este objetivo.
- O nome da empresa para informação no e-mail, no exemplo Alatur Turismo, será consultado do cadastro de empresas/filial. (Tabela SM0)
- A identificação do título será PREFIXO/NÚMERO/PARCELA/TIPO.
Detalhamento técnico
FINA815 - Aviso de Pagamento
Desenvolver uma tela conforme protótipo de tela 01, que utilize o grupo de perguntas FINA815, para seleção dos fornecedores que serão notificados, com as perguntas:
Pergunta | Conteúdo | Critério de busca |
---|---|---|
Data da Baixa de | Data inicial das baixas | Maior ou igual a FK2_DATA |
Data da Baixa Até | Data final das baixas | Menor ou igual a FK2_DATA |
Fornecedor de | Início do range de fornecedores | Maior ou igual a E2_FORNECE |
Fornecedor até | Final do range de fornecedores | Menor ou igual a E2_FORNECE |
Loja de | Início do range lojas de fornecedores | Maior ou igual a E2_LOJA |
Loja até | Final do range lojas de fornecedores | Menor ou igual a E2_LOJA |
Prefixo de | Início do range de prefixos/serie de nota | Maior ou igual a E2_PREFIXO |
Prefixo até | Final do range de prefixos/serie de nota | Menor ou igual a E2_PREFIXO |
Título de | Início do range do Número do título | Maior ou igual a E2_NUM |
Título até | Final do range do Número do título | Menor ou igual a E2_NUM |
Parcela de | Início do range de parcela | Maior ou igual a E2_PARCELA |
Parcela até | Final do range de parcela | Menor ou igual a E2_PARCELA |
Seleciona Tipos | Define se usuário filtrará os tipos de títulos | Se for 1 = Sim, apresentará a tela do protótipo 03 para usuário filtrar os tipos de títulos Se for 2 = Não, não apresentará a tela do protótipo 03 e irá considerar todos os tipos de títulos. |
Seleciona Motivo de Baixa | Define se o usuário filtrará os motivos de baixa | Se for 1 = Sim, apresentará a tela do protótipo 05 para usuário filtrar os motivos de baixas Se for 2 = Não, não apresentará a tela do protótipo 05 e irá considerar todos os motivos de baixas |
Seleciona Modelo de Pagamento | Define se o usuário filtrará os motivos de pagamentos, quando o mesmo for realizado por borderô | Se for 1 = Sim, apresentará a tela do protótipo 04 para usuário filtrar os motivos de pagamento Se for 2 = Não, não apresentará a tela do protótipo 04 e irá considerar todos os motivos de pagamento |
Seleciona Filiais | Define as filiais de processamento, caso selecione a opção não, irá processar apenas a filial corrente 1 = Sim, 2 = Não | Usar a função AdmSelecFil , para retornar as filiais. |
Baseado nas perguntas efetuar uma busca na tabela SE2 de títulos baixados parcialmente ou totalmente uma das condições abaixo sejam atendidas:
- E2_SALDO seja diferente do campo E2_VALOR
- E2_SDACRES seja diferente do campo E2_ACRESCIMO
- E2_SDDECRE seja diferente do campo E2_DECRESCIMO
- E2_BAIXA preenchido, com movimentos válidos na FK2, ou seja, movimentos de baixas não estornado.
Após essa verificação:
Verificar os movimentos da FK2, se possuem o mesmo motivo de baixa selecionado pelo usuário.
Se o campo E2_NUMBOR estiver preenchido, verificar na tabela SEA se o tipo de pagamento está no range estabelecido pelo usuário.
Ordenar os títulos por fornecedor, para envio dos e-mail e emissão do relatório de conferencia.
Relacionamento entre tabelas:
Para buscar e validar dados serão consultadas as tabelas:
SA2, SE2, FK7, FK2, SEA:
Tabelas | Chaves de relacionamento |
---|---|
SA2 X SE2 | A2_COD+A2_LOJA = E2_FORNECE+E2_LOJA |
SE2 X FK7 | E2_FILIAL + E2_PREFIXO + E2_NUM + E2_PARCELA + E2_TIPO E2_FORNECE + E2_LOJA = FK7_CHAVE |
FK7 X FK2 | FK7_IDDOC = FK2_IDDOC |
SE2 X SEA | E2_NUMBOR + E2_PREFIXO + E2_NUM + E2_PARCELA + E2_TIPO + E2_FORNECE + E2_LOJA = EA_NUMBOR + EA_PREFIXO + EA_NUM + EA_PARCELA + EA_TIPO EA_FORNECE + EA_LOJA |
Para cada fornecedor listado será enviado um e-mail com seus respectivos pagamentos, conforme protótipo de tela 06, com a estrutura:
Cabeçalho do e-mail:
Campo | Conteúdo |
---|---|
Emitente | E-mail listado no parâmetro MV_RAVPAG |
Destinatário | o destinatário do e-mail poderá ter três origens: Se o parâmetro MV_INTTUR estiver ativo, deverá buscar do complemento do fornecedor G4V_EMAIL, caso não esteja preenchido:
Se o parâmetro MV_INTTUR estiver desativado:
Importante: Se existir mais de um contato com o campo U5_AVPGTO=1, todos serão notificados. |
Corpo do e-mail:
Campo | Conteúdo |
---|---|
Prefixo | E2_PREFIXO |
Número | E2_NUM |
Parcela | E2_PARCELA |
Tipo | E2_TIPO |
Data de Vencimento | E2_VENCREA |
Data de Pagamento | FK2_DATA |
Valor de Pagamento | FK2_VALOR |
Banco/agencia/conta | Utilizar os campos: E2_FORBCO, E2_FORAGE, E2_FAGEDV, E2_FORCTA, E2_FCTADV. Caso estejam em branco usar os campos: A2_BANCO, A2_AGENCIA, A2_DVAGE, A2_NUMCON, A2_DVCTA. |
Modelo de Pagamento | SEA_MODELO + X5_DESCRI (tabela 58) |
Importante: Durante o processamento deverá apresentar uma barra de progresso, caso não encontre registro o usuário deverá ser notificado.
Relacionamento entre tabelas:
Para buscar e validar dados serão consultadas as tabelas:
SA2, SE2AC9, FK7SU5, FK2, SEAG4V:
Tabelas | Chaves de relacionamento |
---|---|
SA2 X G4V | A2_COD+A2_LOJA = G4V_COD+G4V_LOJA |
SA2 X SU5AC8 | E2A2_FILIAL COD+ E2_PREFIXO + E2_NUM + E2_PARCELA + E2_TIPO E2_FORNECE + E2_LOJA = FK7_CHAVE |
FK7 X FK2 | FK7_IDDOC = FK2_IDDOC |
SE2 X SEA | E2_NUMBOR + E2_PREFIXO + E2_NUM + E2_PARCELA + E2_TIPO + E2_FORNECE + E2_LOJA = EA_NUMBOR + EA_PREFIXO + EA_NUM + EA_PARCELA + EA_TIPO EA_FORNECE + EA_LOJA |
A2_LOJA =AC8_CODENT | |
AC8 X SU5 | AC8_CODCON = U5_CODCON |
Após a emissão do e-mail deverá apresentar na tela o relatório de conferência, FINR815.
Gravação de Log de Processamento
Para cada processamento será gravado um log, informando data, hora e usuário que efetuou o processamento e o código do fornecedor/loja processado.
Adicionar uma tratativa, caso a quantidade de código/loja ultrapasse a capacidade do campo CV8_DET, deverá gravar duas ou mais linhas de log.
Geração via Schedule.
O processamentos das funções de seleção, envio de e-mail, gravação de log deverão estar preparadas para ser executadas via agendamento (schedule).
Quando a execução ocorrer por agendamento, sistema não deverá emitir o relatório de conferência.
Para construção do recurso, consultar o material:
http://tdn.totvs.com.br/display/framework/Schedule+Protheus
http://tdn.totvs.com/pages/releaseview.action?pageId=36800166
FINR815 - Relatório de aviso de pagamento
Relatório deverá receber os dados de e-mail enviados e exibir as informações conforme protótipo de tela 07, divido em duas sessões com quebra por fornecedor.
Sessão 1 - Dados do fornecedor
Coluna | Conteúdo |
---|---|
Fornecedor/Loja | E2_FORNECE/E2_LOJA |
Nome reduzido | E2_NOMFOR |
E-mail de Envio | E-mail definido na execução da rotina OBS: Poderá ser mais de um. |
Data de Envio | Data Base do sistema |
Sessão 2 - Dados dos títulos
Coluna | Conteúdo |
---|---|
Filial | E2_FILIAL |
Prefixo | E2_PREFIXO |
Número | E2_NUM |
Parcela | E2_PARCELA |
Tipo | E2_TIPO |
Natureza | E2_NATUREZ |
Vencimento | E2_VENCREA |
Pagamento | E2_VENCREA |
Valor Original | E2_VALOR+E2_ACRESC-E2_DECRESC |
Valor Pago | FK2_VALOR |
Banco/Agencia/Conta | Utilizar os campos: E2_FORBCO, E2_FORAGE, E2_FAGEDV, E2_FORCTA, E2_FCTADV. Caso estejam em branco usar os campos: A2_BANCO, A2_AGENCIA, A2_DVAGE, A2_NUMCON, A2_DVCTA. |
Modelo de Pagamento | SEA_MODELO + X5_DESCRI (tabela 58) |
Tabelas Utilizadas
- SE2 – Cadastro de Contas a Pagar;
- SA2 - Cadastro de fornecedor;
- SU5 - Cadastro de ContatoS;
- AC8 - Entidades x Contatos
- SE5 - Movimentos Bancários;
- FK2 - Baixas a Pagar;
- FK7 - Dados Auxiliares;
- SEA - Títulos enviados ao Banco;
- CV8 - Log de Processamento.
Protótipo de Tela
Protótipo 01
Protótipo 02
Protótipo 03
Seleção de Tipo de título
Protótipo 04
Seleção dos Modelos de Pagamento
Protótipo 05
Seleção dos Motivos de Baixa
Protótipo 06
Exemplo de formato de e-mail:
Protótipo 07
Dicionário de Dados
Arquivo ou Código do Script: SU5 - Cadastro de Contatos
Campo | U5_AVPGTO |
Tipo | Caractere |
Tamanho | 1 |
Descrição | Aviso de Pagamento |
Título | Aviso Pgto |
Picture | @! |
Obrigatório | Não |
Usado | Sim |
Browse | Não |
Contexto | Real |
Visual | Alterar |
Val. Sistema | Pertence(“12”) |
Lista opção | 1=Sim,2=Não |
Inicializador Padrão | “2” |
Help de Campo | Define se o contato irá receber e-mail de aviso de pagamento. 1=Sim 2=Não |
Grupo de Perguntas
Nome: FINA815
X1_ORDEM | 1 |
X1_PERGUNT | Data de Baixa de: |
X1_TIPO | Data |
X1_TAMANHO | 8 |
X1_GSC | Get |
X1_VAR01 | MV_PAR01 |
X1_HELP | Data inicial das baixas a pagar |
X1_ORDEM | 2 |
X1_PERGUNT | Data de Baixa até: |
X1_TIPO | Data |
X1_TAMANHO | 8 |
X1_GSC | Get |
X1_VAR01 | MV_PAR02 |
X1_HELP | Data final das baixas a pagar |
X1_ORDEM | 3 |
X1_PERGUNT | Fornecedor de: |
X1_TIPO | Caractere |
X1_TAMANHO | 6 |
X1_GSC | Get |
X1_VAR01 | MV_PAR03 |
X1_F3 | SA2 |
X1_GRPSXG | 001 |
X1_HELP | Início do range de fornecedores |
X1_ORDEM | 4 |
X1_PERGUNT | Fornecedor até: |
X1_TIPO | Caractere |
X1_TAMANHO | 6 |
X1_GSC | Get |
X1_VAR01 | MV_PAR04 |
X1_F3 | SA2 |
X1_GRPSXG | 001 |
X1_HELP | Final do range de fornecedores |
X1_ORDEM | 5 |
X1_PERGUNT | Loja de: |
X1_TIPO | Caractere |
X1_TAMANHO | 2 |
X1_GSC | Get |
X1_VAR01 | MV_PAR05 |
X1_GRPSXG | 002 |
X1_HELP | Range inicial de loja do cliente fornecedores |
X1_ORDEM | 6 |
X1_PERGUNT | Loja até: |
X1_TIPO | Caractere |
X1_TAMANHO | 2 |
X1_GSC | Get |
X1_VAR01 | MV_PAR06 |
X1_GRPSXG | 002 |
X1_HELP | Range final de loja do cliente fornecedores |
X1_ORDEM | 7 |
X1_PERGUNT | Prefixo de: |
X1_TIPO | Caractere |
X1_TAMANHO | 3 |
X1_GSC | Get |
X1_VAR01 | MV_PAR07 |
X1_HELP | Início do range de prefixos/serie de nota |
X1_ORDEM | 8 |
X1_PERGUNT | Prefixo até: |
X1_TIPO | Caractere |
X1_TAMANHO | 3 |
X1_GSC | Get |
X1_VAR01 | MV_PAR08 |
X1_HELP | Final do range de prefixos/serie de nota |
X1_ORDEM | 9 |
X1_PERGUNT | Título de: |
X1_TIPO | Caractere |
X1_TAMANHO | 9 |
X1_GSC | Get |
X1_VAR01 | MV_PAR09 |
X1_GRPSXG | 018 |
X1_HELP | Início do range de número de título/número da nota fiscal ou faturas |
X1_ORDEM | 10 |
X1_PERGUNT | Título até: |
X1_TIPO | Caractere |
X1_TAMANHO | 9 |
X1_GSC | Get |
X1_VAR01 | MV_PAR10 |
X1_GRPSXG | 018 |
X1_HELP | Final do range de número de título/número da nota fiscal ou faturas |
X1_ORDEM | 11 |
X1_PERGUNT | Parcela de: |
X1_TIPO | Caractere |
X1_TAMANHO | 1 |
X1_GSC | Get |
X1_VAR01 | MV_PAR11 |
X1_GRPSXG | 011 |
X1_HELP | Início do range de parcela do título |
X1_ORDEM | 12 |
X1_PERGUNT | Parcela até: |
X1_TIPO | Caractere |
X1_TAMANHO | 1 |
X1_GSC | Get |
X1_VAR01 | MV_PAR12 |
X1_GRPSXG | 011 |
X1_HELP | Final do range de parcela do título |
X1_ORDEM | 13 |
X1_PERGUNT | Seleciona Tipos |
X1_TIPO | Numérico |
X1_TAMANHO | 1 |
X1_GSC | Combo |
X1_VAR01 | MV_PAR13 |
X1_DEF01 | 1=Sim |
X1_DEF02 | 2=Não |
X1_HELP | Define será irá filtrar ou não por tipo de título. |
X1_ORDEM | 14 |
X1_PERGUNT | Seleciona Motivo de Baixa |
X1_TIPO | Numérico |
X1_TAMANHO | 1 |
X1_GSC | Combo |
X1_VAR01 | MV_PAR14 |
X1_DEF01 | 1=Sim |
X1_DEF02 | 2=Não |
X1_HELP | Define será irá filtrar ou não as baixas por motivo de baixa. |
X1_ORDEM | 15 |
X1_PERGUNT | Seleciona Modelo de Pagamento |
X1_TIPO | Numérico |
X1_TAMANHO | 1 |
X1_GSC | Combo |
X1_VAR01 | MV_PAR15 |
X1_DEF01 | 1=Sim |
X1_DEF02 | 2=Não |
X1_HELP | Define será irá filtrar ou não as baixas por modelo de pagamento. |
X1_ORDEM | 16 |
X1_PERGUNT | Seleciona Filial |
X1_TIPO | N |
X1_TAMANHO | 1 |
X1_GSC | Combo |
X1_VAR01 | MV_PAR16 |
X1_DEF01 | 1=Sim |
X1_DEF02 | 2=Não |
X1_HELP | Seleciona filiais para processamento. |
Parâmetros
Nome da Variável | MV_RAVPAG |
Tipo | Caractere |
Descrição | E-mail remetente dos avisos de pagamento |
Valor Padrão |
|
Casos de Uso
UC – 001 - Aviso de Pagamento
Objetivo: Validar a rotina de Aviso de pagamentos
Pré-condição:
- Cadastro de Fornecedores, com contatos ativo para recebimento do aviso;
- Cadastro de Fornecedores, sem contatos cadastrados;
- Cadastro de Fornecedores, com contatos inativo para recebimento do aviso;
- Cadastro de Naturezas;
- Títulos a Pagar, baixados totalmente e parcialmente;
- Borderô de pagamento baixados;
- Títulos a Pagar em aberto;
- Borderô de pagamentos em aberto.
Inicializador:
- FINA815 – Aviso de Pagamento
Fluxo Básico de Eventos:
1.0 Acessar a rotina de aviso de pagamentos;
1.1 Preencha as perguntas;
1.2 Confirme o processamento;
1.3 Sistema deverá enviar e-mail com os títulos listados no relatório de conferencia;
2.0 Verifique se o log da rotina foi gravado corretamente.
Fim do caso de uso
UC – 002 - Aviso de Pagamento, por agendamento.
Objetivo: Validar a rotina de Aviso de pagamentos executado por agendamento.
Pré-condição:
- Cadastro de Fornecedores, com contatos ativo para recebimento do aviso;
- Cadastro de Fornecedores, sem contatos cadastrados;
- Cadastro de Fornecedores, com contatos inativo para recebimento do aviso;
- Cadastro de Naturezas;
- Títulos a Pagar, baixados totalmente e parcialmente;
- Borderô de pagamento baixados;
- Títulos a Pagar em aberto;
- Borderô de pagamentos em aberto.
Inicializador:
- FINA815 – Aviso de Pagamento
Fluxo Básico de Eventos:
1.0 Acessar a rotina de agendamento (schedule);
1.1 Configurar o agendamento da rotina FINA815;
1.2 Confirme o processamento;
1.3 Sistema deverá enviar e-mail com os títulos selecionados conforme parametrização do agendamento;
2.0 Verifique se o log da rotina foi gravado corretamente.
Fim do caso de uso
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|