Árvore de páginas

Versões comparadas

Chave

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

 formações Gerais

 

Especificação

Produto

Microsiga Protheus

Módulo

SIGAFIN

Segmento Executor

Serviços & Juridico

Projeto1

M_CTR011

IRM1

PCREQ-3780

Requisito1

PCREQ-7721

Subtarefa1

M_CTR011-40

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

 

Adicionar tratamento de cálculo de juros e multas variáveis na rotina de liquidação e recebimentos de títulos, permitir a simulação de valores negociados e converter a rotina para MVC.

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

FINA460 - Liquidação a Receber

Alteração

Atualizações -> Contas a Receber -> Liquidação a Receber

-

FINA460A - Simulação de liquidação a ReceberCriaçãoAtualizações -> Contas a Receber -> Simulação de Liquidação-
FINA460B - Liquidação a ReceberCriaçãoNão se aplica-
FINA460LOAD - Funções GenéricasCriaçãoNão se aplica-
FINR460A - Acordos de liquidaçãoCriaçãoRelatórios -> Contas a Receber -> Acordos de Liquidação-
FINA740 - Funções de Contas a ReceberAlteraçãoAtualizações -> Contas a Receber -> Funções de Receber-
FINXBX - Funções GenéricasAlteraçãoNão se aplica-

Definição da Regra de Negócio


Liquidação de títulos a receber

No processo de liquidação de títulos, quando o usuário selecionar títulos em atraso, será aplicado um percentual fixo de multa e calculado os juros sobre o período em atraso, conforme percentual listado na inclusão do título (padrão existente no sistema).

 

Configuração para cálculo de multa:

MV_JURTIPO = L (SIGALOJA)

MV_LJMULTA = Percentual de multa

MV_LJINTFS = .T. (Usa cálculo do SIGALOJA)

MV_TXPER = Percentual de Juros

MV_LJJUROS = Percentual de Juros

 

Será possível informar uma outra taxa de multa e/ou juros, que serão aplicadas no momento da simulação da liquidação, caso uma outra taxa seja negociada com o cliente.

Após a marcação dos títulos e seleção da condição de pagamento, quando necessário, haverá novo cálculo de juros sobre o valor negociado e este será corrigido. Abaixo um exemplo desta negociação.

 

Exemplo:

 

Filial

Título

Cliente/Loja

Data de Vencimento

Valor

Percentual de Juros a.d

Matriz

UNI0000001NF

T00001/01

01/08/2015

R$ 5.000,00

     0,0333

Matriz

UNI0000002NF

T00001/01

10/08/2015

R$ 10.000,00

     0,0333

Matriz

UNI0000003NF

T00001/01

20/08/2015

R$ 3.000,00

     0,0333

 

No dia 20/08/15, cliente entra em contato com a cobrança e solicita renegociação dos valores em aberto:

 

Título

Data de Vencimento

Data de Liquidação

Valor

Juros

Multa

Total para renegociação

UNI0000001NF

01/08/2015

20/08/15

5.000,00

31,64

100,00

5.131,64

UNI0000002NF

10/08/2015

20/08/15

10.000,00

33,30

200,00

10.233,30

UNI0000003NF

20/08/2015

20/08/15

3.000,00

0

0

3.000,00

Total Renegociado

18.364,94

 

Cliente solicita um parcelamento dos valores em aberto em duas parcelas, a primeira a vista e a segunda para 30 dias.

 

Título

Data de Vencimento

Valor do Inicial

Valor de Juros

Valor da Parcela

LIQ0000001DP

20/08/2015

9.182,47

0

9.182,47

LIQ0000002DP

20/09/2015

9.182,47

        94,82

9.277,29

Total Renegociado

18.459,76

 

No momento do parcelamento, os valores serão sugeridos pelo sistema, mas o usuário de cobrança poderá alterar o valor de juros, conforme a negociação com o cliente.

A alteração dos valores poderá ocorrer parcela a parcela da renegociação ou sobre o total renegociado, sendo este último aplicado à todos os títulos pertencentes à uma negociação.

Os títulos gerados de uma liquidação serão corrigidos quando baixados em uma data posterior ao vencimento negociados.

 

Após a negociação com o cliente o usuário poderá:

 

Liquidação

Gravar todos os passos da liquidação, baixar os títulos selecionados e gerar novos títulos com os valores acordados.

Os valores gravados ficarão disponível no relatório Acordos de Liquidação.

 

Simulação

Gravar todos os passos da liquidação com uma data de validade. Sendo assim, enquanto a simulação estiver vigente (dentro do prazo de validade), o usuário poderá alterar a simulação, alterar e efetivar a simulação.

Os valores gravados ficarão disponíveis no relatório Acordos de Liquidação.

 

Detalhamento técnico.

FINA460 - Liquidação a Receber

Reescrever a rotina FINA460 para MVC, mantendo suas funcionalidades, validações e pontos de entrada.

Função genérica para montagem de tela.

A funcionalidade da liquidação será disponibilizada para o módulo de Telecobrança, onde serão selecionados os títulos para um atendimento/cobrança e utilizaram a rotina de liquidação na tela do protótipos 02.

Para isso, reestruturar a função A460Liquid, dividindo-a em:

 

  1. Seleção de dados (tela inicial);
  2. Montagem do arquivo temporário, com dados coletados da seleção de títulos;
  3. Montagem da tela de liquidação.

 

Importante: Manter todas as validações e gravações existentes.

Após a reestruturação, o módulo de telecobrança deverá chamar a função de montagem da tela de seleção de títulos.

Tela de Liquidação

