Histórico da Página
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 Receber | Criação | Atualizações -> Contas a Receber -> Simulação de Liquidação | - |
FINA460B - Liquidação a Receber | Criação | Não se aplica | - |
FINA460LOAD - Funções Genéricas | Criação | Não se aplica | - |
FINR460A - Acordos de liquidação | Criação | Relatórios -> Contas a Receber -> Acordos de Liquidação | - |
FINA740 - Funções de Contas a Receber | Alteração | Atualizações -> Contas a Receber -> Funções de Receber | - |
FINXBX - Funções Genéricas | Alteração | Nã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:
- Seleção de dados (tela inicial);
- Montagem do arquivo temporário, com dados coletados da seleção de títulos;
- 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_FILIAL | Filial da Liquidação |
FO0_PROCES | Processo Simulação (autonumeração) |
FO0_VERSAO | Versão da Simulação (autonumeração) |
FO0_NUMLIQ | Número da liquidação |
FO0_DATA | Data da Simulação |
FO0_DTVALID | Data de validade da simulação |
FO0_COND | Condição de Pagamento |
FO0_TXJUR | Taxa 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_TXJRG | Taxa de Juros informada na tela de geração de títulos |
FO0_CLIENTE | Código do cliente utilizado na geração do título |
FO0_LOJA | Loja do cliente utilizado na geração do título |
FO0_RAZAO | Razão social do cliente selecionado para geração dos títulos (Virtual) |
FO0_NATUREZ | Natureza do título |
FO0_STATUS | Status da negociação que poderá ser: 1 - Ativo 2 - Bloqueado 3 - Cancelado 4 - Gerada 5 - Encerrada |
FO0_MOEDA | Moeda utilizada na geração da simulação |
FO0_BKPSTT | Gravará o status da simulação antes que a liquidação seja efetivada. |
FO0_ORIGEM | Origem da simulação. |
FO0_TIPO | Tipo 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çalho | Correspondente |
---|---|
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_FILIAL | Filial da Liquidação |
FO1_PROCES | Processo Simulação (FO0_PROCES) |
FO1_VERSAO | Versão da Simulação (FO0_VERSAO) |
FO1_IDDOC | Identificação do título (FK7_IDDOC) |
FO1_FILORI | Filial do título selecionado (Virtual) |
FO1_PREFIX | Prefixo do título selecionado (Virtual) |
FO1_NUM | Número do título selecionado (Virtual) |
FO1_PARCEL | Parcela do título selecionado (Virtual) |
FO1_TIPO | Tipo do título selecionado (Virtual) |
FO1_NATURE | Natureza do título selecionado (Virtual) |
FO1_CLIENT | Cliente do título selecionado (Virtual) |
FO1_LOJA | Loja do título selecionado (Virtual) |
FO1_EMIS | Emissão do título selecionado (Virtual) |
FO1_VENCRE | Vencimento real do título selecionado (Virtual) |
FO1_BAIXA | Data de ultima baixa parcial que o título sofreu (Virtual) |
FO1_VLBAIX | Valor de baixas parciais do título selecionado (Virtual) |
FO1_HIST | Histórico de inclusão do título (Virtual)) |
FO1_SALDO | Saldo do título na data da negociação |
FO1_TXJUR | Taxa de Juros da negociação |
FO1_VLJUR | Valor do Juros calculado |
FO1_TXMUL | Taxa da multa da negociação |
FO1_VLMUL | Valor da multa calculada. |
FO1_DESCON | Desconto informado pelo usuário |
FO1_ACRESC | Saldo de Acréscimo do título (E1_SDACRES) |
FO1_DECRES | Saldo de Decréscimo do título (E1_SDDECRE) |
FO1_VLABT | Valor de Abatimento do título (SomaAbat()) |
FO1_TOTAL | Resultado do cálculo: FO1_VALCVT+ FO1_VLMUL + FO1_VLJUR + FO1_ACRESC - FO1_DESCON - FO1_DECRES -FO1_VLABT |
FO1_MOEDA | Moeda do título (E1_MOEDA) |
FO1_TXMOED | Taxa da moeda do título (E1_TXMOED, caso o mesmo esteja em branco deverá preencher com a taxa do dia) |
FO1_VALCVT | Saldo 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
Campo | Ação | Obrigatório | Editável |
---|---|---|---|
FO2_FILIAL | Filial da Liquidação | - | - |
FO2_PROCES | Processo Simulação (FO0_PROCES) | - | - |
FO2_VERSAO | Versão da Simulação (FO0_VERSAO) | - | - |
FO2_IDSIM | Identificação do título gerado (FWUUIDV4()) | - | - |
FO2_PREFIXO | Informado pelo usuário, deverá ser replicado para todos os títulos gerados | Sim | Sim |
FO2_NUM | Número do título informado pelo usuário, deverá ser replicado para todos os títulos gerados | Sim | Sim |
FO2_PARCELA | Parcela do título, será replicado para todos os títulos sempre incrementando 1 (MV_1DUP) | Sim | Sim |
FO2_VENCTO | Data calculada, conforme condição de pagamento. | Sim | Sim |
FO2_VALOR | Valor calculado conforme a condição de pagamento listado pelo usuário | Sim | Sim |
FO2_TXJUR | Percentual de juros, será replicado com o % Juros do cabeçalho da tela | Não | Sim |
FO2_VLJUR | Juros calculado pela função LojxRJur(), baseado na data de vencimento e % de Juros | Não | Não |
FO2_ACRESC | Acréscimo do título informado pelo usuário | Não | Sim |
FO2_DECRESC | Decréscimo do título informado pelo usuário | Não | Sim |
FO2_TOTAL | Resultado do cálculo dos campos: Valor da Parcela + Juros + Acréscimo - Decréscimo | Sim | Não |
FO2_BANCO | Banco do cheque informado pelo usuário | Não | Sim |
FO2_AGENCI | Agencia do cheque informado pelo usuário | Não | Sim |
FO2_CONTA | Número da conta do cheque informado pelo usuário | Não | Sim |
FO2_NUMCH | Número do cheque informado pelo usuário | Não | Sim |
FO2_EMITENT | Campo iniciará com o Nome reduzido do cliente | Não | Sim |
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ção | Tipo | Funcionalidade | Chama em | Ocorrência |
A460Liquid | Function | Função principal para liquidação e reliquidação | FINA460 \ MenuDef | Migrar |
A460Cli | Static | Valida dados dos cliente selecionado pelo usuário na primeira tela de parâmetros da rotina | A460Liquid | Migrar para F460BuscSE1 |
a460OK | Function | função de validação do acols dos títulos gerados | A460Liquid | Migrar para nova versão |
a460TudoOK | Function | função de validação do acols dos títulos gerados | A460Liquid | Migrar para nova versão |
a460NumChq | Function | Numera cheques automaticamente , seguindo a sequencia do primeiro | A460Liquid | Migrar para nova versão |
a460Emit | Function | Replica o nome do emitente do cheque para as demais parcelas | A460Liquid | Migrar para nova versão |
a460CtaChq | Function | Replica os dados de banco, agencia e conta do cheque para as demais parcelas | A460Liquid | Migrar para nova versão |
a460DataOK | Function | Valida a data de vencimento do título não pode ser menor que a data base do sistema | A460Liquid | Migrar para o valid do Model |
a460Valor | Function | Atualiza o campo valor do título gerado | A460Liquid \ a460OK \ a460TudoOK \ A460Cond | Funcionalidade substituir pela nova tela |
A460ChecF | Function | função que monta a query para seleção dos títulos | A460Liquid | Migrar para F460BuscSE1 |
Fa460DbEva | Static | Sugere marcação de título, conforme valor maximo | A460Liquid | Migrar para nova versão |
A460Grava | Static | Função que efetua a gravação das baixas e gera os novos títulos | A460Liquid | Migrar para Commit, ficar atento a funcionalidade: If nValor == 0 |
A460YesNo | Static | Confirmação da operação | A460Liquid \ FA460CAN | Migrar para F460BuscSE1 |
A460Exibe | Function | Exibe os totais dos títulos selecionados | A460Liquid | Deletar função |
A460Inverte | Static | função que inverte a marcação dos títulos | A460Liquid \ Fa460bAval | Migrar para nova versão |
A460Cond | Function | função que calcula as parcelas conforme condição de pagamento | A460Liquid \ F460ParNeg | Substituir pela nova tela |
FA460CAN | Function | Função de cancelamento | FINA460 \ MenuDef | Migrar para nova versão |
A460FCan | Function | Complemento de filtro de deleção | Não é usado por nenhum fonte nem SX3 | Deletar função |
A460Filtra | Function | Chama a função A460CalCan | FA460CAN | Migrar para nova versão |
A460CalCan | Function | Busca dados para cancelmento da liquidação na SE5 e valida se os títulos gerados sofreram alguma baixa | A460Filtra | Migrar para nova versão |
A460Natur | Function | Valida se a natureza selecionada é valida | A460Liquid \ Fa460OK1 | Migrar para F460BuscSE1 |
A460VerNum | Static | função para verificar se o número informado no cheque já existe como numero de título da SE1 | a460NumChq | Substituir no bloco do commit pela função a460PreNum |
A460VerPc | Static | Função para ajustar o numero da parcela, quando já existe a chave selecionada pelo usuário | A460Grava | Substituir no bloco do commit pela função a460VldParc |
FA460Tipo | Function | Valida o tipo de título informado | A460Liquid | Migrar para nova versão, Presente no valid do FO0_TIPO |
Fa460Gerarq | Static | Função que gera o arquivo temporário dos títulos selecionados | A460Liquid | Migrar para F460BuscSE1 |
Fa460Repl | Function | Faz o load na tabela temporária, com os registros selecionados | A460Liquid | Migrar para F460BuscSE1 |
Fa460Bar | Function | Mostra a EnchoiceBar na tela de seleção de títulos, quando não usa painel | A460Liquid | Deletar função |
Fa460Edit | Static | Tela de edição do registro posicionado na tabela temporária, para alteração de JUROS/MULTA/DESCONTO | A460Liquid / Fa460Bar | Substituir pela nova tela |
Fa460Val | Static | Função que valida os valores digitados | Fa460Edit | Substituir pela nova tela |
Fa460ValOK | Static | Validação dos títulos selecionados, se podem ou não serem baixados | Fa460Edit | Substituir pela nova tela |
Fa460Pesq | Static | Tela para pesquisa de títulos na Mark | A460Liquid \ Fa460Bar | Utilizar a pesquisa do MVC na FO1/FO2. Botão Filtrar inserido |
Fa460Acha | Static | Função para posicionar no título pesquisado na mark | Fa460Pesq | Deletar função |
Fa460OK1 | Static | Função para consistir os campos da tela de seleção de títulos | A460Liquid | Migrar para F460BuscSE1 |
Fa460OK2 | Static | Função que define o codigo do diário para portugal | FA460CAN \ Fa460OK1 | Funcionalidade sem alterações |
F460CMC7 | Function | Função para leitora de cheque | A460Cond | Migrar para nova versão |
F460GetChq | Function | Entrada de dados da leitora de cheque | F460CMC7 | Migrar para nova versão |
Fa460CTM | Static | Função que efetua a conversão dos valores para a moeda da liquidação | Fa460Edit | Migrar para nova versão |
F460ParNeg | Function | altera os parametros de negociação, quando usa GE | A460Liquid | Módulo do GE descontinuado, Deletar função |
F460GetJCD | Function | Restaura dado da JCD | A460Liquid | Módulo do GE descontinuado, Deletar função |
NivelSX3 | Function | Retorna o nível de um campo no SX3 | F460ParNeg | Módulo do GE descontinuado, função usada no FINA080, Manter função |
F460PARC | Function | Retorna a parcela do título | A460Liquid \ a460NumChq \ A460Grava \ A460VerNum | Migrar para nova versão |
FIN460ACUR | Function | retorna os cursos disponiveis, de acordo a RA selecionada, Usado no GE | A460Liquid | Módulo do GE descontinuado, Deletar função |
Fa460bAval | Static | Função de validação de marcação de títulos selecionados | A460Liquid | Migrar para nova versão |
Fa460Visu | Static | Permite a visualização de títulos no painel financeiro | A460Liquid | Migrar para nova versão |
Fa460ExcSef | Static | Exclui cheques de títulos selecionados na liquidação | A460Grava | Migrar para Commit |
F460Confirma | Function | Confirma os dados lidos da leitora de cheque | F460Cmc7Tc | Migrar para nova versão |
F460Cmc7Tc | Function | Tela que captura os dados cheques digitados | F460CMC7 | Migrar para nova versão |
MenuDef | Static | - | - | - |
FinA460T | Function | Chamada semi-automatica utilizado pelo gestor financeiro | Deletar função | |
Fa460MotBx | Static | função para criar motivo de baixa LIQ | FINA460 | Funcionalidade sem alterações |
F460VldCmp | Static | Função que força cliente de/cliente até serem sempre os mesmos, na integração com a RM | A460Liquid | Funcionalidade sem alterações e migrar para função FA460BUSCSE1 |
Fn460ValIn | Function | Função que retorna .T. | Deletar função | |
FA460LiqOk | Static | Função para validação dos títulos selecionado na execauto | A460Liquid | Funcionalidade sem alterações |
F460NATIMP | Static | função que verifica para quais tributos a combinação cliente/natureza está habilitada a calcular | A460Grava \ Fa460Repl | Substituir 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 |
FIN460ACli | Static | função que lista os clientes disponiveis para negociação, uso exclusivo do GE | A460Liquid \ FIN460ACUR | Módulo do GE descontinuado, Deletar função |
fa460Corr | Function | Calcula a correção monetária | A460Grava | Migar para o commit |
F460NotIN | Static | Monta a expressão do NOT IN da query da liquidacao | A460ChecF | Funcionalidade sem alterações |
F460TrbArea | Function | Determina a filial para codebase | A460Liquid | Deletar função |
F460GetTit | Function | Funçã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 | |
IntegDef | Static | - | - | - |
F460ChgVar | Static | Altera o valor das variáveis INCLUI, ALTERA e EXCLUI, retornando um array contendo os valores originais, uso exclusivo da Mensagem única | FA460CAN | Funcionalidade sem alterações |
F460RetVar | Static | Retorna os valores originais das variáveis INCLUI, ALTERA e EXCLUI, uso exclusivo da mensagem única | FA460CAN | Funcionalidade sem alterações |
Lista de Parâmetros
Parâmetro | Funções | Observações |
MV_CMC7FIN | FINA460\A460Cond | Mantém funcionalidade |
MV_CMC7PRT | FINA460 | Mantém funcionalidade |
MV_FATOUT | A460Liquid | Mantém funcionalidade |
MV_MSGTIME | A460Liquid | Mantém funcionalidade |
MV_JURTIPO | A460Liquid | Mantém funcionalidade |
MV_LJINTFS | A460Liquid | Mantém funcionalidade |
MV_RMCLASS | A460Liquid\A460Grava\Fa460bAval | Mantém funcionalidade |
MV_SIMB | A460Liquid\A460Grava | Mantém funcionalidade |
MV_NUMLIQ | A460Liquid\FA460CAN | Mantém funcionalidade |
MV_PAISLOC | a460OK\a460TudoOK\A460Cond | Mantém funcionalidade |
MV_MCUSTO | A460Grava | Descontinuado, pois não é utilizado no FINA460. |
MV_CTBFLAG | A460Grava\FA460CAN | Mantém funcionalidade |
MV_GRSEFLQ | A460Grava | Mantém funcionalidade |
MV_SLDBXCR | A460Grava | Mantém funcionalidade |
MV_ACNEGOC | A460Grava | Descontinuado, pertence ao Gestão Educacional (SIGAGE) |
MV_JURTIPO | FA460CAN\Fa460Repl | Mantém funcionalidade |
MV_LJINTFS | FA460CAN\Fa460Repl | Mantém funcionalidade |
MV_1DUP | A460VerPc\F460PARC | Mantém funcionalidade |
MV_DESCISS | Fa460Repl | Mantém funcionalidade |
MV_RMBIBLI | Fa460bAval | Mantém funcionalidade |
MV_CALCCM | fa460Corr | Manté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:
Campo | Conteúdo |
---|---|
FO0_TIPO | Com o tipo de título "CH" |
FO2_BANCO | Banco do cheque |
FO2_AGENCI | Agencia do cheque |
FO2_CONTA | Conta do cheque |
FO2_NUMCH | Nú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
Cor | Descrição | Condiçã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:
Status | Condição |
Simulação Bloqueada
| FO0_STATUS = 2 |
Simulação Cancelada | FO0_STATUS = 3 |
Simulação Gerada | FO0_STATUS = 4 |
Simulação Encerrada | FO0_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.
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
Campo | Conteúdo |
---|---|
FO0_FILIAL | Filial da Liquidação |
FO0_PROCES | Processo Simulação (autonumeração) |
FO0_VERSAO | Versão da Simulação (autonumeração) |
FO0_NUMLIQ | Número da liquidação |
FO0_DATA | Data da Simulação |
FO0_DTVALID | Data de validade da simulação |
FO0_COND | Condição de Pagamento |
FO0_TXJUR | Taxa 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_TXJRG | Taxa de Juros informada na tela de geração de títulos |
FO0_CLIENTE | Código do cliente utilizado na geração do título |
FO0_LOJA | Loja do cliente utilizado na geração do título |
FO0_NATUREZ | Natureza do título |
FO0_STATUS | Status da negociação que poderá ser: 1 - Ativo 2 - Bloqueado 3 - Cancelado 4 - Gerada 5 - Encerrada |
FO0_MOEDA | Moeda utilizada na geração da simulação |
FO0_BKPSTT | Gravará o status da simulação antes que a liquidação seja efetivada. |
FO0_ORIGEM | Origem da simulação. |
FO0_TIPO | Tipo de título utilizado na geração dos novos títulos |
FO1 - Títulos Selecionados
Campo | Conteúdo |
---|---|
FO1_FILIAL | Filial da Liquidação |
FO1_PROCES | Processo Simulação (FO0_PROCES) |
FO1_VERSAO | Versão da Simulação (FO0_VERSAO) |
FO1_IDDOC | Identificação do título (FK7_IDDOC) |
FO1_SALDO | Saldo do título na data da negociação |
FO1_TXJUR | Taxa de Juros da negociação |
FO1_VLJUR | Valor do Juros calculado |
FO1_TXMUL | Taxa da multa da negociação |
FO1_VLMUL | Valor da multa calculada. |
FO1_DESCON | Desconto informado pelo usuário |
FO1_ACRESC | Saldo de Acréscimo do título (E1_SDACRES) |
FO1_DECRES | Saldo de Decréscimo do título (E1_SDDECRE) |
FO1_VLABT | Valor de Abatimento do título (SomaAbat()) |
FO1_TOTAL | Resultado do cálculo: FO1_SALDO + FO1_VLMUL + FO1_VLJUR + FO1_ACRESC - FO1_DESCON - FO1_DECRES - FO1_VLABT |
FO1_MOEDA | Moeda do título (E1_MOEDA) |
FO1_TXMOED | Taxa da moeda do título (E1_TXMOED, caso o mesmo esteja em branco deverá preencher com a taxa do dia) |
FO1_FILORI | Filial do título (E1_FILIAL) |
FO2 - Títulos Gerados
Campo | Conteúdo |
---|---|
FO2_FILIAL | Filial da Liquidação |
FO2_PROCES | Processo Simulação (FO0_PROCES) |
FO2_VERSAO | Versão da Simulação (FO0_VERSAO) |
FO2_IDSIM | Identificação do título gerado (FWUUIDV4()) |
FO2_PREFIXO | Prefixo do título |
FO2_NUM | Número do título |
FO2_PARCELA | Parcela do título |
FO2_VENCTO | Vencimento do título |
FO2_VALOR | Valor calculado da Parcela |
FO2_ACRESC | Acréscimo do título |
FO2_DECRESC | Decréscimo do título |
FO2_TXJUR | Taxa de Juros |
FO2_VLJUR | Valor do Juros calculado |
FO2_BANCO | Banco do cheque |
FO2_AGENCI | Agencia do cheque |
FO2_CONTA | Conta do cheque |
FO2_NUMCH | Número do cheque |
FO2_EMITENT | Emitente do cheque |
FO2_TOTAL | Resultado 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
Campo | Conteúdo |
---|---|
FO0_PROCES | Número do processo de simulação auto incremental |
FO0_VERSAO | Número da primeira versão auto incremental |
FO0_RAZAO | Razão social do cliente selecionado para geração dos títulos |
FO0_CLIENT | Código do cliente selecionado para geração dos títulos |
FO0_LOJA | Loja do cliente selecionado para geração dos títulos |
FO0_NATURE | Natureza selecionada para geração dos títulos |
FO0_MOEDA | Moeda selecionada para geração de títulos |
FO0_DATA | Data base da liquidação/simulação |
FO0_DTVALI | Data de validade da simulação |
FO0_TXMUL | Taxa da multa (MV_LJMULTA) |
FO0_NUMLIQ | Número da liquidação |
FO0_ORIGEM | Fonte de origem do momento. |
FO1 - Títulos Selecionados
Campo | Conteúdo |
---|---|
FO1_PROCES | Número do processo de simulação (FO0_PROCES) |
FO1_VERSAO | Número da primeira versão (FO0_VERSAO) |
FO1_FILORI | Filial do título selecionado (E1_FILIAL) |
FO1_PREFIX | Prefixo do título selecionado (E1_PREFIXO) |
FO1_NUM | Número do título selecionado (E1_NUM) |
FO1_PARCEL | Parcela do título selecionado (E1_PARCELA) |
FO1_TIPO | Tipo do título selecionado (E1_TIPO) |
FO1_NATURE | Natureza do título selecionado (E1_NATUREZ) |
FO1_CLIENT | Cliente do título selecionado (E1_CLIENTE) |
FO1_LOJA | Loja do título selecionado (E1_LOJA) |
FO1_IDDOC | Identificação do título selecionado (FK7_IDDOC) |
FO1_MOEDA | Moeda do título selecionado (E1_MOEDA) |
FO1_TXMOED | Taxa da moeda selecionada (E1_TXMOED, caso em branco deve considerar a taxa a moeda na SM2) |
FO1_EMIS | Emissão do título selecionado (E1_EMISSAO) |
FO1_SALDO | Saldo do título selecionado (E1_SALDO) |
FO1_VENCRE | Vencimento real do título selecionado (E1_VENCREA) |
FO1_BAIXA | Data de ultima baixa parcial que o título sofreu (E1_BAIXA) |
FO1_VLBAIX | Valor de baixas parciais do título selecionado (E1_VALOR-E1_SALDO) |
FO1_HIST | Histórico de inclusão do título (E1_HIST) |
FO1_TXJUR | Taxa de Juros do título (E1_PORJUR) |
FO1_VLDIA | Taxa de Permanência do título (E1_VALJUR) |
FO1_VLJUR | Valor do juros calculo conforme o percentual de juros e taxa de permanência cobrada por dias de atraso |
FO1_TXMUL | Taxa da multa (FO0_TXMUL) |
FO1_VLMUL | Valor de multa aplicada conforme taxa (FO1_TXMUL) caso o título esteja em atraso |
FO1_DESCON | Desconto do título, quando recebido antes da data de vencimento. |
FO1_VLABT | Abatimentos listados no título |
FO1_ACRESC | Saldo do acréscimo do título selecionado |
FO1_DECRES | Saldo do decréscimo do título selecionado |
FO1_VALCVT | Valor do título convertido na moeda de seleção da liquidação (FO0_MOEDA) |
FO1_TOTAL | Resultado 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
Coluna | Conteúdo |
---|---|
Processo | FO0_PROCES |
Condição de Pagamento | FO0_COND |
Data de Negociação | FO0_DATA |
Data de Validade | FO0_DTVALID |
Versão | FO0_VERSAO |
Número da Liquidação | FO0_NUMLIQ |
Cliente/Loja | FO0_CLIENTE+FO0_LOJA |
Nome reduzido | A1_NREDUZ |
Natureza | FO0_NATUREZ + ED_DESCRIC |
FO0, FO1, FK7, SE1 - Títulos selecionados
Coluna | Conteúdo |
---|---|
Filial | FO1_FILIAL |
Prefixo/Número/Parcela/Tipo | E1_PREFIXO/E1_NUMERO/E1_PARCELA/TIPO |
Cliente | E1_NOMCLI |
Natureza | E1_NATUREZ |
Vencimento | E1_VENCREA |
Saldo | FO1_SALDO |
Tx. Multa | FO1_TXMUL |
Multa | FO1_VLMUL |
Tx. Juros | FO1_TXJUR |
Juros | FO1_VLJUR |
Acréscimo | FO1_ACRESC |
Decréscimo | FO1_DECRES |
Desconto | FO1_DESCON |
Abatimento | FO1_VLABT |
Valor total | FO1_TOTAL |
FO0, FO2 - Títulos Gerados
Coluna | Conteúdo |
---|---|
Filial | FO2_FILIAL |
Prefixo | FO2_PREFIXO |
Número | FO2_NUM |
Parcela | FO2_PARCELA |
Tipo | FO2_TIPO |
Vencimento | FO2_VENCTO |
Valor Calculado | FO2_VALOR |
Tx. Juros | FO2_TXJUR |
Juros | FO2_VLJUR |
Acréscimo | FO2_ACRESC |
Decréscimo | FO2_DECRES |
Valor da Parcela | FO2_TOTAL |
Relacionamento entre as Tabelas
Tabelas | Chave de relacionamento |
---|---|
FO0 X SA1 | FO0_CLIENTE+FO0_LOJA = A1_COD + A1_LOJA |
FO0 X SED | FO0_NATUREZ = ED_CODIGO |
FO0 X FO1 | FO0_PROCES + FO0_VERSAO = FO1_PROCES + FO1_VERSAO |
FO0 X FO2 | FO0_PROCES + FO0_VERSAO = FO2_PROCES + FO2_VERSAO |
FO1 X FK7 | FO1_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.
Pergunta | Conteúdo |
---|---|
Data de Negociação de | Iní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 de | Início do range das datas de validade (FO0_VENCTO) |
Data de Validade até | Final do range das datas de validade (FO0_VENCTO) |
Cliente de | Iní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 de | Iní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
...