Pular para o conteúdo principal

ST_GERAMOVINVERSOPROVPERDA — Gerar Movimento Inverso de Provisão de Perdas

Tela de configuração: FNC001 — Parâmetros Financeiros
Localização: Parâmetros → Financeiro 3 → chkST_GERAMOVINVERSO
Tabela: PARMFINANC.ST_GERAMOVINVERSOPROVPERDA
Componente: chkST_GERAMOVINVERSO (checkbox)
Valor padrão: N (Desmarcado)


Resumo do comportamento​

O que fazDetalhe
EdiçãoEditável (checkbox)
ObrigatoriedadeNão
PadrãoN (Desmarcado)
Quando atuaDurante o processo de Provisão de Perdas na tela MFC034
Tela de origemFNC001 / PARMFINANC
ImpactoQuando S, gera um movimento inverso de provisão de perdas na tabela PROVISAOCONTAS com o mesmo saldo da conta provisionada.

Telas impactadas​

  • MFC034 — Provisão Financeira/Contábil para Devedores Duvidosos
    O parâmetro é avaliado no momento em que o usuário efetiva a provisão de uma conta em aberto. Se marcado como S, o sistema executa a rotina gera_movimentoInverso e cria um segundo registro inverso vinculado à mesma conta.

Campos envolvidos​

  • PARMFINANC.ST_GERAMOVINVERSOPROVPERDA — flag que habilita/desabilita o movimento inverso.
  • PARMFINANC.CD_HISTPROVPERDA — código do histórico a ser gravado no movimento inverso (configurado em FNC001 — Parâmetros Financeiros, aba Financeiro 3).
  • PARMFINANC.CD_FORMAPAGPROVPERDA — código da forma de pagamento a ser gravada no movimento inverso (configurado em FNC001 — Parâmetros Financeiros, aba Financeiro 3).
  • PARMFINANC.DS_COMPLEMENTOPROV — complemento/descritivo aplicado ao movimento inverso (configurado em FNC001 — Parâmetros Financeiros, aba Financeiro 3).

Opções disponíveis​

S — Marcado​

Simulação passo a passo​

  1. Acesse a tela FNC001 — Parâmetros Financeiros.
  2. Abra a aba Financeiro 3.
  3. Localize o campo "Gerar Movimento inverso de Provisão de Perdas" e marque-o.
  4. Configure também os campos relacionados obrigatórios para o movimento inverso:
    • Histórico de Provisão de Perda (CD_HISTPROVPERDA);
    • Forma de Pagto. da Provisão (CD_FORMAPAGPROVPERDA);
    • Complemento da Provisão (DS_COMPLEMENTOPROV).
  5. Salve o registro (Ctrl+S ou botão Gravar).
  6. Acesse a tela MFC034 — Provisão Financeira/Contábil para Devedores Duvidosos.
  7. Informe os filtros (empresa, tipo de conta, etc.) e localize uma conta em aberto com saldo de R$ 1.000,00 (exemplo).
  8. Informe o valor ou percentual de provisão (ex.: 100%) e confirme a operação (F9 ou botão Confirmar).

Resultado esperado:
Além da provisão normal, o sistema cria automaticamente um registro inverso na tabela PROVISAOCONTAS, vinculado à mesma conta (CD_EMPCONTAS, NR_LANCTOCONTAS, CD_PESSOACONTA, CD_TIPOCONTAC, NR_PARCELACONTA), porém com:

  • ST_INVERSO = 'S'
  • CD_OPERACAO = 'PP'
  • VL_DOCUMENTO igual ao saldo provisionado da conta (ex.: R$ 1.000,00).

Exceção / Importante:
Se o parâmetro ST_INTEGRACAO da tabela PARMCONTABIL estiver configurado como 'A' (configurado em TFA008 — Autorizador ou verificar TABELA PARMCONTABIL), o movimento inverso será automaticamente integrado ao contábil através da procedure GERA_INTEGRACAO. Caso a integração falhe, o sistema interrompe a transação e exibe a mensagem de erro retornada.


N — Desmarcado (padrão)​

Simulação passo a passo​

  1. Acesse a tela FNC001 — Parâmetros Financeiros.
  2. Abra a aba Financeiro 3.
  3. Localize o campo "Gerar Movimento inverso de Provisão de Perdas" e desmarque-o.
  4. Salve o registro.
  5. Acesse a tela MFC034 e execute uma provisão para uma conta em aberto (ex.: cliente A, produto X, saldo R$ 500,00).

Resultado esperado:
Somente a provisão principal é gerada na tabela PROVISAOCONTAS. Nenhum movimento inverso é criado. O saldo da conta é provisionado normalmente, mas não há registro complementar com ST_INVERSO = 'S'.


Procedures impactadas​

Rotinas Delphi (referência direta ao campo)​

RotinaArquivoLinhaEvidência
TfrmMFC034.gera_movimentoInversosource/MFC034/UMFC034.pas1758if iST_GERAMOVINVERSOPROVPERDA = 'S' then
TdmMFC034.Busca_Parametrossource/MFC034/UdmMFC034.pas157Carrega ST_GERAMOVINVERSOPROVPERDA da tabela PARMFINANC

SQL / Scripts​

Nenhuma referência direta ao campo ST_GERAMOVINVERSOPROVPERDA foi encontrada em scripts do diretório Scripts/. O comportamento é implementado exclusivamente via código Delphi (rotina gera_movimentoInverso), que insere o registro inverso diretamente na tabela PROVISAOCONTAS via comando INSERT dinâmico.

Candidatas por uso da tabela PARMFINANC​

As procedures/views a seguir utilizam a tabela PARMFINANC, mas não citam o campo ST_GERAMOVINVERSOPROVPERDA literalmente:

  • 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, GERA_MOVTOCONTABIL
  • GRAVA_CHEQUECARTAO, GRAVA_CONTAS, GRAVA_MOVTOCAIXA
  • GRAVA_MOVTOCAIXAINDIVIDUAL, GRAVA_MOVTOPROCESSO, GRAVA_PROCESSOSMART, PROCESSA_FATURA

Portanto, não foi identificado impacto funcional direto dessas rotinas sobre este parâmetro.


Regra Geral de Autorização​

Sem impacto direto identificado no código quanto a autorizadores específicos para este parâmetro. O comportamento depende apenas do valor S/N armazenado em PARMFINANC.