Conforme protótipo de tela 02, para adicionar as informações:


FO0 - Cabeçalho da Liquidação

 

Campo
Conteúdo
FO0_FILIALFilial da Liquidação
FO0_PROCESProcesso Simulação (autonumeração)
FO0_VERSAOVersão da Simulação (autonumeração)
FO0_NUMLIQNúmero da liquidação
FO0_DATAData da Simulação
FO0_DTVALIDData de validade da simulação
FO0_CONDCondição de Pagamento
FO0_TXJURTaxa de Juros informada na tela de negociação de títulos
FO0_TXMUL

Taxa da Multa informada na tela de negociação de títulos

FO0_TXJRGTaxa de Juros informada na tela de geração de títulos
FO0_CLIENTECódigo do cliente utilizado na geração do título
FO0_LOJALoja do cliente utilizado na geração do título
FO0_RAZAORazão social do cliente selecionado para geração dos títulos (Virtual)
FO0_NATUREZNatureza do título
FO0_STATUS

Status da negociação que poderá ser:

1 - Ativo

2 - Bloqueado

3 - Cancelado

4 - Gerada

5 - Encerrada

FO0_MOEDAMoeda utilizada na geração da simulação
FO0_BKPSTTGravará o status da simulação antes que a liquidação seja efetivada.
FO0_ORIGEMOrigem da simulação.
FO0_TIPOTipo de título utilizado na geração dos novos títulos

No cabeçalho da tela:

  • Adicionar o campo Tx. Multa, iniciando com o percentual do parâmetro MV_LJMULTA;
  • Adicionar o campo Tx Juros , iniciando com o percentual do parâmetro MV_TXPER/MV_LJJUROS.
  • Adicionar o campo Tx Jur Ger, iniciando com o percentual do parâmetro MV_TXPER/MV_LJJUROS.
  • Adicionar o 

Validações:

Os campos serão editáveis e quando manipulados serão replicados para os seus respectivos campos no grid da tela.

Campo CabeçalhoCorrespondente
Tx. Multa (FO0_TXMUL)FO1_TXMUL
Tx. Juros (FO0_TXJUR)FO1_TXJUR
Tx Jur Ger (FO0_TXJRG)FO2_TXJUR

Retirar botão EDITAR localizado em ações relacionadas adicionar sua funcionalidade na grid da tela.

FO1 - Títulos Selecionados

 

Campo
Conteúdo
FO1_FILIALFilial da Liquidação
FO1_PROCESProcesso Simulação (FO0_PROCES)
FO1_VERSAOVersão da Simulação (FO0_VERSAO)
FO1_IDDOCIdentificação do título (FK7_IDDOC)
FO1_FILORIFilial do título selecionado (Virtual)
FO1_PREFIXPrefixo do título selecionado (Virtual)
FO1_NUMNúmero do título selecionado (Virtual)
FO1_PARCELParcela do título selecionado (Virtual)
FO1_TIPOTipo do título selecionado (Virtual)
FO1_NATURENatureza do título selecionado (Virtual)
FO1_CLIENTCliente do título selecionado (Virtual)
FO1_LOJALoja do título selecionado (Virtual)
FO1_EMISEmissão do título selecionado (Virtual)
FO1_VENCREVencimento real do título selecionado (Virtual)
FO1_BAIXAData de ultima baixa parcial que o título sofreu (Virtual)
FO1_VLBAIXValor de baixas parciais do título selecionado (Virtual)
FO1_HISTHistórico de inclusão do título (Virtual))
FO1_SALDOSaldo do título na data da negociação
FO1_TXJURTaxa de Juros da negociação
FO1_VLJURValor do Juros calculado
FO1_TXMULTaxa da multa da negociação
FO1_VLMULValor da multa calculada.
FO1_DESCONDesconto informado pelo usuário
FO1_ACRESCSaldo de Acréscimo do título (E1_SDACRES)
FO1_DECRESSaldo de Decréscimo do título (E1_SDDECRE) 
FO1_VLABTValor de Abatimento do título (SomaAbat())
FO1_TOTALResultado do cálculo: FO1_VALCVTFO1_VLMUL + FO1_VLJUR + FO1_ACRESC - FO1_DESCON - FO1_DECRES -FO1_VLABT
FO1_MOEDAMoeda do título (E1_MOEDA)
FO1_TXMOEDTaxa da moeda do título (E1_TXMOED, caso o mesmo esteja em branco deverá preencher com a taxa do dia)
FO1_VALCVTSaldo do título convertido para a moeda da liquidação (Virtual)

 

No grid da seleção de títulos:

  • Adicionar o campo %Multa, iniciando com o percentual do campo FO0_TXMUL;
  • Adicionar o campo % Juros, iniciando com o percentual do campo FO0_TXJUR;
  • Adicionar o campo Acréscimo, iniciando com o valor do campo E1_SDACRES e retirar a soma do seu conteúdo ao campo VALOR JUROS;
  • Adicionar o campo Decréscimo, iniciando com o valor do campo E1_SDDECRE e retirar a soma do seu conteúdo ao campo VALOR DESCONTO;
  • Adicionar os campos E1_EMISSAO e E1_BAIXA.

Ordenação da tela: similar a grid de geração título descrita abaixo.

Validações:

  • Os campos da grid serão editáveis, sempre que alterados deverão recalcular os campos de juros/multa do título.
  • Os campos de juros/multa deverão iniciar com o cálculo de juros/multa, com os percentuais de seus respectivos parâmetros.
  • Os campos Juros/Multa serão somados ao campo Valor a liquidar.
  • Caso os títulos selecionados sejam de uma moeda diferente da liquidação (FO0_MOEDA), deverá converter os dados para moeda da liquidação.

