Pular para o conteúdo principal

ST_COBRANCAAUTOFRETE - Cobrança Automática de Frete

Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: aba Pedidos / O.S. Tabela: PARMFATUR.ST_COBRANCAAUTOFRETE (CHAR(1)) Valor padrão: N (Não) Controle: ComboBox cmbST_COBRANCAAUTOFRETE

Telas impactadas​

TelaRotinaEfeito
MPD002 — Pedidos de Vendainiciar, btnSalvarClickCampo de frete fica somente leitura; frete calculado automaticamente ao salvar
MNF002 — Nota Fiscalcarrega_Nota, Consulta_PedidosCampo de frete fica somente leitura; frete recalculado ao carregar pedido
MNF002 — Nota FiscalCalculaFreteAutomaticoExecuta cálculo/_rateio do frete
TFA001 — Cadastro de PessoasiniciarExibe/oculta campos de frete no cadastro
TFA001 — Cadastro de PessoastabPESSOABeforePostValida percentual de frete ≤ 100%

Campos envolvidos​

CampoTabelaDescrição
ST_COBRANCAAUTOFRETEPARMFATURHabilita/desabilita cobrança automática de frete
TP_VALORFRETEPARMFATURTipo do frete: P (Percentual) ou V (Valor Fixo) — configurado na mesma aba
VL_FRETEPARMFATURValor ou percentual do frete padrão — configurado na mesma aba
VL_FRETEISENTOPARMFATURValor mínimo de faturamento para isenção de frete — configurado na mesma aba
TP_VALORFRETEPESSOATipo do frete específico da pessoa (sobrescreve PARMFATUR)
VL_FRETEPESSOAValor do frete específico da pessoa
VL_FRETEISENTOPESSOAValor de isenção específico da pessoa

Opções disponíveis​

S — Sim (Cobrança automática de frete)​

O que fazDetalhe
Habilita cálculo automático de freteAo gerar pedido ou NF a partir de pedido, o frete é calculado e rateado automaticamente
Campo de frete bloqueadoO campo VL_FRETE em Pedidos e NF torna-se somente leitura
Campos de frete visíveis no cadastro de pessoaExibe TP_VALORFRETE, VL_FRETE e VL_FRETEISENTO em TFA001
Validação de percentualAo salvar pessoa com frete percentual, bloqueia valor > 100%
Isenção por valorPedidos com valor líquido abaixo do limite de isenção ficam sem frete

Simulação passo a passo​

  1. Acesse MFA001 → aba Pedidos / O.S. e configure Isento a partir de como Sim.
  2. Defina o Tipo do Frete (% s/ Faturamento ou Valor Fixo), o Valor do Frete (ex.: R$ 15,00) e o Valor de Isenção (ex.: R$ 500,00).
  3. Abra TFA001 — Cadastro de Pessoas e confirme que os campos de frete estão visíveis na aba Dados Adicionais.
  4. No cadastro de um cliente, defina frete personalizado (ex.: Valor Fixo / R$ 10,00) ou deixe em branco para usar o padrão de PARMFATUR.
  5. Crie um Pedido de Venda (MPD002) para esse cliente com valor líquido de R$ 300,00 (abaixo de R$ 500,00).
  6. Ao salvar o pedido, o sistema calcula: como R$ 300,00 < R$ 500,00 (isenção), o frete será R$ 0,00.
  7. Crie outro pedido com valor líquido de R$ 600,00. O sistema calcula: R$ 600,00 >= R$ 500,00, então aplica o frete do cliente (R$ 10,00 fixo).
  8. Gere uma NF (MNF002) a partir desse pedido — o campo de frete aparecerá preenchido automaticamente e travado para edição.

Resultado esperado: Frete calculado e preenchido automaticamente em pedidos e notas fiscais; campo de frete fica bloqueado para edição manual.

