CD_HISTPROVPERDA - Complemento Provisao para Perda
Tela de configuracao: FNC001 — Parametros Financeiros
Localizacao: Aba "Financeiro 3"
Tabela:PARMFINANC.CD_HISTPROVPERDA
Tipo:INTEGER(FK →HISTORICO.CD_HISTORICO)
Componente:editCD_HISTPROVPERDA(DBEdit)
Descricao curta: Codigo do Historico padrao usado na Provisao para Perda (PP).
Tela de configuracao
| Tela | Nome | Caminho conhecido |
|---|---|---|
| FNC001 | PARMFINANC | Financeiro → Parametros Financeiros → Aba "Financeiro 3" |
Telas e processos impactados
- FNC001 — PARMFINANC (tela de cadastro do parametro)
- MFC034 — Parametros de Provisao / Perda (usa o valor ao registrar provisoes de perdas)
- GERA_MOVTOCONTABIL (procedure SQL) — usa o historico para gerar lancamentos contabeis da provisao
- Processos de baixa e contabilizacao que consultam
PARMFINANC.CD_HISTPROVPERDA
Campos envolvidos
| Campo | Tabela | Tipo | Chave |
|---|---|---|---|
CD_HISTPROVPERDA | PARMFINANC | INTEGER | FK → HISTORICO.CD_HISTORICO |
DS_HISTPROVPERDA | PARMFINANC | VARCHAR (descricao lookup) | Campo descricao exibido ao lado do codigo |
DS_COMPLEMENTOPROV | PARMFINANC | VARCHAR | Texto complementado com variaveis (%H, %D, %V, %P) |
Campos da tabela HISTORICO usados na validacao
| Campo | Tabela | Regra aplicada |
|---|---|---|
CD_HISTORICO | HISTORICO | Chave primaria — deve existir |
ST_ATIVO | HISTORICO | Deve ser 'S' |
TP_HISTORICO | HISTORICO | Deve ser 'U' (Duplicata) |
TP_NATUREZA | HISTORICO | Lido, mas nao validado explicitamente |
DS_HISTORICO | HISTORICO | Descricao gravada no campo DS_HISTPROVPERDA |
Procedures impactadas
Rotinas Delphi com referencia direta ao parametro
| Rotina | Arquivo | Evidencia |
|---|---|---|
editCD_HISTPROVPERDAXKeyDown | source/FNC001/UFNC001.pas:1292 | F9 busca HISTORICODUPLICATAS e preenche codigo e descricao |
tabPARMFINANCCD_HISTPROVPERDAValidate | source/FNC001/UdmFNC001.pas:1007 | Valida exist, ST_ATIVO e TP_HISTORICO='U' |
TfrmMFC034.btnConfirmarClick | source/MFC034/UMFC034.pas:1144 | icd_histaux := iCD_HISTPROVPERDA na provisao (TP_OPERACAO='PP') |
TfrmMFC034.gera_movimentoInverso | source/MFC034/UMFC034.pas:1765 | icd_histaux := iCD_HISTPROVPERDA no movimento inverso de provisao |
Imprime_Relatorio | source/MFC034/UdmMFC034.pas:144 | Recebe parametro para impressao |
Busca_Parametros | source/MFC034/UdmMFC034.pas:166 | Le P.CD_HISTPROVPERDA dos parametros |
TdmMFC034.tabTOTALDS_OPERACAOValidate | source/MFC034/UdmMFC034.pas:280 | icd_histaux := iCD_HISTPROVPERDA |
Scripts SQL — referencias diretas ao campo
| Procedure | Evidencia |
|---|---|
GERA_MOVTOCONTABIL (Scripts/GERA_MOVTOCONTABIL.sql:66, :811, :823) | Declara V_CD_HISTPROVPERDA, le de PARMFINANC e usa para definir o complemento do lancamento contabil |
Candidatas por uso da tabela PARMFINANC
As rotinas abaixo leem PARMFINANC mas nao referenciam CD_HISTPROVPERDA diretamente. Validar antes de afirmar impacto:
CALCULA_CAPITAL, CALCULA_JURO, CALCULA_JUROMORA, CALCULA_JUROMORA_RFC019, CANCELA_CONTAS, CONTABILIZA_REPARCELAMENTO, CONTROLE_CAIXA, ESTORNA_MOVTOCAIXA, EXECUTA_PROCESSO, GERA_DUPLICATAS, GERA_INTEGRACAO, GERA_INTEGRACAOFISCAL, GRAVA_CHEQUECARTAO, GRAVA_CONTAS, GRAVA_MOVTOCAIXA, GRAVA_MOVTOCAIXAINDIVIDUAL, GRAVA_MOVTOPROCESSO, GRAVA_PROCESSOSMART, PROCESSA_FATURA, PROCESSA_REPARCELAMENTO.
Opcoes disponiveis
| O que faz | Detalhe |
|---|---|
Campo editavel (edit) | O usuario pode digitar um codigo de historico ou buscar com <F9>. |
FK para HISTORICO | So aceita codigos existentes na tabela HISTORICO. |
| Validacao obrigatória | Exige ST_ATIVO = 'S' e TP_HISTORICO = 'U' (Duplicata). |
| Exibe descricao | O campo DS_HISTPROVPERDA e preenchido automaticamente pelo lookup. |
Valor informado (Historico valido)
Simulacao passo a passo
- Acesse FNC001 — Parametros Financeiros.
- Abra a aba "Financeiro 3".
- Localize o campo "Complemento" —
CD_HISTPROVPERDA(provisao para perda). - Clique no campo ou pressione
<Tab>ate alcancalo. - Pressione
<F9>para abrir a busca de Historicos de Duplicata (HISTORICODUPLICATAS). - Selecione um historico Ativo e do Tipo Duplicata (ex: codigo
50— "Provisao para Perdas"). - O sistema preenche automaticamente a descricao ao lado do codigo.
- Salve os parametros (clique no botao Salvar ou pressione
<Ctrl+S>).
Resultado esperado: O codigo 50 e gravado em PARMFINANC.CD_HISTPROVPERDA. Nos processos de provisao para perda (MFC034 e GERA_MOVTOCONTABIL), esse historico sera usado para classificar os lancamentos contabeis de PP e o complemento padrao sera DS_COMPLEMENTOPROV.
Excecao / Importante: Se o historico selecionado for desativado posteriormente na tabela
HISTORICO(ST_ATIVO = 'N'), a proxima edicao do parametro em FNC001 nao permitira salvar — o sistema exibe: "O Historico nao esta Ativo!".
Campo vazio (Nenhum historico definido)
| O que faz | Detalhe |
|---|---|
| Deixa o campo em branco ao salvar | Nenhum codigo e gravado (NULL) |
| Sem impacto no salvamento | A validacao so roda quando o campo tem valor |
Simulacao passo a passo
- Acesse FNC001 — Parametros Financeiros.
- Abra a aba "Financeiro 3".
- Deixe o campo "Complemento" (
CD_HISTPROVPERDA) em branco — use<Del>se necessarios. - Salve os parametros.
Resultado esperado: CD_HISTPROVPERDA fica NULL. Processos de provisao (MFC034, GERA_MOVTOCONTABIL) podem lancar sem historico padrao ou usar logica alternativa.
Importante: Operacoes de provisao de perda em MFC034 podem lancar sem historico definido ou usar fallback. Consulte a documentacao da MFC034 para comportamento quando o parametro nao esta preenchido.
Regras de validacao detalhadas
O metodo tabPARMFINANCCD_HISTPROVPERDAValidate (em UdmFNC001.pas:1007) executa as seguintes verificacoes no OnValidate do field:
- Existencia —
SELECT CD_HISTORICO FROM HISTORICO WHERE CD_HISTORICO = ?— se nao encontrar: "Historico nao cadastrado! [TCB003]" - Ativo —
ST_ATIVO <> 'S'— se inativo: "O Historico nao esta Ativo! [TCB003]" - Tipo —
TP_HISTORICO <> 'U'— se nao for Duplicata: "O Tipo do Historico deve ser do Tipo Duplicata! [TCB003]"
Quando passa nas tres verificacoes, DS_HISTPROVPERDA e preenchido com DS_HISTORICO.
Uso em Geracao de Lancamento Contabil
Na procedure GERA_MOVTOCONTABIL (linhas 821-824 do script):
IF (:V_CD_HISTPERDA = :V_CD_HISTORICO) THEN
I_DS_COMPLEMENTO = V_DS_COMPLEMENTOPROV;
ELSE IF (:V_CD_HISTPROVPERDA = :V_CD_HISTORICO) THEN
I_DS_COMPLEMENTO = V_DS_COMPLEMENTOPER;
O historico de provisao para perda (CD_HISTPROVPERDA) serve como criterio para decidir qual texto de (DS_COMPLEMENTOPER) usar no lancamento contabil gerado.
Uso em Provisao (MFC034)
Em MFC034, quando a operacao e "P" (Provisao):
O historico configurado em CD_HISTPROVPERDA e usado como historico contabil e o complemento DS_COMPLEMENTOPROV e aplicados no registro de provisao na tabela PROVISAOCONTAS.
Tabela comparativa resumida
| Aspecto | Comportamento |
|---|---|
| Editavel | Sim (DBEdit) |
| Busca | <F9> → HISTORICODUPLICATAS |
| Obrigatorio | Nao (pode ser NULL) |
| FK | HISTORICO.CD_HISTORICO |
| Validacao | Existencia, ST_ATIVO='S', TP_HISTORICO='U' |
| Descricao auto-preenchida | Sim (DS_HISTPROVPERDA) |
| Tela de uso | MFC034 (Provisao de Perdas) |
| Processos impactados | GERA_MOVTOCONTABIL, MFC034 (btnConfirmarClick, gera_movimentoInverso) |
| Complemento associado | DS_COMPLEMENTOPROV (texto com variaveis %H, %D, %V, %P) |