Regra de Cálculo:

  • Multa - Chamar a função LojxRMul() para calcular a multa conforme percentual informado pelo usuário.
  • Juros - Chamar a função LojxRJur() para calcular os juros com percentual informado pelo usuário.
  • Valor a Liquidar - Saldo do título + Multa + Juros + Acréscimo - Decréscimo - Desconto - Abatimento

 

FO2 - Títulos Gerados


CampoAçãoObrigatórioEditável
FO2_FILIALFilial da Liquidação--
FO2_PROCESProcesso Simulação (FO0_PROCES)--
FO2_VERSAOVersão da Simulação (FO0_VERSAO)--
FO2_IDSIMIdentificação do título gerado (FWUUIDV4())--
FO2_PREFIXOInformado pelo usuário, deverá ser replicado para todos os títulos geradosSimSim
FO2_NUMNúmero do título informado pelo usuário, deverá ser replicado para todos os títulos geradosSimSim
FO2_PARCELAParcela do título, será replicado para todos os títulos sempre incrementando 1 (MV_1DUP)SimSim
FO2_VENCTOData calculada, conforme condição de pagamento.SimSim
FO2_VALORValor calculado conforme a condição de pagamento listado pelo usuárioSimSim
FO2_TXJURPercentual de juros, será replicado com o % Juros do cabeçalho da telaNãoSim
FO2_VLJURJuros calculado pela função LojxRJur(), baseado na data de vencimento e % de JurosNãoNão
FO2_ACRESCAcréscimo do título informado pelo usuárioNãoSim
FO2_DECRESCDecréscimo do título informado pelo usuárioNãoSim
FO2_TOTAL Resultado do cálculo dos campos: Valor da Parcela + Juros + Acréscimo - DecréscimoSimNão
FO2_BANCOBanco do cheque informado pelo usuário NãoSim
FO2_AGENCIAgencia do cheque informado pelo usuárioNãoSim
FO2_CONTANúmero da conta do cheque informado pelo usuário NãoSim
FO2_NUMCHNúmero do cheque informado pelo usuárioNãoSim
FO2_EMITENTCampo iniciará com o Nome reduzido do clienteNãoSim

 

Validações:

Quando o parâmetro MV_GRSEFLQ = .T.:

  • Só irá gerar cheques a receber caso o tipo de título for igual a CH, caso o usuário informe outro tipo de título, deverá apresentar uma mensagem informando que não será gerado o cheque, para essa liquidação;
  • Os campos Banco cheque, Agencia cheque, Conta cheque e Número cheque, serão obrigatórios quando o tipo de título for CH.

Ao alterar o campo Per. Juros deverá recalcular os campos de Juros e Valor da Parcela.

Ao alterar os campos acréscimos, decréscimos deverá recalcular o campo valor da parcela.

Ao alterar a data de vencimento do título deverá recalcular os campos de Juros e Valor da Parcela.

Ao alterar o valor da parcela para um valor menor, deverá ajustar a parcela seguinte, para somar o saldo retirado e recalcular seus valores de juros e total da parcela, caso altere para valor maior, deverá subtrair da próxima parcela e recalcular seus valores de juros e total da parcela.

 

Regra de Cálculo

Juros - Chamar a função LojxRJur() para calcular os juros com percentual informado pelo usuário.

Será calculado o juros desde a data de negociação (data base), até a data de vencimento da nova parcela.

 

Função FA460Can

Ao cancelar a liquidação que possua simulação, apresentar a pergunta:

Cancela a simulação:

Se sim, deverá limpar o campo FO0_NUMLIQ e alterar o campo FO0_STATUS = 3 cancelado, para todas as versões vinculadas a simulação liquidada.

Se não, deverá limpar o campo FO0_NUMLIQ e restaurar o status anterior da simulação (FO0_STATUS=FO0_BKPSTT).


Conversão para MVC

Como a rotina será reescrita utilizando a tecnologia MVC, suas funções e pontos de entrada sofrerão algumas alterações.


Lista de Funções

 

FunçãoTipoFuncionalidadeChama emOcorrência 
A460LiquidFunctionFunção principal para liquidação e reliquidaçãoFINA460 \ MenuDefMigrar
A460CliStaticValida dados dos cliente selecionado pelo usuário na primeira tela de parâmetros da rotinaA460LiquidMigrar para F460BuscSE1
a460OKFunctionfunção de validação do acols dos títulos geradosA460LiquidMigrar para nova versão
a460TudoOKFunctionfunção de validação do acols dos títulos geradosA460LiquidMigrar para nova versão
a460NumChqFunctionNumera cheques automaticamente , seguindo a sequencia do primeiroA460LiquidMigrar para nova versão
a460EmitFunctionReplica o nome do emitente do cheque para as demais parcelasA460LiquidMigrar para nova versão
a460CtaChqFunctionReplica os dados de banco, agencia e conta do cheque para as demais parcelasA460LiquidMigrar para nova versão
a460DataOKFunctionValida a data de vencimento do título não pode ser menor que a data base do sistemaA460LiquidMigrar para o valid do Model
a460ValorFunctionAtualiza o campo valor do título geradoA460Liquid \ a460OK \ a460TudoOK \ A460CondFuncionalidade substituir pela nova tela
A460ChecFFunctionfunção que monta a query para seleção dos títulosA460LiquidMigrar para F460BuscSE1
Fa460DbEvaStaticSugere marcação de título, conforme valor maximoA460LiquidMigrar para nova versão
A460GravaStaticFunção que efetua a gravação das baixas e gera os novos títulosA460LiquidMigrar para Commit, ficar atento a funcionalidade:  If nValor == 0
 
