Pular para o conteúdo principal

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 fazDetalhe
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​

TelaDescriçãoImpacto
FNC001Parâmetros FinanceirosConfiguração direta do campo
MFC019Reparcelamento de FinanciamentoExige o parâmetro configurado; usa para gravar histórico nas novas parcelas e validar ativo

Campos envolvidos​

CampoTabelaTipoObservação
CD_HISTREPARCELAMENTOPARMFINANCINTEGERFK → HISTORICO.CD_HISTORICO (RPARMFINANC_HISTREPARCELAMENTO)
CD_HISTREPARCPAGARPARMFINANCINTEGERFK → HISTORICO.CD_HISTORICO — equivalente para contas a pagar. Parametro irmão na mesma tela FNC001, aba Financeiro 1.
CD_HISTJUROFINANCPARMFINANCINTEGERHistórico de juro do financiamento original (usado junto para excluir do rateio)
CD_HISTCAPJUROPARMFINANCINTEGERHistórico de capitalização de juro (usado junto para excluir do rateio)
CD_HISTJUROMORAPARMFINANCINTEGERHistórico de juro de mora (usado junto para excluir do rateio)

Simulação passo a passo (configuração na FNC001)​

  1. Acesse FNC001 — Parâmetros Financeiros.
  2. Na aba Financeiro 1, localize o campo Hist. de Juro de Reparcelamento de Financiamento.
  3. Posicione o cursor no campo e pressione <F9>.
  4. 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".
  5. Clique em OK para importar o código.
  6. 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​

  1. Acesse a tela MFC019 — Reparcelamento de Financiamento.
  2. Selecione um ou mais documentos de origem.
  3. Informe o número de parcelas desejado e demais campos.
  4. Clique em Salvar.
  5. Se CD_HISTREPARCELAMENTO nã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.

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​

  1. Em FNC001, informe um código de histórico que existe na tabela HISTORICO, porém com ST_ATIVO = 'N'.
  2. Salve os parâmetros (a FNC001 não valida o ativo no OnValidate apenas a presença, mas a validação ocorre em runtime).
  3. Em MFC019, execute o reparcelamento com juro (VL_JURO > 0).
  4. A rotina gravaReparcelamento (UdmMFC019) verifica o status do histórico.
  5. 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:

  1. Carrega o parâmetro CD_HISTREPARCELAMENTO + status ativo do histórico.
  2. Se VL_JURO > 0 e o tipo de conta não for 'CP' ou 'AC':
    • Exige que o campo esteja informado.
    • Exige que o histórico esteja ativo.
  3. Grava o histórico em cada nova conta gerada.

Procedures / Rotinas impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoPapel
edtCD_HISTREPARCELAMENTOKeyDownsource/FNC001/UFNC001.pas:853Busca <F9> na tabela HISTORICODUPLICATAS
tabPARMFINANCCD_HISTREPARCELAMENTOValidatesource/FNC001/UdmFNC001.pas:635Valida existência, ativo, tipo e natureza do histórico
TfrmMFC019.ASalvarExecutesource/MFC019/UMFC019.pas:302Bloqueia reparcelamento se parâmetro não configurado
TdmMFC019.calculaJurosOrigemsource/MFC019/UdmMFC019.pas:411Soma juros de parcelas cujo histórico é CD_HISTJUROFINANC ou CD_HISTREPARCELAMENTO
TdmMFC019.gravaReparcelamentosource/MFC019/UdmMFC019.pas:527Carrega e valida o parâmetro antes de gravar parcelas

Referências SQL diretas ao campo​

ScriptArquivoPapel
PROCESSA_REPARCELAMENTOScripts/PROCESSA_REPARCELAMENTO.sql:67Exclui do rateio contas com este histórico
CONTABILIZA_REPARCELAMENTOScripts/CONTABILIZA_REPARCELAMENTO.sql:118Busca conta contábil para estorno de juro
GERA_INTEGRACAOScripts/GERA_INTEGRACAO.sql:216Carrega parâmetro para integração de reparcelamento
GERA_INTEGRACAOFISCALScripts/GERA_INTEGRACAOFISCAL.sql:161Carrega 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.