Pular para o conteúdo principal

ST_REPARCELAMENTOAUTO - Reparcelamento Automático

Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 1 Tabela: PARMFATUR.ST_REPARCELAMENTOAUTO Tipo: Checkbox (S = Marcado / N = Desmarcado) Valor padrão: N

Telas impactadas​

TelaRotinaEfeito
MNF033Gera_NotaFiscalAutomaticoQuando geradas 2 notas no faturamento automático de embarque, dispara o reparcelamento automático dos títulos

Campos envolvidos​

CampoTabelaDescrição
ST_REPARCELAMENTOAUTOPARMFATURIndica se o reparcelamento deve ser aberto automaticamente após geração de duas NFs

Opções disponíveis​

N - Desmarcado (Padrão)​

O que fazDetalhe
Não abre reparcelamento automáticoQuando o faturamento automático gera duas notas, o reparcelamento não é executado

Simulação passo a passo​

  1. Acesse MFA001 → Parâmetros de Faturamento → Opção 1.
  2. Deixe o checkbox "Reparcelamento Automático [MNF033]" desmarcado.
  3. Salve os parâmetros.
  4. Na tela MNF033, processe um embarque com 2 notas fiscais e condição de pagamento a prazo.
  5. O sistema gera as notas e os parcelamentos normalmente, sem abrir a tela de reparcelamento.

Resultado esperado: O reparcelamento automático não é executado; os títulos são gerados conforme o parcelamento original da condição de pagamento.


S - Marcado​

O que fazDetalhe
Abre reparcelamento automático ao gerar 2 notasExecuta a função reparcelamento() após a geração das duas NFs no faturamento automático de embarque
Exige condição de pagamento a prazo ou vencimento digitado com data futuraA condição de pagamento deve ser tipo P (a prazo) ou tipo D (digite o vencimento) com data superior à data atual

Simulação passo a passo​

  1. Acesse MFA001 → Parâmetros de Faturamento → Opção 1.
  2. Marque o checkbox "Reparcelamento Automático [MNF033]".
  3. Salve os parâmetros.
  4. Na tela MNF033, processe um embarque de um cliente que resulte em 2 notas fiscais com condição de pagamento a prazo.
  5. Após a geração das duas NFs, o sistema executa automaticamente o reparcelamento dos títulos desse cliente para o embarque.

Resultado esperado: Os títulos gerados pelas duas notas são automaticamente reparcelados (procedures PROCESSA_REPARCELAMENTO / CONTABILIZA_REPARCELAMENTO), unificando ou redistribuindo os vencimentos conforme a lógica do reparcelamento.

Exceção / Importante:

  • O reparcelamento automático só ocorre quando são geradas exatamente 2 notas no embarque (ResultadoOrdem[0] = 2). Para 1 nota, o sistema gera apenas o parcelamento normal via gera_Parcelamento.
  • Se a condição de pagamento for à vista e o tipo não for P nem D com data futura, o reparcelamento não será disparado, mesmo com o parâmetro marcado.
  • Se ocorrer erro no reparcelamento, o sistema faz rollback do savepoint REPARCELAMENTO, grava o erro no embarque, mas as notas continuam salvas no sistema. A tela do caixa não será aberta em caso de erro.

Regra de negócio​

O fluxo dentro de Gera_NotaFiscalAutomatico (MNF033) segue esta lógica:

  1. Processa a nota fiscal via GERA_NOTAFISCALPEDIDO.
  2. Consulta a ordem de carregamento para obter a quantidade de notas geradas.
  3. Se 1 nota: executa apenas o parcelamento normal (gera_Parcelamento).
  4. Se 2 notas e ST_REPARCELAMENTOAUTO = 'S' e condição de pagamento a prazo ou vencimento futuro: executa reparcelamento() dentro de um savepoint, permitindo rollback em caso de erro sem afetar as notas já gravadas.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoDescrição
TdmMFA001.tabPARMFATURAfterInsertsource/MFA001/UdmMFA001.pasInicializa o campo com valor padrão 'N' ao inserir novo registro em PARMFATUR
TdmMNF033.Gera_NotaFiscalAutomaticosource/MNF033/UdmMNF033.pasVerifica ST_REPARCELAMENTOAUTO = 'S' para disparar reparcelamento automático após geração de 2 NFs
reparcelamento (função)source/MNF033/UdmMNF033.pasFunção que executa o reparcelamento dos títulos do embarque

Referências SQL diretas ao campo​

Nenhuma procedure/view SQL referencia diretamente o campo ST_REPARCELAMENTOAUTO. O acesso ao parâmetro ocorre exclusivamente via camada Delphi (ParmFatur.Values['ST_REPARCELAMENTOAUTO']).

Candidatas por uso da tabela​

As procedures abaixo utilizam a tabela PARMFATUR, mas não referenciam o campo ST_REPARCELAMENTOAUTO diretamente. Impacto apenas indireto:

Procedure/ViewArquivo
ATUALIZA_PESSOAScripts/ATUALIZA_PESSOA.sql
ATUALIZA_PRECOVENDAScripts/ATUALIZA_PRECOVENDA.sql
BUSCAPRECORECAPScripts/BUSCAPRECORECAP.sql
CALCULA_CENTRORESULTScripts/CALCULA_CENTRORESULT.sql
CALCULA_CENTRORESULTITEMScripts/CALCULA_CENTRORESULTITEM.sql
CALCULA_COMISSAOScripts/CALCULA_COMISSAO.sql
CALCULA_COMISSAO_V2Scripts/CALCULA_COMISSAO_V2.sql
CALCULA_JUROVENDAScripts/CALCULA_JUROVENDA.sql
CANCELA_MESTRAScripts/CANCELA_MESTRA.sql
CANCELA_NOTAFISCALScripts/CANCELA_NOTAFISCAL.sql
CONFIRMA_ORDEMSERVICOScripts/CONFIRMA_ORDEMSERVICO.sql
CREDITOPERIODICO_AI0Scripts/CREDITOPERIODICO_AI0.sql
CREDITOPERIODICOGRUPO_AI0Scripts/CREDITOPERIODICOGRUPO_AI0.sql
EXPORTACAO_ALLABORScripts/EXPORTACAO_ALLABOR.sql
EXPORTACAO_DOMINIOCADASTROSScripts/EXPORTACAO_DOMINIOCADASTROS.sql

Tabela Comparativa Resumida​

ValorCheckboxComportamento
NDesmarcadoReparcelamento automático desativado — títulos seguem o parcelamento original
SMarcadoReparcelamento automático ativado para embarques com 2 NFs e pagamento a prazo/vencimento futuro