A460YesNoStaticConfirmação da operaçãoA460Liquid \ FA460CANMigrar para F460BuscSE1
A460ExibeFunctionExibe os totais dos títulos selecionadosA460LiquidDeletar função
A460InverteStaticfunção que inverte a marcação dos títulosA460Liquid \ Fa460bAvalMigrar para nova versão
A460CondFunctionfunção que calcula as parcelas conforme condição de pagamentoA460Liquid \ F460ParNegSubstituir pela nova tela
FA460CANFunctionFunção de cancelamentoFINA460 \ MenuDefMigrar para nova versão
A460FCanFunctionComplemento de filtro de deleçãoNão é usado por nenhum fonte nem SX3Deletar função
A460FiltraFunctionChama a função A460CalCanFA460CANMigrar para nova versão
A460CalCanFunctionBusca dados para cancelmento da liquidação na SE5 e valida se os títulos gerados sofreram alguma baixaA460FiltraMigrar para nova versão
A460NaturFunctionValida se a natureza selecionada é validaA460Liquid \ Fa460OK1Migrar para F460BuscSE1
A460VerNumStaticfunção para verificar se o número informado no cheque já existe como numero de título da SE1a460NumChqSubstituir no bloco do commit pela função a460PreNum
A460VerPcStaticFunção para ajustar o numero da parcela, quando já existe a chave selecionada pelo usuárioA460GravaSubstituir no bloco do commit pela função a460VldParc
FA460TipoFunctionValida o tipo de título informadoA460LiquidMigrar para nova versão, Presente no valid do FO0_TIPO
Fa460GerarqStaticFunção que gera o arquivo temporário dos títulos selecionadosA460LiquidMigrar para F460BuscSE1
Fa460ReplFunctionFaz o load na tabela temporária, com os registros selecionadosA460LiquidMigrar para F460BuscSE1
Fa460BarFunctionMostra a EnchoiceBar na tela de seleção de títulos, quando não usa painelA460LiquidDeletar função
Fa460EditStaticTela de edição do registro posicionado na tabela temporária, para alteração de JUROS/MULTA/DESCONTOA460Liquid / Fa460BarSubstituir pela nova tela
Fa460ValStaticFunção que valida os valores digitadosFa460EditSubstituir pela nova tela
Fa460ValOKStaticValidação dos títulos selecionados, se podem ou não serem baixadosFa460EditSubstituir pela nova tela
Fa460PesqStaticTela para pesquisa de títulos na MarkA460Liquid \ Fa460BarUtilizar a pesquisa do MVC na FO1/FO2. Botão Filtrar inserido
Fa460AchaStaticFunção para posicionar no título pesquisado na markFa460PesqDeletar função
Fa460OK1StaticFunção para consistir os campos da tela de seleção de títulosA460LiquidMigrar para F460BuscSE1
Fa460OK2StaticFunção que define o codigo do diário para portugalFA460CAN \ Fa460OK1Funcionalidade sem alterações
F460CMC7FunctionFunção para leitora de chequeA460CondMigrar para nova versão
F460GetChqFunctionEntrada de dados da leitora de chequeF460CMC7Migrar para nova versão
Fa460CTMStaticFunção que efetua a conversão dos valores para a moeda da liquidaçãoFa460EditMigrar para nova versão
F460ParNegFunctionaltera os parametros de negociação, quando usa GEA460LiquidMódulo do GE descontinuado, Deletar função
F460GetJCDFunctionRestaura dado da JCDA460LiquidMódulo do GE descontinuado, Deletar função
NivelSX3FunctionRetorna o nível de um campo no SX3  F460ParNegMódulo do GE descontinuado, função usada no FINA080, Manter função
F460PARCFunctionRetorna a parcela do títuloA460Liquid \ a460NumChq \ A460Grava \ A460VerNumMigrar para nova versão
FIN460ACURFunctionretorna os cursos disponiveis, de acordo a RA selecionada, Usado no GEA460LiquidMódulo do GE descontinuado, Deletar função
Fa460bAvalStaticFunção de validação de marcação de títulos selecionadosA460LiquidMigrar para nova versão
Fa460VisuStaticPermite a visualização de títulos no painel financeiroA460LiquidMigrar para nova versão
Fa460ExcSefStaticExclui cheques de títulos selecionados na liquidaçãoA460GravaMigrar para Commit
F460ConfirmaFunctionConfirma os dados lidos da leitora de chequeF460Cmc7TcMigrar para nova versão
F460Cmc7TcFunctionTela que captura os dados cheques digitadosF460CMC7Migrar para nova versão
MenuDefStatic---
FinA460TFunctionChamada semi-automatica utilizado pelo gestor financeiro  Deletar função
Fa460MotBxStaticfunção para criar motivo de baixa LIQFINA460Funcionalidade sem alterações
F460VldCmpStaticFunção que força cliente de/cliente até serem sempre os mesmos, na integração com a RMA460LiquidFuncionalidade sem alterações e migrar para função FA460BUSCSE1
Fn460ValInFunctionFunção que retorna .T. Deletar função
FA460LiqOkStaticFunção para validação dos títulos selecionado na execautoA460LiquidFuncionalidade sem alterações
F460NATIMPStaticfunção que verifica para quais tributos a combinação cliente/natureza está habilitada a calcularA460Grava \ Fa460ReplSubstituir pela query, estabelecido em conjunto com a manutenção que serão selecionados apenas títulos com o perfil de calculo da natureza e cliente selecionados para geração dos novos títulos
FIN460ACliStaticfunção que lista os clientes disponiveis para negociação, uso exclusivo do GEA460Liquid \ FIN460ACURMódulo do GE descontinuado, Deletar função
fa460CorrFunctionCalcula a correção monetáriaA460GravaMigar para o commit
F460NotINStaticMonta a expressão do NOT IN da query da liquidacao A460ChecFFuncionalidade sem alterações
F460TrbAreaFunctionDetermina a filial para codebaseA460LiquidDeletar função
F460GetTitFunctionFunção que retorna os títulos baixados para a mensagem única 

