CD_HISTREPARCELAMENTO - Histórico de Juro de Reparcelamento
Tela de configuração: FNC001 — Parâmetros Financeiros
Localização: Aba Financeiro 1
Tabela:PARMFINANC.CD_HISTREPARCELAMENTO
Tipo:INTEGER(FK →HISTORICO.CD_HISTORICO)
Label na tela:Hist. de Juro de Reparcelamento de Financiamento
Valor padrão: Não possui (campo opcional na tela, porém exigido em runtime por rotinas de reparcelamento)
Resumo
| O que faz | Detalhe |
|---|---|
| Define o Histórico padrão usado para as contas de juro de reparcelamento de financiamento (contas a receber) | O histórico apontado aqui é gravado nas parcelas geradas pelo reparcelamento e utilizado na contabilização/integração fiscal |
Exige histórico do tipo Duplicata (TP_HISTORICO = 'U') e natureza Pagamento (TP_NATUREZA = 'P') | Validação no OnValidate do campo |
Deve estar ativo (ST_ATIVO = 'S') | Se inativo, recusa o preenchimento |
Se não parametrizado, bloqueia o reparcelamento (tela MFC019) | Exceção E-0000 com mensagem: "Hist. de Juro de Reparcelamento de Financiamento não Parametrizado. Verifique! [FNC001]" |
Telas impactadas
| Tela | Descrição | Impacto |
|---|---|---|
| FNC001 | Parâmetros Financeiros | Configuração direta do campo |
| MFC019 | Reparcelamento de Financiamento | Exige o parâmetro configurado; usa para gravar histórico nas novas parcelas e validar ativo |
Campos envolvidos
| Campo | Tabela | Tipo | Observação |
|---|---|---|---|
CD_HISTREPARCELAMENTO | PARMFINANC | INTEGER | FK → HISTORICO.CD_HISTORICO (RPARMFINANC_HISTREPARCELAMENTO) |
CD_HISTREPARCPAGAR | PARMFINANC | INTEGER | FK → HISTORICO.CD_HISTORICO — equivalente para contas a pagar. Parametro irmão na mesma tela FNC001, aba Financeiro 1. |
CD_HISTJUROFINANC | PARMFINANC | INTEGER | Histórico de juro do financiamento original (usado junto para excluir do rateio) |
CD_HISTCAPJURO | PARMFINANC | INTEGER | Histórico de capitalização de juro (usado junto para excluir do rateio) |
CD_HISTJUROMORA | PARMFINANC | INTEGER | Histórico de juro de mora (usado junto para excluir do rateio) |
Simulação passo a passo (configuração na FNC001)
- Acesse FNC001 — Parâmetros Financeiros.
- Na aba Financeiro 1, localize o campo Hist. de Juro de Reparcelamento de Financiamento.
- Posicione o cursor no campo e pressione
<F9>. - Na janela de busca HISTORICODUPLICATAS, selecione um histórico cadastrado com:
ST_ATIVO = 'S'TP_HISTORICO = 'U'(Duplicata)TP_NATUREZA = 'P'(Pagamento)- Exemplo: histórico
120— "Juro de Reparcelamento".
- Clique em OK para importar o código.
- Clique em Salvar.
Resultado esperado: O código do histórico é persistido em PARMFINANC.CD_HISTREPARCELAMENTO para a empresa logada e passa a ser usado pelo reparcelamento (MFC019) e pela contabilização de reparcelamento.
Exceção / Importante: Se o usuário digitar um código manualmente e esse código:
- Não existir na tabela
HISTORICO→ erro:"Histórico não cadastrado! [TCB003]"- Estiver inativo → erro:
"O Histórico não está Ativo! [TCB003]"- Não for tipo Duplicata → erro:
"O Tipo do Histórico deve ser do Tipo Duplicata! [TCB003]"- Não tiver natureza Pagamento → erro:
"A Natureza do Histórico deve ser Pagamento! [TCB003]"
Simulação passo a passo — reparcelamento (MFC019) sem o parâmetro
- Acesse a tela MFC019 — Reparcelamento de Financiamento.
- Selecione um ou mais documentos de origem.
- Informe o número de parcelas desejado e demais campos.
- Clique em Salvar.
- Se
CD_HISTREPARCELAMENTOnão estiver configurado em FNC001:- O sistema exibe:
"Hist. de Juro de Reparcelamento de Financiamento não Parametrizado. Verifique! [FNC001]" - O reparcelamento não é executado.
- O sistema exibe:
Resultado esperado: O usuário é obrigado a configurar o parâmetro em FNC001 antes de reparcelar.
Simulação passo a passo — reparcelamento com histórico inativo
- Em FNC001, informe um código de histórico que existe na tabela
HISTORICO, porém comST_ATIVO = 'N'. - Salve os parâmetros (a FNC001 não valida o ativo no
OnValidateapenas a presença, mas a validação ocorre em runtime). - Em MFC019, execute o reparcelamento com juro (
VL_JURO > 0). - A rotina
gravaReparcelamento(UdmMFC019) verifica o status do histórico. - Se inativo:
"O Hist. de Juro de Reparcelamento de Financiamento não Está Ativo. Verifique! [TCB003]"
Resultado esperado: Reparelamento bloqueado até que o histórico seja ativado ou substituído por outro válido.
Comportamento nas rotinas internas
PROCESSA_REPARCELAMENTO (script SQL)
Exclui do rateio por histórico as linhas cujo CD_HISTORICO coincide com CD_HISTREPARCELAMENTO (além de CD_HISTJUROFINANC, CD_HISTCAPJURO, CD_HISTJUROMORA). Isso evita duplicidade com os juros embutidos no acordo.
Se o rateio (após a exclusão) resultar em 0 históricos válidos, o script aborta:
"PROCESSA_REPARCELAMENTO: O Histórico da Conta de Origem é igual a um dos Históricos de Reparcelamento. Verifique!"
CONTABILIZA_REPARCELAMENTO (script SQL)
Usa o parâmetro para buscar a conta contábil de crédito do histórico de reparcelamento e montar o lançamento de estorno do juro capitalizado.
Se o parâmetro não estiver configurado:
"Histórico de Reparcelamento não Cadastrado ! [FNC001]"
Se a conta contábil (CD_CONTACREDITO) não estiver cadastrada no histórico:
"Conta de Crédito do Histórico de Reparcelamento não Cadastrado ! [FNC001]"
GERA_INTEGRACAO e GERA_INTEGRACAOFISCAL (scripts SQL)
Carregam o parâmetro na abertura do script (SELECT ... INTO V_CD_HISTREPARCELAMENTO) e o usam na lógica que decide se a conta de reparcelamento deve ou não gerar integração contábil/fiscal quando ST_REPARCELAMENTO = 'S'.
UdmMFC019.gravaReparcelamento (Delphi — MFC019)
Antes de gravar as novas parcelas do reparcelamento, a rotina:
- Carrega o parâmetro
CD_HISTREPARCELAMENTO+ status ativo do histórico. - Se
VL_JURO > 0e o tipo de conta não for 'CP' ou 'AC':- Exige que o campo esteja informado.
- Exige que o histórico esteja ativo.
- Grava o histórico em cada nova conta gerada.
Procedures / Rotinas impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Papel |
|---|---|---|
edtCD_HISTREPARCELAMENTOKeyDown | source/FNC001/UFNC001.pas:853 | Busca <F9> na tabela HISTORICODUPLICATAS |
tabPARMFINANCCD_HISTREPARCELAMENTOValidate | source/FNC001/UdmFNC001.pas:635 | Valida existência, ativo, tipo e natureza do histórico |
TfrmMFC019.ASalvarExecute | source/MFC019/UMFC019.pas:302 | Bloqueia reparcelamento se parâmetro não configurado |
TdmMFC019.calculaJurosOrigem | source/MFC019/UdmMFC019.pas:411 | Soma juros de parcelas cujo histórico é CD_HISTJUROFINANC ou CD_HISTREPARCELAMENTO |
TdmMFC019.gravaReparcelamento | source/MFC019/UdmMFC019.pas:527 | Carrega e valida o parâmetro antes de gravar parcelas |
Referências SQL diretas ao campo
| Script | Arquivo | Papel |
|---|---|---|
PROCESSA_REPARCELAMENTO | Scripts/PROCESSA_REPARCELAMENTO.sql:67 | Exclui do rateio contas com este histórico |
CONTABILIZA_REPARCELAMENTO | Scripts/CONTABILIZA_REPARCELAMENTO.sql:118 | Busca conta contábil para estorno de juro |
GERA_INTEGRACAO | Scripts/GERA_INTEGRACAO.sql:216 | Carrega parâmetro para integração de reparcelamento |
GERA_INTEGRACAOFISCAL | Scripts/GERA_INTEGRACAOFISCAL.sql:161 | Carrega parâmetro para integração fiscal de reparcelamento |
Candidatas por uso da tabela PARMFINANC (sem referência literal ao campo)
Estas procedures leem a tabela PARMFINANC mas não citam CD_HISTREPARCELAMENTO literalmente. Podem usar via SELECT * ou podem não ter impacto. Validar caso a caso se necessário.
CALCULA_CAPITAL, CALCULA_JURO, CALCULA_JUROMORA, CALCULA_JUROMORA_RFC019, CANCELA_CONTAS, CONTROLE_CAIXA, ESTORNA_MOVTOCAIXA, EXECUTA_PROCESSO, GERA_DUPLICATAS, GERA_MOVTOCONTABIL, GRAVA_CHEQUECARTAO, GRAVA_CONTAS, GRAVA_MOVTOCAIXA, GRAVA_MOVTOCAIXAINDIVIDUAL, GRAVA_MOVTOPROCESSO, GRAVA_PROCESSOSMART, PROCESSA_FATURA, RECALCULA_SALDOCAIXACONTA, REPROCESSA_COMPLEMENTOS, REPROCESSA_COMPLEMENTOSPROCESSO.