Exceção / Importante:

  • O sistema prioriza os valores de frete configurados no cadastro da pessoa (PESSOA). Se estiverem em branco, utiliza os valores de PARMFATUR.
  • Se TP_VALORFRETE for P (percentual) e o valor informado no cadastro da pessoa ultrapassar 100%, o sistema bloqueia com erro ao salvar.
  • Parâmetros complementares: TP_VALORFRETE, VL_FRETE e VL_FRETEISENTO (todos configurados em MFA001 — Parâmetros de Faturamento, aba Pedidos / O.S.).

N — Não (Frete manual) — padrão​

O que fazDetalhe
Frete digitado manualmenteO campo VL_FRETE em Pedidos e NF permanece editável
Campos de frete ocultos no cadastro de pessoaTP_VALORFRETE, VL_FRETE e VL_FRETEISENTO ficam invisíveis em TFA001
Sem cálculo automáticoO cálculo automático de frete não é executado

Simulação passo a passo​

  1. Acesse MFA001 → aba Pedidos / O.S. e mantenha Isento a partir de como Não (padrão).
  2. Abra TFA001 — Cadastro de Pessoas e confirme que os campos de frete estão ocultos.
  3. Crie um Pedido de Venda (MPD002) — o campo de frete estará liberado para digitação.
  4. Digite manualmente o valor de frete desejado (ex.: R$ 20,00) e salve.
  5. Gere uma NF (MNF002) a partir do pedido — o campo de frete também estará editável.

Resultado esperado: Frete digitado manualmente pelo operador; campos de frete ficam ocultos no cadastro de pessoas e editáveis em pedidos e notas.

Exceção / Importante: Os campos TP_VALORFRETE, VL_FRETE e VL_FRETEISENTO de PARMFATUR continuam presentes na tela MFA001 mesmo com ST_COBRANCAAUTOFRETE = N, porém não têm efeito prático.

Lógica de cálculo do frete automático​

Quando ST_COBRANCAAUTOFRETE = S e o pedido está sendo processado (salvar pedido ou carregar pedido na NF):

  1. Valor de isenção: Busca primeiro de PESSOA.VL_FRETEISENTO; se vazio, usa PARMFATUR.VL_FRETEISENTO.
  2. Valor líquido sem frete: Total líquido do pedido − valor de frete − valor de IPI.
  3. Verificação de isenção: Se não houver isenção configurada (-1) ou se o valor de isenção for maior que o valor líquido sem frete → frete = R$ 0,00.
  4. Valor do frete: Busca primeiro de PESSOA.VL_FRETE e PESSOA.TP_VALORFRETE; se vazio, usa PARMFATUR.VL_FRETE e PARMFATUR.TP_VALORFRETE.
  5. Cálculo: Se tipo = P (percentual), frete = valor líquido × (percentual / 100). Se tipo = V (fixo), frete = valor direto.
  6. Rateio: O valor do frete é rateado entre os itens do pedido/nota.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaContexto
TdmMFA001.tabPARMFATURAfterInsertUdmMFA001.pas599Define valor padrão N
iniciar (MPD002)UMPD002.pas752Trava/libera campo de frete
TfrmMPD002.btnSalvarClickUMPD002.pas2441Calcula frete ao salvar pedido
carrega_Nota (MNF002)UMNF002.pas2410Trava campo e calcula frete ao carregar pedido na NF
Consulta_Pedidos (MNF002)UMNF002.pas2895Trava campo de frete após consulta
TdmMNF002.CalculaFreteAutomaticoUdmMNF002.pas8705Cálculo e rateio do frete
TdmMNF002.BuscaParametros_MNF002UdmMNF002.pas10507Carrega parâmetro na memória
TdmMPD002.BuscaParametros_MPD002UdmMPD002.pas5757Carrega parâmetro na memória
iniciar (TFA001)UTFA001.pas1184Oculta campos de frete quando N
TdmTFA001.tabPESSOABeforePostUdmTFA001.pas1324Valida frete percentual ≤ 100%

Referências SQL​

Não foi encontrada referência direta ao campo ST_COBRANCAAUTOFRETE em scripts SQL (procedures/views). As procedures listadas na análise de tabela acessam PARMFATUR para outros fins.