TP_COMISSAOMEC - Parâmetro de Comissão de Mecânicos
Tela de configuração: OFI001 - Parâmetros da Oficina
Localização: Aba "Ordem 2" → Campo "Comissões"
Tabela:PARMOFICINA.TP_COMISSAOMEC
Valor padrão:V(Comissão da TFA007)
Telas impactadas
| Tela | Impacto |
|---|---|
| MOF001 | Controla visibilidade dos campos de comissão manual e define o método de cálculo de comissão do mecânico e vendedor |
Campos envolvidos
| Campo | Descrição |
|---|---|
PC_COMISSAOMEC | Percentual de comissão do mecânico (serviço) |
PC_COMISSAOPECAMEC | Percentual de comissão do mecânico (peça) |
VL_COMISSAOMEC | Valor da comissão do mecânico |
PC_COMISSAOVEND | Percentual de comissão do vendedor (serviço) |
PC_COMISSAOPECAVEND | Percentual de comissão do vendedor (peça) |
VL_COMISSAOVEND | Valor da comissão do vendedor |
PC_COMISSAOMECANICA | Percentual calculado via TFA007 (tabela de comissão) |
Opções disponíveis
N - Comissão Manual
| O que faz | Detalhe |
|---|---|
| Campos manuais | Exibe campos de comissão para preenchimento direto pelo usuário |
| Condição | Apenas quando ST_VARIOSVENDEDORES (configurado em MFA001 — Parâmetros de Faturamento) = N |
| Cálculo | Usuário informa percentuais e valores manualmente na OS |
Simulação passo a passo
- Acesse OFI001 — Parâmetros da Oficina
- Na aba Ordem 2, localize o campo Comissões
- Selecione Comissão Manual (
N) - Salve o parâmetro
- Abra MOF001 — Ordem de Serviço e crie ou edite uma OS
- Observe que os campos de comissão do mecânico (
PC_COMISSAOMEC,PC_COMISSAOPECAMEC,VL_COMISSAOMEC) e do vendedor (PC_COMISSAOVEND,PC_COMISSAOPECAVEND,VL_COMISSAOVEND) ficam visíveis para preenchimento manual
Resultado esperado: Os campos de comissão aparecem na tela da OS para que o usuário informe os percentuais e valores de comissão do mecânico e do vendedor manualmente.
Excecao / Importante: Os campos de comissão manual só são exibidos quando
ST_VARIOSVENDEDORES(configurado em MFA001 — Parâmetros de Faturamento) está desativado (N). QuandoST_VARIOSVENDEDORES = 'S', os campos ficam ocultos independentemente deste parâmetro.
V - Comissão da TFA007
| O que faz | Detalhe |
|---|---|
| Cálculo automático | Calcula comissão via função CALCULA_COMISSAO_V2 baseada na tabela TFA007 |
| Campos manuais | Oculta campos de comissão manual do mecânico e vendedor |
| Média ponderada | Calcula média ponderada das comissões de peças e serviços para o vendedor |
Simulação passo a passo
- Acesse OFI001 — Parâmetros da Oficina
- Na aba Ordem 2, localize o campo Comissões
- Selecione Comissão da TFA007 (
V) - Salve o parâmetro
- Abra MOF001 — Ordem de Serviço e crie ou edite uma OS
- Adicione itens de serviço e/ou peças com mecânicos e vendedores vinculados
- Observe que os campos de comissão manual não aparecem; o sistema calcula automaticamente via tabela TFA007
Resultado esperado: O sistema calcula automaticamente a comissão do mecânico para cada item de serviço usando CALCULA_COMISSAO_V2, atualizando o campo PC_COMISSAOMECANICA em ORDEMSERVITEM. Para o vendedor, o sistema calcula uma média ponderada das comissões de peças e serviços, descontando as comissões dos mecânicos quando ST_CALCULOCOMISSAO (configurado em OFI001 — Parâmetros da Oficina, aba Ordem 1) está ativado (S).
Excecao / Importante: Quando
ST_CALCULOCOMISSAO = 'S'(configurado em OFI001 — Parâmetros da Oficina, aba Ordem 1), o sistema subtrai as comissões dos mecânicos antes de calcular a média ponderada do vendedor. Isso evita duplicidade de comissão entre mecânico e vendedor.
Regra Geral de Cálculo
| Aspecto | N (Manual) | V (TFA007) |
|---|---|---|
| Comissão mecânico | Informada pelo usuário | Calculada via CALCULA_COMISSAO_V2 |
| Comissão vendedor | Informada pelo usuário | Média ponderada (peças + serviços) |
| Campos visíveis | Sim | Não |
| Dependência TFA007 | Não | Sim (tabela de comissão deve estar configurada) |
Interação com ST_CALCULOCOMISSAO | Não | Sim (subtrai comissão mecânica quando = S) |
Tabela Comparativa Resumida
| Valor | Descrição | Campos Manuais | Cálculo Automático |
|---|---|---|---|
N | Comissão Manual | ✅ Visíveis | ❌ Não |
V | Comissão da TFA007 | ❌ Ocultos | ✅ Via CALCULA_COMISSAO_V2 |
Procedures impactadas
Rotinas Delphi
| Rotina | Arquivo | Comportamento |
|---|---|---|
iniciar | UMOF001.pas | Quando TP_COMISSAOMEC = 'N' e ST_VARIOSVENDEDORES = 'N', exibe campos de comissão manual (mecânico e vendedor) |
CalculaComissao | UMOF001.pas | Quando TP_COMISSAOMEC = 'V', calcula comissão do mecânico via CALCULA_COMISSAO_V2 e atualiza PC_COMISSAOMECANICA em ORDEMSERVITEM |
CalculaComissao (vendedor) | UMOF001.pas | Quando TP_COMISSAOMEC = 'V', calcula média ponderada de comissões de peças e serviços para o vendedor |
Busca_Parametros | UdmMOF001.pas | Lê TP_COMISSAOMEC da tabela PARMOFICINA e armazena em iTP_COMISSAOMEC |
tabPARMOFICINAAfterInsert | UdmOFI001.pas | Define valor padrão V ao inserir novo registro em PARMOFICINA |
Referências SQL diretas ao campo
Nenhuma referência SQL direta ao campo TP_COMISSAOMEC foi encontrada em Scripts/.
Candidatas por uso da tabela
Estas procedures/views usam a tabela PARMOFICINA, mas não citam o campo TP_COMISSAOMEC diretamente:
| Procedure/View | Arquivo |
|---|---|
PARCELA_FINANC_MNF017 | Scripts/PARCELA_FINANC_MNF017.sql |
PARCELA_FINANCIAMENTO | Scripts/PARCELA_FINANCIAMENTO.sql |
REABRE_OS | Scripts/REABRE_OS.sql |
RETORNA_MOTIVOBLOQUEIO | Scripts/RETORNA_MOTIVOBLOQUEIO.sql |
RETORNA_PRECOITEM | Scripts/RETORNA_PRECOITEM.sql |
VERIFICA_BLOQUEIO | Scripts/VERIFICA_BLOQUEIO.sql |
VIEW_DOCUMENTOSBLOQUEADOS | Scripts/VIEW_DOCUMENTOSBLOQUEADOS.sql |
VIEW_ROF004 | Scripts/VIEW_ROF004.sql |
VIEW_ROF004B | Scripts/VIEW_ROF004B.sql |
VIEW_ROF004B_V2 | Scripts/VIEW_ROF004B_V2.sql |
VIEW_ROF008 | Scripts/VIEW_ROF008.sql |
Nota: Não foi encontrada referência direta ao campo TP_COMISSAOMEC em procedures/views SQL. O impacto está concentrado nas rotinas Delphi de MOF001.