ST_OBRIGATIPOVENDPRINCIPAL - Obriga tipo de vendedor "Principal"
Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Aba Vendedor, checkbox "Obriga tipo de vendedor "Principal"" Tabela:
PARMFATUR.ST_OBRIGATIPOVENDPRINCIPALValor padrão:N(Desmarcado)
Telas impactadas
| Tela / Rotina | Arquivo | Efeito |
|---|---|---|
| Tela de Vendedor Individual | source/jVendedor/UVendedorIndividual.pas | Ao confirmar (botão OK), valida se existe pelo menos um vendedor com tipo "Principal" |
| Tela de Vendedor Agrupado | source/jVendedor/UVendedorAgrupado.pas | Ao confirmar, valida se cada produto possui ao menos um vendedor com tipo "Principal" |
Campos envolvidos
| Campo | Tabela | Papel |
|---|---|---|
ST_VENDEDORPRINCIPAL | Vendedor do item | Indica se o vendedor é do tipo "Principal" (S/N) |
CD_TIPOVENDEDOR | Vendedor do item | Código do tipo de vendedor |
Dependências
Este parâmetro só é visível quando ST_VARIOSVENDEDORES = 'S'. Caso contrário, o checkbox é ocultado pelo handler cmbST_VARIOSVENDEDORESChange em UMFA001.pas.
ST_VARIOSVENDEDORES(configurado em MFA001 — Parâmetros de Faturamento, aba Vendedor, campo "Vários Vendedores")
Opções disponíveis
S — Obrigatório (Marcado)
| O que faz | Detalhe |
|---|---|
| Exige vendedor "Principal" | Ao gravar o rateio de vendedores, o sistema verifica se existe ao menos um vendedor marcado como "Principal" |
Levanta exceção W-0133 | Se nenhum vendedor do tipo "Principal" for encontrado, a operação é bloqueada |
| Escopo da validação | Individual: valida todos os vendedores do item. Agrupado: valida por produto — cada produto precisa ter ao menos um vendedor "Principal" |
Simulação passo a passo
- Acesse MFA001 → Parâmetros de Faturamento → aba Vendedor.
- Marque o campo "Vários Vendedores" como
S(pré-requisito). - Marque o checkbox "Obriga tipo de vendedor "Principal"".
- Salve os parâmetros (
<F9>ou botão Salvar). - Abra um pedido ou nota fiscal e inclua itens com rateio de vendedores.
- Distribua os vendedores nos itens, sem marcar nenhum como tipo "Principal".
- Tente confirmar/gravar o rateio de vendedores.
Resultado esperado: O sistema exibe a mensagem de erro W-0133, impedindo a gravação. Para prosseguir, é necessário que ao menos um vendedor em cada item tenha ST_VENDEDORPRINCIPAL = 'S'.
Exceção / Importante: A validação ocorre tanto na tela Individual (
UVendedorIndividual.btnOKClick) quanto na tela Agrupado (UVendedorAgrupado.VerificaVendedorPrincipal). Na tela Agrupada, a verificação é feita produto a produto — se qualquer produto não tiver um vendedor "Principal", a exceçãoW-0133é levantada.
N — Não Obrigatório (Desmarcado, padrão)
| O que faz | Detalhe |
|---|---|
| Sem obrigatoriedade | O rateio de vendedores é gravado normalmente, sem exigir tipo "Principal" |
| Sem restrição | Qualquer combinação de tipos de vendedor é aceita |
Simulação passo a passo
- Acesse MFA001 → Parâmetros de Faturamento → aba Vendedor.
- Deixe o checkbox "Obriga tipo de vendedor "Principal"" desmarcado.
- Salve os parâmetros.
- Abra um pedido ou nota fiscal e distribua vendedores nos itens de qualquer forma.
Resultado esperado: A gravação é aceita normalmente, independentemente de haver ou não um vendedor tipo "Principal".
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
TfrmMFA001.cmbST_VARIOSVENDEDORESChange | source/MFA001/UMFA001.pas | 2143 | chkST_OBRIGATIPOVENDPRINCIPAL.Visible := True; |
TdmMFA001.tabPARMFATURAfterInsert | source/MFA001/UdmMFA001.pas | 579 | tabPARMFATURST_OBRIGATIPOVENDPRINCIPAL.AsString := 'N'; |
TfrmVendedorAgrupado.setParametros | source/jVendedor/UVendedorAgrupado.pas | 1198 | Carrega ST_OBRIGATIPOVENDPRINCIPAL do SELECT em PARMFATUR |
TfrmVendedorAgrupado.VerificaVendedorPrincipal | source/jVendedor/UVendedorAgrupado.pas | 1224 | if (param.St_ObrigaVendedorPrin = 'S') then |
TfrmVendedorIndividual.btnOKClick | source/jVendedor/UVendedorIndividual.pas | 423 | if (iST_OBRIGATIPOVENDPRINCIPAL = 'S') then |
CarregarVendedorIndividual | source/jVendedor/UVendedorIndividual.pas | 201 | SELECT ST_VENDPEDIDONOTA, ST_OBRIGATIPOVENDPRINCIPAL FROM PARMFATUR |
Referências SQL
Não foi encontrada referência direta ao campo ST_OBRIGATIPOVENDPRINCIPAL em procedures SQL (Scripts/). As procedures que utilizam a tabela PARMFATUR acessam outros campos e não este parâmetro diretamente.