Pular para o conteúdo principal

TP_MOSTRAVENDEDORES - Modo de Exibição dos Vendedores

Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: aba Vendedor → label "Tipo Vários Vendedores" Tabela: PARMFATUR.TP_MOSTRAVENDEDORES (CHAR(1), NOT NULL) Valor padrão: N (Normal)

Define como a tela de rateio de vendedores é apresentada ao usuário nos documentos de venda (Pedidos, NF, Ordens de Carregamento). Pré-requisito: o parâmetro ST_VARIOSVENDEDORES precisa estar em S; caso contrário, este combo nem aparece na tela MFA001.


Telas impactadas​

TelaContextoComportamento
MPD002Pedido de Venda — ao salvarN → abre rateio individual por item (UVendedorIndividual); A → abre rateio agrupado (UVendedorAgrupado)
MNF002Nota Fiscal — gravação<> A → replica vendedores do pedido para ITEMNOTAVENDEDOR item a item; A → chama RateioVendedorAgrupado
MNF013CTRC/Nota de Transporte — gravaçãoA → abre RateioVendedorAgrupado para todos os itens
MRC020Ordem de Carregamento — gravação<> A → replica vendedores do pedido; A → rateio agrupado
MFA001ConfiguraçãoControla visibilidade de ST_REPETECOMISSAO (só visível quando N)
MCO006Movimentação ContábilApenas lê o campo para parâmetros internos

Campos envolvidos​

CampoTabelaRelação
ST_VARIOSVENDEDORESPARMFATURPré-requisito obrigatório = S (configurado em MFA001 → aba Vendedor)
ST_REPETECOMISSAOPARMFATURSó visível em MFA001 quando ST_VARIOSVENDEDORES='S' e TP_MOSTRAVENDEDORES='N' (configurado em MFA001 → aba Vendedor)
ST_COMISSAOITEMPEDIDO / ITEMNOTAItem precisa ter ST_COMISSAO='S' para o rateio ser disparado

Opções disponíveis​

N - Normal (Rateio Individual)​

O que fazDetalhe
Modo de exibiçãoRateio individual por item — abre UVendedorIndividual para cada item com ST_COMISSAO='S'
Editável em MFA001Sim (quando ST_VARIOSVENDEDORES='S')
Torna visívelST_REPETECOMISSAO aparece no formulário
Usado emMPD002, MNF002, MRC020

Simulação passo a passo​

  1. Acesse MFA001 → aba Vendedor.
  2. Confirme que Vários Vendedores Por Produto (ST_VARIOSVENDEDORES) está marcado como Sim.
  3. Selecione Tipo Vários Vendedores = Normal.
  4. Salve os parâmetros.
  5. Abra um Pedido (MPD002) e insira um item com comissão ativa.
  6. Ao salvar, o sistema abre a tela de rateio individual para cada item, permitindo informar os vendedores um a um.
  7. Repita vendedores automaticamente? — o combo ST_REPETECOMISSAO agora fica visível em MFA001 e controla esse comportamento.

Resultado esperado: Ao salvar o pedido, o sistema percorre cada item com comissão e abre a tela de rateio individual (UVendedorIndividual), permitindo definir os vendedores por item separadamente.


A - Agrupado (Rateio Agrupado)​

O que fazDetalhe
Modo de exibiçãoRateio agrupado — abre UVendedorAgrupado com todos os itens em uma única tela
Editável em MFA001Sim (quando ST_VARIOSVENDEDORES='S')
OcultaST_REPETECOMISSAO desaparece do formulário
Usado emMPD002, MNF002, MNF013, MRC020

Simulação passo a passo​

  1. Acesse MFA001 → aba Vendedor.
  2. Confirme que Vários Vendedores Por Produto (ST_VARIOSVENDEDORES) está marcado como Sim.
  3. Selecione Tipo Vários Vendedores = Agrupado.
  4. Salve os parâmetros.
  5. Abra um Pedido (MPD002) e insira itens com comissão ativa.
  6. Ao salvar, o sistema abre uma única tela (UVendedorAgrupado) listando todos os itens juntos para distribuir os vendedores de forma concentrada.

Resultado esperado: Uma tela agrupada com todos os itens é exibida, permitindo alocar vendedores de forma consolidada, em vez de item a item.

Exceção / Importante: Se o usuário cancelar a tela de rateio agrupado, o sistema emite o aviso "Rateio de Vendedores Cancelado!" e interrompe a gravação. Além disso, o combo ST_REPETECOMISSAO é automaticamente ocultado ao escolher Agrupado, pois a repetição de vendedores entre itens perde sentido nesse modo.


Regra de visibilidade no MFA001​

ST_VARIOSVENDEDORESTP_MOSTRAVENDEDOREScmbTP_MOSTRAVENDEDORES visível?cmbST_REPETECOMISSAO visível?
NqualquerNãoNão
SN (Normal)SimSim
SA (Agrupado)SimNão

A lógica está em dois callbacks:

  • cmbST_VARIOSVENDEDORESChange (linha 2128): ao trocar para N, oculta o combo e todos os campos dependentes.
  • cmbTP_MOSTRAVENDEDORESChange (linha 2566): ao trocar para N com ST_VARIOSVENDEDORES='S', exibe ST_REPETECOMISSAO; caso contrário, oculta.

Tabela Comparativa Resumida​

ValorDescriçãoTela de rateioST_REPETECOMISSAO visível?
NNormal (padrão)Individual por item (UVendedorIndividual)Sim
AAgrupadoÚnica para todos os itens (UVendedorAgrupado)Não

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaContexto
TdmMFA001.tabPARMFATURAfterInsertUdmMFA001.pas582Define valor padrão 'N'
cmbTP_MOSTRAVENDEDORESChangeUMFA001.pas2566Controla visibilidade de ST_REPETECOMISSAO
TfrmMFA001.cmbST_VARIOSVENDEDORESChangeUMFA001.pas2135Exibe/oculta o combo conforme ST_VARIOSVENDEDORES
TfrmMPD002.btnSalvarClickUMPD002.pas2494<> A → rateio individual por item
Grava_NotaFiscal (MNF002)UdmMNF002.pas2473<> A → replica vendedores item a item
Grava_NotaFiscal (MNF013)UdmMNF013.pas1532= A → abre RateioVendedorAgrupado
Grava_NotaFiscal (MRC020)UdmMRC020NFORDEM.pas2173<> A → replica vendedores do pedido
TfrmVendedorAgrupado.setParametrosUVendedorAgrupado.pas1201Lê parâmetro para gate de abertura
TdmMCO006.BuscaParametros_MCO006UdmMCO006.pas2116Apenas leitura
TdmMNF002.BuscaParametros_MNF002UdmMNF002.pas10507Apenas leitura
TdmMNF008.BuscaParametros_MNF008UdmMNF008.pas772Apenas leitura
calculaValorCTRCUdmMNF013.pas539Declara variável local para o parâmetro

Referências SQL diretas ao campo​

Nenhuma procedure/view SQL em Scripts/ referencia diretamente TP_MOSTRAVENDEDORES. As procedures que utilizam a tabela PARMFATUR (ex.: CALCULA_COMISSAO, CALCULA_COMISSAO_V2, CANCELA_NOTAFISCAL) acessam outros campos, sem impacto funcional direto por este parâmetro.