Migrar para nova versão.

Presente no Commit do Modelo.Necessário testar mensagem única

IntegDefStatic---
F460ChgVarStaticAltera o valor das variáveis INCLUI, ALTERA e EXCLUI, retornando um array
contendo os valores originais, uso exclusivo da Mensagem única
FA460CANFuncionalidade sem alterações
F460RetVarStaticRetorna os valores originais das variáveis INCLUI, ALTERA e EXCLUI, uso exclusivo da mensagem únicaFA460CANFuncionalidade sem alterações

 

Lista de Parâmetros

ParâmetroFunçõesObservações
MV_CMC7FINFINA460\A460CondMantém funcionalidade
MV_CMC7PRTFINA460Mantém funcionalidade
MV_FATOUTA460LiquidMantém funcionalidade
MV_MSGTIMEA460LiquidMantém funcionalidade
MV_JURTIPOA460LiquidMantém funcionalidade
MV_LJINTFSA460LiquidMantém funcionalidade
MV_RMCLASSA460Liquid\A460Grava\Fa460bAval

Mantém funcionalidade

MV_SIMBA460Liquid\A460GravaMantém funcionalidade
MV_NUMLIQA460Liquid\FA460CANMantém funcionalidade
MV_PAISLOCa460OK\a460TudoOK\A460CondMantém funcionalidade
MV_MCUSTOA460GravaDescontinuado, pois não é utilizado no FINA460.
MV_CTBFLAGA460Grava\FA460CANMantém funcionalidade
MV_GRSEFLQA460GravaMantém funcionalidade
MV_SLDBXCRA460GravaMantém funcionalidade
MV_ACNEGOCA460GravaDescontinuado, pertence ao Gestão Educacional (SIGAGE)
MV_JURTIPOFA460CAN\Fa460ReplMantém funcionalidade
MV_LJINTFSFA460CAN\Fa460ReplMantém funcionalidade
MV_1DUPA460VerPc\F460PARCMantém funcionalidade
MV_DESCISSFa460ReplMantém funcionalidade
MV_RMBIBLIFa460bAval

Mantém funcionalidade

MV_CALCCMfa460CorrMantém funcionalidade

 

Lista de Pontos de entrada

 

 


FINA460B - Liquidação a receber

Irá conter a View para executar a leitura de cheques antes da abertura da tela de liquidação, ou seja, quando o parâmetro MV_CMC7FIN = S estiver ativo e a leitora de cheques configurada, quando o usuário clicar no botão liquidar irá apresentar a pergunta:

Deseja utilizar leitora cheque, caso o usuário informe SIM, será executada a função para leitora de cheques antes de abrir a VIEW com os campos de cheques preenchidos, caso contrário a rotina continuará conforme descrito no item FINA460.

Ações:

Os campos abaixo serão preenchidos pela função de leitora de cheques:

CampoConteúdo
FO0_TIPOCom o tipo de título "CH"
FO2_BANCOBanco do cheque

FO2_AGENCI

Agencia do cheque
FO2_CONTAConta do cheque
FO2_NUMCHNúmero do cheque

Os demais serão solicitados ao usuário.

FINA460A - Simulação de liquidação a receber


Criar uma rotina com browse baseada na tabela FO0, conforme o protótipo de dela 01, com as propriedades abaixo: 

Legenda

 

CorDescriçãoCondição
 

Simulação Bloqueada

 

FO0_STATUS = 2 - Bloqueada
 

Simulação Vigente

 

FO0_STATUS = 1 - Ativo e o campo

FO0_DTVALID >= database

 

Simulação Cancelada

FO0_STATUS = 3 - Cancelada
Simulação Vencida

FO0_STATUS = 1 - Ativo e o campo

FO0_DTVALID < database

Simulação Gerada

FO0_STATUS = 4

Simulação Encerrada

FO0_STATUS = 5


Botão Incluir

Incluir uma simulação, irá apresentar os parâmetros iniciais da rotina FINA460, para seleção dos títulos, após preenchimentos dos parâmetros será apresentada o protótipo de tela 02.

Na tela de seleção de título será alterado apenas o título para SIMULAÇÃO DE LIQUIDAÇÃO, deverá usar a mesma função do fonte FINA460, apenas com essa alteração.

Na tela de geração de títulos adicionar o campo DATA VALIDADE, que será replicado para o campo FO0_DTVALID  e o botão EFETIVAR SIMULAÇÃO que irá efetuar liquidação dos títulos selecionados e gerar os novos conforme a simulação.

Ações:

Botão Salvar Simulação irá gravar somente a simulação.

Botão Efetivar Simulação, irá gravar a simulação e gerar a liquidação.

Validações 

A data de validade não poderá ultrapassar o limite definido no parâmetro MV_LMVLDLQ, ou seja, a data de validade não pode ser maior que a data da negociação somados o limite definido no parâmetro.


