Pular para o conteúdo principal

TP_VALORFRETE - Frete por Pedido

Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Aba Pedidos / O.S. → sub-aba de frete Tabela: PARMFATUR.TP_VALORFRETE (CHAR(1)) Valor padrão: V (Valor Fixo) Componente: cmbTP_VALORFRETE (combobox)

Telas impactadas​

TelaMóduloImpacto
MFA001FaturamentoConfiguração do parâmetro
MNF002Nota FiscalCálculo automático do frete na nota fiscal
MPD002Pedido de VendaCálculo automático do frete no pedido
TFA001Cadastro de PessoasMesmo campo existe na tabela PESSOA; validação ao salvar pessoa

Campos envolvidos​

CampoTabelaDescrição
TP_VALORFRETEPARMFATURTipo de cálculo do frete (parâmetro global)
VL_FRETEPARMFATURValor do frete (fixo ou percentual)
TP_VALORFRETEPESSOATipo de cálculo do frete por pessoa (sobrepõe o global)
VL_FRETEPESSOAValor do frete por pessoa
VL_FRETEISENTOPESSOAValor de frete isento por pessoa

Relação com o cadastro de Pessoas​

O campo TP_VALORFRETE também existe na tabela PESSOA com valor padrão V. Na nota fiscal (MNF002) e no pedido (MPD002), o sistema primeiro verifica se a pessoa possui o campo preenchido; caso contrário, utiliza o parâmetro global de PARMFATUR.

Opções disponíveis​

V - Valor Fixo​

O que fazDetalhe
Usa o valor informado diretamenteO valor de VL_FRETE é aplicado como valor absoluto (R$) no frete
EditávelSem restrição de valor

Simulação passo a passo​

  1. Acesse MFA001 → aba Pedidos / O.S..
  2. No campo Frete por Pedido, selecione Valor Fixo.
  3. No campo Valor do Frete, digite 15,00.
  4. Salve os parâmetros.
  5. Ao emitir uma nota fiscal para um cliente sem frete personalizado, o sistema adicionará R$ 15,00 de frete rateado entre os itens.

Resultado esperado: O valor de R$ 15,00 é rateado entre os itens da nota fiscal/pedido, independentemente do total faturado.


P - % s/ Faturamento​

O que fazDetalhe
Calcula o frete como percentual sobre o total faturadoVL_FRETE representa o percentual; valor máximo permitido: 100%
Exige ST_COBRANCAAUTOFRETEO frete automático só é calculado se ST_COBRANCAAUTOFRETE estiver ativo
Validação ao salvarSe o percentual informado for maior que 100, o sistema bloqueia a gravação (erro W-1818)

Simulação passo a passo​

  1. Acesse MFA001 → aba Pedidos / O.S..
  2. No campo Frete por Pedido, selecione % s/ Faturamento.
  3. No campo Valor do Frete, digite 5,00 (representando 5%).
  4. Salve os parâmetros.
  5. Ao emitir uma nota fiscal de R$ 1.000,00 para um cliente sem frete personalizado, o sistema calculará: 1000 × 5% = R$ 50,00 de frete, rateado entre os itens.

Resultado esperado: O frete é calculado como percentual sobre o valor líquido (sem frete) da nota/pedido e rateado entre os itens.

Exceção / Importante:

  • Se o valor informado for superior a 100, o sistema exibe o erro W-1818 e bloqueia a gravação. Essa validação ocorre tanto em MFA001 (no BeforePost dos parâmetros) quanto em TFA001 (no BeforePost da pessoa), desde que ST_COBRANCAAUTOFRETE = S (configurado em MFA001 — Parâmetros de Faturamento).
  • Na tela TFA001 (Cadastro de Pessoas), o mesmo campo TP_VALORFRETE existe por pessoa. A validação de máximo 100% só é aplicada quando ST_COBRANCAAUTOFRETE = S.

Regra Geral de Cálculo​

A lógica de cálculo segue esta ordem de precedência em MNF002 (Nota Fiscal) e MPD002 (Pedido de Venda):

  1. Frete da Pessoa — Se o cliente (PESSOA) possui VL_FRETE preenchido, o sistema utiliza TP_VALORFRETE e VL_FRETE da pessoa.
  2. Frete Global — Se a pessoa não possui frete configurado, o sistema utiliza TP_VALORFRETE e VL_FRETE de PARMFATUR.
  3. Cálculo:
    • Se TP_VALORFRETE = 'V': o valor é aplicado diretamente.
    • Se TP_VALORFRETE = 'P': o valor é multiplicado pelo total líquido sem frete (vlFrete = vlLiqSemFrete * (vlFrete / 100)).

Após o cálculo, o frete é rateado entre os itens da nota/pedido.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoDescrição
TdmMFA001.tabPARMFATURAfterInsertUdmMFA001.pasDefine valor padrão 'V' ao inserir novo registro
TdmMFA001.tabPARMFATURBeforePostUdmMFA001.pasValida se TP_VALORFRETE = 'P' e VL_FRETE > 100 (erro W-1818)
TdmMNF002.CalculaFreteAutomaticoUdmMNF002.pasLê TP_VALORFRETE da pessoa ou de PARMFATUR para cálculo do frete
TdmMNF002.tabNOTACD_PESSOAValidateUdmMNF002.pasBusca TP_VALORFRETE e VL_FRETE da pessoa ao selecionar cliente na nota
TdmMNF002.BuscaParametros_MNF002UdmMNF002.pasCarrega TP_VALORFRETE de PARMFATUR para uso global
TfrmMPD002.btnSalvarClickUMPD002.pasLê TP_VALORFRETE da pessoa ou de PARMFATUR para cálculo do frete no pedido
TdmMPD002.tabPEDIDOCD_PESSOAValidateUdmMPD002.pasBusca TP_VALORFRETE e VL_FRETE da pessoa ao selecionar cliente no pedido
TdmMPD002.BuscaParametros_MPD002UdmMPD002.pasCarrega TP_VALORFRETE de PARMFATUR para uso global
TdmTFA001.tabPESSOAAfterInsertUdmTFA001.pasDefine valor padrão 'V' para pessoa
TdmTFA001.tabPESSOABeforePostUdmTFA001.pasValida se ST_COBRANCAAUTOFRETE = 'S' e TP_VALORFRETE = 'P' com VL_FRETE > 100
TdmTFA001.bloqueiaCamposAutorizadorUdmTFA001.pasLibera edição do campo para usuário autorizador

Referências SQL diretas ao campo​

Não foi encontrada referência direta ao campo TP_VALORFRETE em scripts SQL (Scripts/). As procedures SQL listadas nos candidatas referenciam a tabela PARMFATUR mas não acessam este campo especificamente.