Pular para o conteúdo principal

ST_ALTERABASECALCULOCOMISSAO - Altera Base de Cálculo da Comissão

Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Aba Vendedor → seção "Parâmetros de Vendedor" Tabela: PARMFATUR.ST_ALTERABASECALCULOCOMISSAO Valor padrão: N (Não)

Controla se o usuário pode alterar manualmente a base de cálculo (VL_BASE) sobre a qual a comissão do vendedor é calculada. Quando desativado, a base é sempre o valor líquido do produto (VL_LIQUIDO).


Telas impactadas​

TelaArquivoEfeito
UVendedorAgrupadosource/jVendedor/UVendedorAgrupado.pasExibe/oculta coluna de base; habilita edição e validação de VL_BASE
CNF009 — Cadastro Comissão V2source/CNF009/UCNF009.pasLibera edição da coluna VL_TOTAL no grid

Campos envolvidos​

CampoTabelaDescrição
VL_BASEITEMNOTAVENDEDORValor base para cálculo da comissão
VL_LIQUIDOITEMNOTAValor líquido do item (usado como base padrão)
VL_TOTALCONTROLE (CNF009)Valor total no cadastro de comissão

Opções disponíveis​

S - Sim (Permite alterar a base de cálculo)​

O que fazDetalhe
Coluna "Base" visívelA coluna VL_BASE (coluna 2 do grid) é exibida no formulário de vendedores agrupados
Campo editávelO usuário pode digitar um valor diferente do líquido
Validação ativaImpede valor vazio, ≤ 0 ou maior que VL_LIQUIDO
CNF009 liberadoGrid CONTROLE coluna 5 e campo VL_TOTAL ficam editáveis

Simulação passo a passo​

  1. Acesse Vendas → Faturamento e abra um documento com vendedor associado.
  2. No formulário de vendedores, localize a coluna Base no grid — ela estará visível.
  3. Digite um valor manualmente, por exemplo R$ 8,00 em um item com líquido de R$ 10,00.
  4. Pressione <Tab> ou saia do campo — o sistema recalcula a comissão: (8,00 × percentual) / 100.
  5. Repita para outros itens/vendedores conforme necessário.
  6. Salve o documento.

Resultado esperado: A comissão de cada vendedor é calculada sobre a base informada manualmente, não sobre o valor líquido. O campo é marcado como alteração manual (ST_MANUAL = 'S').

Exceção / Importante: O valor informado não pode ser maior que o valor líquido do item (VL_LIQUIDO) nem vazio/zero — o sistema exibe erro W-0137 ou W-0138. Na tela CNF009, o campo VL_TOTAL também se torna editável.


N - Não (Base de cálculo travada no valor líquido)​

O que fazDetalhe
Coluna "Base" ocultaA coluna VL_BASE (coluna 2) é escondida no grid
Base fixaO sistema utiliza automaticamente VL_LIQUIDO como base de cálculo
Grid redimensionadoAs colunas vizinhas são alargadas para ocupar o espaço liberado
CNF009 travadoGrid CONTROLE coluna 5 e VL_TOTAL permanecem somente leitura

Simulação passo a passo​

  1. Acesse Vendas → Faturamento e abra um documento com vendedor associado.
  2. No formulário de vendedores, observe que a coluna Base não aparece no grid.
  3. A comissão de cada vendedor é calculada automaticamente sobre o valor líquido do item (ex.: R$ 10,00 × 5% = R$ 0,50).
  4. Salve o documento.

Resultado esperado: A comissão é sempre calculada sobre o valor líquido do item, sem possibilidade de alteração manual da base.

Exceção / Importante: O redimensionamento das colunas depende também de ST_MOSTRACOMISSAO (configurado em MFA001 — Parâmetros de Faturamento, aba Vendedor). Quando ambos estão em N, a coluna 7 do grid recebe largura 220 e a coluna 1 (Vendedor) recebe largura 300. Se ST_MOSTRACOMISSAO = 'S', os tamanhos são 190 e 230 respectivamente.


Regra geral​

CondiçãoBase de cálculoEditável
ST_ALTERABASECALCULOCOMISSAO = 'S'Informada pelo usuárioSim, com validação
ST_ALTERABASECALCULOCOMISSAO = 'N'VL_LIQUIDO do itemNão

Relação com outros parâmetros​

ParâmetroConfigurado emInteração
ST_MOSTRACOMISSAOMFA001Define se colunas de comissão são exibidas; quando ambos estão N, o grid é redimensionado para esconder a base
ST_ALTERACOMISSAOMFA001Controla se o botão "Alterar Comissão" aparece no formulário
ST_VARIOSVENDEDORESMFA001Define modelo de vendedor (único ou vários por item); CNF009 lê ambos os parâmetros juntos

Procedures impactadas​

Rotinas Delphi com referência direta​

RotinaArquivoLinhaResumo
TdmMFA001.tabPARMFATURAfterInsertsource/MFA001/UdmMFA001.pas581Atribui valor padrão 'N' ao campo
CarregarVendedorAgrupadosource/jVendedor/UVendedorAgrupado.pas385Se 'S', usa VL_BASE do documento; senão usa VL_LIQUIDO
TfrmVendedorAgrupado.FormShowsource/jVendedor/UVendedorAgrupado.pas722Se <> 'S', oculta coluna 2 e redimensiona grid
TfrmVendedorAgrupado.setParametrossource/jVendedor/UVendedorAgrupado.pas1200Carrega parâmetro via SELECT da PARMFATUR
TfrmVendedorAgrupado.cdsVENDEDORESVL_BASEValidatesource/jVendedor/UVendedorAgrupado.pas1442Valida edição de VL_BASE quando 'S'
iniciarsource/CNF009/UCNF009.pas400Consulta parâmetro para liberar/bloquear VL_TOTAL

Scripts SQL​

Não foi encontrada referência direta ao campo ST_ALTERABASECALCULOCOMISSAO nos scripts SQL (Scripts/). As procedures que utilizam a tabela PARMFATUR (como CALCULA_COMISSAO, CALCULA_COMISSAO_V2) acessam a tabela mas não leem este campo especificamente — a lógica de base de cálculo é tratada no lado Delphi.