Botão Alterar 

Irá abrir os protótipos de tela 02, com os dados gravados das tabelas FO0, FO1, FO2, caso o usuário altere as informações será criada uma nova versão nas tabelas envolvidas.

Validações

Não poderão sofrer alteração as simulações: 

StatusCondição

Simulação Bloqueada

 

FO0_STATUS = 2

Simulação Cancelada

FO0_STATUS = 3
Simulação Gerada

FO0_STATUS = 4

Simulação EncerradaFO0_STATUS = 5


Ações:

Ao alterar uma simulação sistema deverá efetuar uma varredura nos títulos selecionados e verificar se houve alteração de saldo, caso ocorra deverá notificar o usuário, informando que houve movimentação dos títulos negociados, se deseja recalcular ou encerrar a simulação.

Se a somatória do saldos dos títulos envolvidos na liquidação for igual a zero, notificar o usuário que não pendencias de recebimentos para essa simulação.

Caso não haja alterações de saldos nos títulos envolvidos ou solicitado recalculo, deverá carregar os dados das telas da liquidação conforme o protótipo 02, para conferencia e/ou manipulação do usuário:

  • Caso o usuário altere e clique novamente em Salvar Simulação, sistema irá gravar uma nova versão.
  • Caso o usuário altere e clique novamente em Efetivar Simulação, sistema irá gravar uma nova versão e efetuar a liquidação normalmente.

Regra Recalculo:

Recalcular os valores de juros e multas, título a título, caso o título esteja com o saldo zero, será retirado do processo de negociação, para gravar o processo o usuário deverá selecionar a opção SALVAR SIMULAÇÃO ou EFETIVAR SIMULAÇÃO.


Botão Efetivar

Irá abrir o protótipo de tela 02, com os dados gravados das tabelas FO0, FO1, FO2, ao confirmar será gravada a liquidação dos títulos selecionados e gerar os novos conforme dados da simulação.

Os campos FO0_STATUS = 4 (gerada) e o campo FO0_NUMLIQ, com número da liquidação gerada.

Caso exista mais de uma versão para o mesmo processo de simulação, as demais simulações terão o campo FO0_STATUS alterado para liquidação 5 - Encerrada.

Antes da alteração de STATUS deverá gravar o conteúdo do campo FO0_STATUS no campo FO0_BKPSTT.

Validações

Todos os campos estarão disponíveis apenas para visualização.

Ações:

Ao alterar uma simulação sistema deverá efetuar uma varredura nos títulos selecionados e verificar se houve alteração de saldo, caso ocorra deverá notificar o usuário, informando que houve movimentação dos títulos negociados, se deseja recalcular ou encerrar a simulação.

Se a somatória do saldos dos títulos envolvidos na liquidação for igual a zero, notificar o usuário que não pendencias de recebimentos para essa simulação.

Caso não haja alterações de saldos nos títulos envolvidos ou solicitado recalculo, deverá carregar os dados das telas da liquidação conforme o protótipo 02, para conferencia e/ou manipulação do usuário.

Recalculo:

Recalcular os valores de juros e multas, título a título, caso o título esteja com o saldo zero, será retirado do processo de negociação, para gravar o processo o usuário deverá selecionar a opção SALVAR.

Botão Visualizar 

Irá apresentar o protótipo de tela 02, para conferência.

Validações

Todos os campos estarão disponíveis apenas para visualização.

Botão Bloquear

Irá apresentar o protótipo de tela 02, para conferência, se o usuário clicar na opção SALVAR, deverá alterar o campo FO0_STATUS para 2 (bloqueado).

Validações

Todos os campos estarão disponíveis apenas para visualização.

Estorno bloqueio

Irá apresentar o protótipo de tela 02, para conferência, se o usuário clicar na opção SALVAR, deverá alterar o campo FO0_STATUS para 1 (Ativo).

Validações

Todos os campos estarão disponíveis apenas para visualização.

Botão Relatório

Irá chamar o relatório FINR460A.

Funções Genéricas.

Função de Gravação.

Ao confirmar uma liquidação serão gravadas as tabelas:

 

FO0 - Cabeçalho da Liquidação

 

CampoConteúdo
FO0_FILIALFilial da Liquidação
FO0_PROCESProcesso Simulação (autonumeração)
FO0_VERSAOVersão da Simulação (autonumeração)
FO0_NUMLIQNúmero da liquidação
FO0_DATAData da Simulação
FO0_DTVALIDData de validade da simulação
FO0_CONDCondição de Pagamento
FO0_TXJURTaxa de Juros informada na tela de negociação de títulos
FO0_TXMUL

Taxa da Multa informada na tela de negociação de títulos

FO0_TXJRGTaxa de Juros informada na tela de geração de títulos
FO0_CLIENTECódigo do cliente utilizado na geração do título
FO0_LOJALoja do cliente utilizado na geração do título
FO0_NATUREZNatureza do título
FO0_STATUS

Status da negociação que poderá ser:

1 - Ativo

2 - Bloqueado

3 - Cancelado

4 - Gerada

5 - Encerrada

FO0_MOEDAMoeda utilizada na geração da simulação
FO0_BKPSTTGravará o status da simulação antes que a liquidação seja efetivada.
FO0_ORIGEMOrigem da simulação.
FO0_TIPOTipo de título utilizado na geração dos novos títulos

 

FO1 - Títulos Selecionados

 

