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_REPARCELAMENTOAUTOTipo: Checkbox (S= Marcado /N= Desmarcado) Valor padrão:N
Telas impactadas
| Tela | Rotina | Efeito |
|---|---|---|
| MNF033 | Gera_NotaFiscalAutomatico | Quando geradas 2 notas no faturamento automático de embarque, dispara o reparcelamento automático dos títulos |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
ST_REPARCELAMENTOAUTO | PARMFATUR | Indica se o reparcelamento deve ser aberto automaticamente após geração de duas NFs |
Opções disponíveis
N - Desmarcado (Padrão)
| O que faz | Detalhe |
|---|---|
| Não abre reparcelamento automático | Quando o faturamento automático gera duas notas, o reparcelamento não é executado |
Simulação passo a passo
- Acesse MFA001 → Parâmetros de Faturamento → Opção 1.
- Deixe o checkbox "Reparcelamento Automático [MNF033]" desmarcado.
- Salve os parâmetros.
- Na tela MNF033, processe um embarque com 2 notas fiscais e condição de pagamento a prazo.
- 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 faz | Detalhe |
|---|---|
| Abre reparcelamento automático ao gerar 2 notas | Executa 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 futura | A 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
- Acesse MFA001 → Parâmetros de Faturamento → Opção 1.
- Marque o checkbox "Reparcelamento Automático [MNF033]".
- Salve os parâmetros.
- Na tela MNF033, processe um embarque de um cliente que resulte em 2 notas fiscais com condição de pagamento a prazo.
- 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 viagera_Parcelamento.- Se a condição de pagamento for à vista e o tipo não for
PnemDcom 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:
- Processa a nota fiscal via
GERA_NOTAFISCALPEDIDO. - Consulta a ordem de carregamento para obter a quantidade de notas geradas.
- Se 1 nota: executa apenas o parcelamento normal (
gera_Parcelamento). - Se 2 notas e
ST_REPARCELAMENTOAUTO = 'S'e condição de pagamento a prazo ou vencimento futuro: executareparcelamento()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
| Rotina | Arquivo | Descrição |
|---|---|---|
TdmMFA001.tabPARMFATURAfterInsert | source/MFA001/UdmMFA001.pas | Inicializa o campo com valor padrão 'N' ao inserir novo registro em PARMFATUR |
TdmMNF033.Gera_NotaFiscalAutomatico | source/MNF033/UdmMNF033.pas | Verifica ST_REPARCELAMENTOAUTO = 'S' para disparar reparcelamento automático após geração de 2 NFs |
reparcelamento (função) | source/MNF033/UdmMNF033.pas | Funçã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/View | Arquivo |
|---|---|
ATUALIZA_PESSOA | Scripts/ATUALIZA_PESSOA.sql |
ATUALIZA_PRECOVENDA | Scripts/ATUALIZA_PRECOVENDA.sql |
BUSCAPRECORECAP | Scripts/BUSCAPRECORECAP.sql |
CALCULA_CENTRORESULT | Scripts/CALCULA_CENTRORESULT.sql |
CALCULA_CENTRORESULTITEM | Scripts/CALCULA_CENTRORESULTITEM.sql |
CALCULA_COMISSAO | Scripts/CALCULA_COMISSAO.sql |
CALCULA_COMISSAO_V2 | Scripts/CALCULA_COMISSAO_V2.sql |
CALCULA_JUROVENDA | Scripts/CALCULA_JUROVENDA.sql |
CANCELA_MESTRA | Scripts/CANCELA_MESTRA.sql |
CANCELA_NOTAFISCAL | Scripts/CANCELA_NOTAFISCAL.sql |
CONFIRMA_ORDEMSERVICO | Scripts/CONFIRMA_ORDEMSERVICO.sql |
CREDITOPERIODICO_AI0 | Scripts/CREDITOPERIODICO_AI0.sql |
CREDITOPERIODICOGRUPO_AI0 | Scripts/CREDITOPERIODICOGRUPO_AI0.sql |
EXPORTACAO_ALLABOR | Scripts/EXPORTACAO_ALLABOR.sql |
EXPORTACAO_DOMINIOCADASTROS | Scripts/EXPORTACAO_DOMINIOCADASTROS.sql |
Tabela Comparativa Resumida
| Valor | Checkbox | Comportamento |
|---|---|---|
N | Desmarcado | Reparcelamento automático desativado — títulos seguem o parcelamento original |
S | Marcado | Reparcelamento automático ativado para embarques com 2 NFs e pagamento a prazo/vencimento futuro |