Pular para o conteúdo principal

CD_HISTREPARCPAGAR - Histórico Juro/Desconto de Repagamento a Pagar

Tela de configuração: FNC001 — Parâmetros Financeiros
Aba: Financeiro 1 — Dados do Parâmetro
Campo: edtCD_HISTREPARCPAGAR (TDBEdit editável)
Tabela: PARMFINANC.CD_HISTREPARCPAGAR (DOM_INTEGER)
Valor padrão: Definido por busca (retorno.getParam(0)) via <F9>.

Descrição CD_HISTREPARCPAGAR armazena o código do histórico contábil que será utilizado como padrão nas operações de reparcelamento de contas a pagar (reestruturação de dívidas da empresa com fornecedores, bancos ou outros credores). Quando o departamento financeiro repactua prazos/conteúdo de títulos a pagar, esse histórico é lançado automaticamente nas novas parcelas geradas.

O campo é uma chave estrangeira para a tabela HISTORICO (CD_HISTORICO).

Telas impactadas​

TelaDescriçãoImpacto
FNC001Parâmetros FinanceirosConfiguração do parâmetro
MFC019Repagendamento Financeiro (Financeiro > Movimentações > Repagendamento)Usa CD_HISTREPARCPAGAR para contas a pagar ('CP', 'AC') com juros

Opções detectadas​

Este campo não apresenta um conjunto fixo de opções como S/N/T. É um campo numérico (INTEGER) que armazena o código de um histórico cadastrado na tabela HISTORICO. A opção disponível é:

O que fazDetalhe
Informa um código de histórico válidoRequer <F9> para buscar na tabela HISTORICO (filtro 'R' — natureza Recebimento) ou digitação direta. O código informado é validado na gravação.

Simulação passo a passo​

  1. Acesse FNC001 — Parâmetros Financeiros.
  2. Na aba Financeiro 1, localize o campo Cód. Histórico de Juro Repagamento A Pagar (CD_HISTREPARCPAGAR).
  3. Pressione <F9> ou clique na lupa para abrir a consulta.
  4. Selecione na lista de históricos disponíveis o item desejado (filtro por natureza de Recebimento 'R').
  5. Salve o parâmetro.

Resultado esperado: O código selecionado é gravado em PARMFINANC.CD_HISTREPARCPAGAR. Uma validação confirma que o histórico existe, está ativo, tem TP_NATUREZA = 'R' e TP_HISTORICO <> 'U'.

Se o usuário digitar um código manualmente e sair do campo (perder o foco), a mesma validação é executada automaticamente.

Exceção / Importante — Validações obrigatórias: O código informado deve atender a todas as condições abaixo (validação tabPARMFINANCCD_HISTREPARCPAGARValidate):

CondiçãoRegraMensagem
ExistênciaDeve existir em HISTORICO (CD_HISTORICO)W-0000: Histórico não cadastrado! [TCB003]
Situação ativoHISTORICO.ST_ATIVO <> 'N'W-0000: O Histórico não está Ativo! [TCB003]
Tipo de históricoHISTORICO.TP_HISTORICO <> 'U'W-0000: O Histórico não pode ser Histórico de Contrapartida! [TCB003]
NaturezaHISTORICO.TP_NATUREZA = 'R' (Recebimento)W-0000: A Natureza do Histórico deve ser Recebimento! [TCB003]
Diferente do DescontoCD_HISTREPARCPAGAR <> CD_HISTDESCE-0000: O Histórico de Desconto de Fatura Deverá ser Diferente do Historico de Desconto

CD_HISTDESC é outro parâmetro configurado na mesma tela FNC001 — aba Financeiro 1.

Exceção / Importante — Relação com ST_ATIVO: Mesmo após a configuração, se o histórico for desativado em sua tabela de origem (TCB003 — Cadastro de Histórico), o sistema exibirá erro ao tentar utilizá-lo no reparcelamento (MFC019): E-0000: Hist. [código]: Hist. de Juro Repagamento a Pagar não Está Ativo. Verifique! [TCB003].

Uso em reparcelamento (MFC019)​

Na rotina gravaReparcelamento (tela MFC019), CD_HISTREPARCPAGAR é consultado para contas a pagar:

CenárioComportamento
Conta a pagar (TP_TIPOCONTA = 'CP') ou ações a cobrar ('AC') com jurosUsa CD_HISTREPARCPAGAR como histórico na geração das novas parcelas a pagar.
Conta a receber (TP_TIPOCONTA <> 'CP') com jurosUsa CD_HISTREPARCELAMENTO (parâmetro diferente).

Fluxo:

  1. Acesse MFC019 — Repagendamento Financeiro.
  2. Selecione o título a ser repactado (fornecedor).
  3. Informe novos prazos/valores com juros.
  4. Confirme a operação.

Resultado esperado: O sistema usa CD_HISTREPARCPAGAR como histórico nas parcelas reestruturadas a pagar. Se o campo não estiver preenchido em PARMFINANC, o sistema bloqueia a operação: E-0000: O Hist. de Juro de Repagamento de Financiamento não Informado. Verifique! [FNC001].

Exceção / Importante: A validação de preenchimento ocorre quando há valor de juros (VL_JURO > 0) na operação de reparcelamento. Se não houver juros, o histórico não é obrigatório.

Uso em integração fiscal (GERA_INTEGRACAO)​

A procedure GERA_INTEGRACAO utiliza CD_HISTREPARCPAGAR na comparação de histórico contábil durante a geração da integração:

COALESCE(
iif(:I_TP_TIPOCONTA = 'CR', :V_CD_HISTREPARCELAMENTO, :V_CD_HISTREPARCPAGAR), -1
) = :V_CD_HISTORICO
  • Se I_TP_TIPOCONTA = 'CR' (conta a receber): usa CD_HISTREPARCELAMENTO.
  • Caso contrário (conta a pagar): usa CD_HISTREPARCPAGAR.

Quando ST_REPARCELAMENTO = 'S', o sistema compara o histórico da conta com o parâmetro configurado.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoEvidência
edtCD_HISTREPARCPAGARKeyDownsource/FNC001/UFNC001.pas:1221Busca <F9>: HISTORICODUPLICATAS com filtro 'R'
tabPARMFINANCCD_HISTREPARCPAGARValidatesource/FNC001/UdmFNC001.pas:871Validação: existência, ativo, tipo, natureza
TdmMFC019.gravaReparcelamento (indireta)source/MFC019/UdmMFC019.pas:532Consulta: P.CD_HISTREPARCPAGAR, HRP.ST_ATIVO

Referências SQL diretas ao campo​

Procedure/ViewArquivoEvidência
GERA_INTEGRACAOScripts/GERA_INTEGRACAO.sql:216SELECT P.CD_HISTREPARCELAMENTO, P.CD_HISTREPARCPAGAR FROM PARMFINANC P
GERA_INTEGRACAOScripts/GERA_INTEGRACAO.sql:946COALESCE(iif(:I_TP_TIPOCONTA = 'CR', :V_CD_HISTREPARCELAMENTO, :V_CD_HISTREPARCPAGAR), -1) = :V_CD_HISTORICO

Candidatas por uso da tabela PARMFINANC​

As rotinas abaixo acessam PARMFINANC mas não citam CD_HISTREPARCPAGAR literalmente. Validar antes de afirmar impacto funcional direto.

Procedure/ViewArquivoEvidência
CALCULA_CAPITALScripts/CALCULA_CAPITAL.sql:25FROM PARMFINANC PF
CALCULA_JUROScripts/CALCULA_JURO.sql:23FROM PARMFINANC PF
CALCULA_JUROMORAScripts/CALCULA_JUROMORA.sql:40LEFT JOIN PARMFINANC PF ON (PF.CD_EMPRESA = C.CD_EMPRESA)
CALCULA_JUROMORA_RFC019Scripts/CALCULA_JUROMORA_RFC019.sql:33LEFT JOIN PARMFINANC PF ON (PF.CD_EMPRESA = C.CD_EMPRESA)
CANCELA_CONTASScripts/CANCELA_CONTAS.sql:57PARMFINANC.ST_ESTORNO, CONTAS.ST_BOLETO, ...
CONTABILIZA_REPARCELAMENTOScripts/CONTABILIZA_REPARCELAMENTO.sql:35FROM PARMFINANC PF
CONTROLE_CAIXAScripts/CONTROLE_CAIXA.sql:21FROM PARMFINANC
ESTORNA_MOVTOCAIXAScripts/ESTORNA_MOVTOCAIXA.sql:58FROM PARMFINANC P
EXECUTA_PROCESSOScripts/EXECUTA_PROCESSO.sql:80FROM PARMFINANC P
GERA_DUPLICATASScripts/GERA_DUPLICATAS.sql:63FROM PARMFINANC PF
GERA_INTEGRACAOFISCALScripts/GERA_INTEGRACAOFISCAL.sql:162FROM PARMFINANC P
GERA_MOVTOCONTABILScripts/GERA_MOVTOCONTABIL.sql:536FROM PARMFINANC P
GRAVA_CHEQUECARTAOScripts/GRAVA_CHEQUECARTAO.sql:137FROM PARMFINANC P
GRAVA_CONTASScripts/GRAVA_CONTAS.sql:216FROM PARMFINANC P
GRAVA_MOVTOCAIXAScripts/GRAVA_MOVTOCAIXA.sql:222INNER JOIN PARMFINANC F ON (F.CD_EMPRESA = P.CD_EMPRESA)
GRAVA_MOVTOCAIXAINDIVIDUALScripts/GRAVA_MOVTOCAIXAINDIVIDUAL.sql:62FROM PARMFINANC P
GRAVA_MOVTOPROCESSOScripts/GRAVA_MOVTOPROCESSO.sql:276FROM PARMFINANC PF
GRAVA_PROCESSOSMARTScripts/GRAVA_PROCESSOSMART.sql:182FROM PARMFINANC PF
PROCESSA_FATURAScripts/PROCESSA_FATURA.sql:208FROM PARMFINANC PF
PROCESSA_REPARCELAMENTOScripts/PROCESSA_REPARCELAMENTO.sql:63LEFT JOIN PARMFINANC PF ON (PF.CD_EMPRESA = CH.CD_EMPRESA)

Tabela comparativa resumida​

ContextoHistórico usadoCondição
Reparcelamento a receberCD_HISTREPARCELAMENTOI_TP_TIPOCONTA = 'CR'
Reparcelamento a pagarCD_HISTREPARCPAGARI_TP_TIPOCONTA <> 'CR' ('CP', 'AC')
Integração de reparcelamentoCD_HISTREPARCPAGARI_TP_TIPOCONTA <> 'CR' e V_ST_REPARCELAMENTO = 'S'

Referências relacionadas​

ParâmetroDescriçãoTela
CD_HISTREPARCELAMENTOHistórico de Repagamento a ReceberFNC001 — aba Financeiro 1
CD_HISTDESCHistórico de Desconto de FaturaFNC001 — aba Financeiro 1
ST_REPARCELAEMPRESAPermite reparcelamento por empresaFNC001 — aba Financeiro 1