CampoConteúdo
FO1_FILIALFilial da Liquidação
FO1_PROCESProcesso Simulação (FO0_PROCES)
FO1_VERSAOVersão da Simulação (FO0_VERSAO)
FO1_IDDOCIdentificação do título (FK7_IDDOC)
FO1_SALDOSaldo do título na data da negociação
FO1_TXJURTaxa de Juros da negociação
FO1_VLJURValor do Juros calculado
FO1_TXMULTaxa da multa da negociação
FO1_VLMULValor da multa calculada.
FO1_DESCONDesconto informado pelo usuário
FO1_ACRESCSaldo de Acréscimo do título (E1_SDACRES)
FO1_DECRESSaldo de Decréscimo do título (E1_SDDECRE) 
FO1_VLABTValor de Abatimento do título (SomaAbat())
FO1_TOTALResultado do cálculo: FO1_SALDO + FO1_VLMUL + FO1_VLJUR + FO1_ACRESC - FO1_DESCON - FO1_DECRES - FO1_VLABT
FO1_MOEDAMoeda do título (E1_MOEDA)
FO1_TXMOEDTaxa da moeda do título (E1_TXMOED, caso o mesmo esteja em branco deverá preencher com a taxa do dia)
FO1_FILORIFilial do título (E1_FILIAL)

 

FO2 - Títulos Gerados


CampoConteúdo
FO2_FILIALFilial da Liquidação
FO2_PROCESProcesso Simulação (FO0_PROCES)
FO2_VERSAOVersão da Simulação (FO0_VERSAO)
FO2_IDSIMIdentificação do título gerado (FWUUIDV4())
FO2_PREFIXOPrefixo do título
FO2_NUMNúmero do título
FO2_PARCELAParcela do título
FO2_VENCTOVencimento do título
FO2_VALORValor calculado da Parcela
FO2_ACRESCAcréscimo do título
FO2_DECRESCDecréscimo do título
FO2_TXJURTaxa de Juros
FO2_VLJURValor do Juros calculado
FO2_BANCOBanco do cheque

FO2_AGENCI

Agencia do cheque
FO2_CONTAConta do cheque
FO2_NUMCHNúmero do cheque
FO2_EMITENTEmitente do cheque
FO2_TOTALResultado do cálculo: FO2_VALOR + FO2_VLJUR + FO2_ACRESC - FO2_DECRES

 

Gravação de Simulação.

Serão gravados as tabelas FO0, FO1, FO2 com os campos FO0_STATUS= 1 e FO0_NUMLIQ em branco.

Gravação do Versão.

Será gravado uma nova versão da simulação com dados da tela, mantendo o mesmo número de processo (FO0_PROCES) e incrementando apenas o campo FO0_VERSAO, ou seja, será realizada a gravação das tabelas FO0, FO1, FO2 com os dados em tela com o mesmo número do processo alterado, com uma versão diferente.


FINA460LOAD - Funções Genéricas

Na inclusão de uma liquidação ou simulação, alguns campos da tela deverão ser preenchidos conforme os parâmetros preenchidos pelo usuário para seleção dos títulos a serem liquidados, para tal deverá criar funções genéricas de montagem de tela, para fazer o carregamento dos dados das tabelas FO0 e FO1 dos campos reais e virtuais:


FO0 - Cabeçalho da liquidação / Simulação

CampoConteúdo
FO0_PROCESNúmero do processo de simulação auto incremental
FO0_VERSAONúmero da primeira versão auto incremental
FO0_RAZAORazão social do cliente selecionado para geração dos títulos
FO0_CLIENTCódigo do cliente selecionado para geração dos títulos
FO0_LOJALoja do cliente selecionado para geração dos títulos
FO0_NATURENatureza selecionada para geração dos títulos
FO0_MOEDAMoeda selecionada para geração de títulos
FO0_DATAData base da liquidação/simulação
FO0_DTVALIData de validade da simulação
FO0_TXMULTaxa da multa (MV_LJMULTA)
FO0_NUMLIQNúmero da liquidação
FO0_ORIGEMFonte de origem do momento.


FO1 - Títulos Selecionados

CampoConteúdo
FO1_PROCESNúmero do processo de simulação (FO0_PROCES)
FO1_VERSAONúmero da primeira versão (FO0_VERSAO)
FO1_FILORIFilial do título selecionado (E1_FILIAL)
FO1_PREFIXPrefixo do título selecionado (E1_PREFIXO)
FO1_NUMNúmero do título selecionado (E1_NUM)
FO1_PARCELParcela do título selecionado (E1_PARCELA)
FO1_TIPOTipo do título selecionado (E1_TIPO)
FO1_NATURENatureza do título selecionado (E1_NATUREZ)
FO1_CLIENTCliente do título selecionado (E1_CLIENTE)
FO1_LOJALoja do título selecionado (E1_LOJA)
FO1_IDDOCIdentificação do título selecionado (FK7_IDDOC)
FO1_MOEDAMoeda do título selecionado (E1_MOEDA)
FO1_TXMOEDTaxa da moeda selecionada (E1_TXMOED, caso em branco deve considerar a taxa a moeda na SM2)
FO1_EMISEmissão do título selecionado (E1_EMISSAO)
FO1_SALDOSaldo do título selecionado (E1_SALDO)
FO1_VENCREVencimento real do título selecionado (E1_VENCREA)
FO1_BAIXAData de ultima baixa parcial que o título sofreu (E1_BAIXA)
FO1_VLBAIXValor de baixas parciais do título selecionado (E1_VALOR-E1_SALDO)
FO1_HISTHistórico de inclusão do título (E1_HIST)
FO1_TXJURTaxa de Juros do título (E1_PORJUR)
FO1_VLDIATaxa de Permanência do título (E1_VALJUR)
FO1_VLJURValor do juros calculo conforme o percentual de juros e taxa de permanência cobrada por dias de atraso
FO1_TXMULTaxa da multa (FO0_TXMUL)
FO1_VLMULValor de multa aplicada conforme taxa (FO1_TXMUL) caso o título esteja em atraso
FO1_DESCONDesconto do título, quando recebido antes da data de vencimento.
FO1_VLABTAbatimentos listados no título
FO1_ACRESCSaldo do acréscimo do título selecionado
FO1_DECRESSaldo do decréscimo do título selecionado
FO1_VALCVTValor do título convertido na moeda de seleção da liquidação (FO0_MOEDA)
FO1_TOTALResultado do cálculo: FO1_VALCVT+ FO1_VLMUL + FO1_VLJUR + FO1_ACRESC - FO1_DESCON - FO1_DECRES -FO1_VLABT



