Árvore de páginas

Versões comparadas

Chave

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

 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_CTR0CTR011

 

IRM1

PCREQ-XXXX7723

Requisito1

PCREQ-XXXX7725

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 PagamentoCriaçãoNã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:

PerguntaConteúdoCritério de busca
Data da Baixa deData inicial das baixasMaior ou igual a FK2_DATA
Data da Baixa AtéData final das baixasMenor ou igual a FK2_DATA
Fornecedor deInício do range de fornecedoresMaior ou igual a E2_FORNECE
Fornecedor até

Final do range de fornecedores

Menor ou igual a E2_FORNECE
Loja deInício do range lojas de fornecedoresMaior ou igual a E2_LOJA
Loja atéFinal do range lojas de fornecedores Menor ou igual a E2_LOJA
Prefixo deInício do range de prefixos/serie de notaMaior ou igual a E2_PREFIXO
Prefixo atéFinal do range de prefixos/serie de notaMenor ou igual a E2_PREFIXO
Título deInício do range do Número do títuloMaior ou igual a E2_NUM
Título atéFinal do range do Número do títuloMenor ou igual a E2_NUM
Parcela deInício do range de parcelaMaior ou igual a E2_PARCELA
Parcela atéFinal do range de parcelaMenor ou igual a E2_PARCELA
Seleciona TiposDefine 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 BaixaDefine 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 PagamentoDefine 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:

TabelasChaves de relacionamento
SA2 X SE2A2_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 FK2FK7_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:

CampoConteúdo
EmitenteE-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:

  • Deverá verificar se existe um contato vinculado a ao fornecedor com o campo U5_AVPGTO=1;
    • Se existir deverá buscar o campo U5_EMAIL, caso contrário deverá usar o campo A2_EMAIL.
  • Se nenhum deles estiver preenchido não será enviado o e-mail.

Se o parâmetro MV_INTTUR estiver desativado:

  • Deverá verificar se existe um contato vinculado a ao fornecedor com o campo U5_AVPGTO=1;
    • Se existir deverá buscar o campo U5_EMAIL, caso contrário deverá usar o campo A2_EMAIL.
  • Se nenhum deles estiver preenchido não será enviado o e-mail.

Importante: Se existir mais de um contato com o campo U5_AVPGTO=1, todos serão notificados.


Corpo do e-mail:


CampoConteúdo
PrefixoE2_PREFIXO
NúmeroE2_NUM
ParcelaE2_PARCELA
TipoE2_TIPO
Data de VencimentoE2_VENCREA
Data de PagamentoFK2_DATA
Valor de PagamentoFK2_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 PagamentoSEA_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, AC9, SU5, G4V:

TabelasChaves de relacionamento
SA2 X G4VA2_COD+A2_LOJA = G4V_COD+G4V_LOJA
SA2 X AC8

A2_COD+A2_LOJA =AC8_CODENT

AC8 X SU5AC8_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

ColunaConteúdo
Fornecedor/LojaE2_FORNECE/E2_LOJA
Nome reduzidoE2_NOMFOR
E-mail de Envio

E-mail definido na execução da rotina

OBS: Poderá ser mais de um.

Data de EnvioData Base do sistema

Sessão 2 - Dados dos títulos

ColunaConteúdo
FilialE2_FILIAL
PrefixoE2_PREFIXO
NúmeroE2_NUM
ParcelaE2_PARCELA
TipoE2_TIPO
NaturezaE2_NATUREZ
VencimentoE2_VENCREA
PagamentoE2_VENCREA
Valor OriginalE2_VALOR+E2_ACRESC-E2_DECRESC
Valor PagoFK2_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 PagamentoSEA_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_GRPSXG001

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_GRPSXG001

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_GRPSXG002

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_GRPSXG002

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_GRPSXG018

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_GRPSXG018

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_GRPSXG011

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_GRPSXG011

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:

  • MV_INTTUR = 2 (Não usa o módulo SIGATUR)
  • 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:

  • MV_INTTUR = 2 (Não usa o módulo SIGATUR)
  • 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

 

UC – 002 - Aviso de Pagamento

Objetivo: Validar a rotina de Aviso de pagamentos

Pré-condição:

  • MV_INTTUR = 1 (Usa o módulo SIGATUR)
  • Cadastro de Fornecedores, com complemento de cadastro e o campo G4V_EMAIL preenchido
  • Cadastro de Fornecedores, com complemento de cadastro e o campo G4V_EMAIL em branco
  • Cadastro de Fornecedores, com contatos ativo para recebimento do aviso e sem complemento de fornecedor;
  • Cadastro de Fornecedores, sem contatos cadastrados e sem complemento de fornecedor;;
  • Cadastro de Fornecedores, com contatos inativo para recebimento do aviso e sem complemento de fornecedor;
  • 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:

  • MV_INTTUR = 1 (Usa o módulo SIGATUR)
  • Cadastro de Fornecedores, com complemento de cadastro e o campo G4V_EMAIL preenchido
  • Cadastro de Fornecedores, com complemento de cadastro e o campo G4V_EMAIL em branco
  • Cadastro de Fornecedores, com contatos ativo para recebimento do aviso e sem complemento de fornecedor;
  • Cadastro de Fornecedores, sem contatos cadastrados e sem complemento de fornecedor;;
  • Cadastro de Fornecedores, com contatos inativo para recebimento do aviso e sem complemento de fornecedor;
  • 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.