FINR460A - Relatório de simulação

 

Emitir o relatório baseado nas tabelas FO0, FO1, FO2, conforme protótipo de tela 04, com a estrutura abaixo em formato de paisagem.

 

FO0 X SA1 - Cabeçalho do processo

ColunaConteúdo
ProcessoFO0_PROCES
Condição de PagamentoFO0_COND
Data de NegociaçãoFO0_DATA
Data de ValidadeFO0_DTVALID
VersãoFO0_VERSAO
Número da LiquidaçãoFO0_NUMLIQ
Cliente/LojaFO0_CLIENTE+FO0_LOJA
Nome reduzidoA1_NREDUZ
NaturezaFO0_NATUREZ + ED_DESCRIC

 

FO0, FO1, FK7, SE1 - Títulos selecionados

 

ColunaConteúdo
FilialFO1_FILIAL
Prefixo/Número/Parcela/Tipo E1_PREFIXO/E1_NUMERO/E1_PARCELA/TIPO
ClienteE1_NOMCLI 
NaturezaE1_NATUREZ
VencimentoE1_VENCREA
SaldoFO1_SALDO
Tx. MultaFO1_TXMUL
MultaFO1_VLMUL
Tx. JurosFO1_TXJUR
JurosFO1_VLJUR
AcréscimoFO1_ACRESC
DecréscimoFO1_DECRES
DescontoFO1_DESCON
AbatimentoFO1_VLABT
Valor totalFO1_TOTAL

 

FO0, FO2 - Títulos Gerados

ColunaConteúdo
FilialFO2_FILIAL
PrefixoFO2_PREFIXO
NúmeroFO2_NUM
ParcelaFO2_PARCELA
Tipo

FO2_TIPO

VencimentoFO2_VENCTO
Valor CalculadoFO2_VALOR
Tx. JurosFO2_TXJUR
JurosFO2_VLJUR
AcréscimoFO2_ACRESC
DecréscimoFO2_DECRES
Valor da ParcelaFO2_TOTAL

 

Relacionamento entre as Tabelas

 

TabelasChave de relacionamento
FO0 X SA1FO0_CLIENTE+FO0_LOJA  = A1_COD + A1_LOJA
FO0 X SEDFO0_NATUREZ = ED_CODIGO
FO0 X FO1FO0_PROCES + FO0_VERSAO = FO1_PROCES + FO1_VERSAO
FO0 X FO2FO0_PROCES + FO0_VERSAO = FO2_PROCES + FO2_VERSAO
FO1 X FK7FO1_IDDOC = FK7_IDDOC
FK7 X SE1

E1_FILIAL + E1_PREFIXO + E1_NUM + E1_PARCELA + E1_TIPO

E1_FORNECE + E1_LOJA = FK7_CHAVE

 

O relatório será quebrado por processo de negociação, divididos em três sessões (FO0, FO1, FO2), irá buscar dados conforme grupo de perguntas FINR460A, demonstrado no protótipo de tela 03.

 

PerguntaConteúdo
Data de Negociação deInício do range de data de negociação (FO0_DATA)
Data de Negociação atéFinal do range de data de negociação (FO0_DATA)
Data de Validade deInício do range das datas de validade (FO0_VENCTO)
Data de Validade atéFinal do range das datas de validade (FO0_VENCTO)
Cliente deInício do range de cliente utilizado para geração dos títulos negociados (FO0_CLIENTE)
Cliente atéFinal do range de cliente utilizado para geração dos títulos negociados (FO0_CLIENTE)
Loja deInício do range de loja de clientes utilizado para geração dos títulos negociados (FO0_LOJA)
Loja atéFinal do range de loja de clientes utilizado para geração dos títulos negociados (FO0_LOJA)
Considera negociações

Define se irá trazer apenas as simulações pendentes de liquidação, as já liquidadas ou ambas.

1 = Pendentes de Liquidação (FO0_STATUS = 1 Ativo)

2 = Liquidadas (FO0_STATUS = 4 Gerado e FO0_NUMLIQ preenchidas)

3 = Ambos

Seleciona Filiais

1 = Sim, 2 = Não

Usar a função AdmSelecFil , para retornar as filiais.

 

Tabelas Utilizadas

  • FK1 - Baixas a Receber
  • SE1 - Contas a Receber
  • SED - Naturezas
  • SA1 - Clientes
  • FK6 - Valores acessórios
  • FO0 - Cabeçalho da Simulação
  • FO1 - Títulos Negociados
  • FO2 - Títulos gerados

Opcional

Protótipo de Tela

  

Protótipo de tela 01

 Protótipo de tela 02



Protótipo de Tela 03


Protótipo de Tela 04



 

...