Parâmetro de Obrigatoriedade de Preposto/Vendedor
Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 1 (rótulo "Obriga a Ter Preposto") Tabela:
PARMFATUR.ST_CADPREPOSTOValor padrão:N(Não)
Telas impactadas
| Módulo | Código | Descrição |
|---|---|---|
| Cadastro de Pessoas | TFA001 | Cadastro de Pessoas (clientes, fornecedores, etc.) |
Campos envolvidos
| Campo | Descrição |
|---|---|
PESSOA.CD_PREPOSTO | Código do preposto (vendedor) vinculado à pessoa (cliente) |
VENDEDORESPESSOA.CD_PESSOA | Vendedores associados à pessoa (modo múltiplos vendedores) |
TIPOPESSOA.TP_TIPOPESSOA | Tipo da pessoa - 'C' indica Cliente |
PARMFATUR.ST_VARIOSVENDEDORES | Parâmetro auxiliar que controla qual fluxo de validação é executado |
Opções disponíveis
S - Sim (Obriga a Ter Preposto)
| O que faz | Detalhe |
|---|---|
| Obriga preposto/vendedor? | SIM, mas apenas para pessoas do tipo Cliente (TIPOPESSOA.TP_TIPOPESSOA = 'C') |
Modo único vendedor (ST_VARIOSVENDEDORES = 'N') | Exige o preenchimento do campo PESSOA.CD_PREPOSTO. Se vazio, bloqueia o salvamento |
Modo múltiplos vendedores (ST_VARIOSVENDEDORES = 'S') | Exige pelo menos um vendedor cadastrado na grade tabVENDEDORES (tabela auxiliar VENDEDORESPESSOA) |
| Qual aba/foco em caso de erro (modo único) | Vai para aba pagREPRESENTANTE, abre a grade MARCAREPRESENTADA e foca em edtCD_PREPOSTO |
| Qual aba/foco em caso de erro (modo múltiplos) | Vai para aba pagVENDEDORES e foca em gridVENDEDORES |
| Mensagem (modo único) | "Pessoa do Tipo "Cliente" - É Obrigatório Informar um Preposto." |
| Mensagem (modo múltiplos) | "É Obrigatório Informar Pelo Menos um Vendedor!" |
| Aplica-se a outros tipos de pessoa? | Não - somente clientes (TP_TIPOPESSOA = 'C') |
Simulação passo a passo (modo único vendedor — ST_VARIOSVENDEDORES = 'N')
- Vá em MFA001 → Parâmetros → Ambos → Opção 1 → "Obriga a Ter Preposto" = "Sim"
- Confirme que
ST_VARIOSVENDEDORES = 'N'na mesma tela - Salve os parâmetros (F6)
- Abra o Cadastro de Pessoas (TFA001)
- Inclua uma nova pessoa (F2) e selecione um Tipo de Pessoa cujo
TP_TIPOPESSOA = 'C'(Cliente) - Preencha os dados básicos mas deixe o campo "Preposto" (
CD_PREPOSTO) em branco - Tente salvar (F6) → ERRO: "Pessoa do Tipo "Cliente" - É Obrigatório Informar um Preposto."
- O sistema navega automaticamente para a aba
pagREPRESENTANTEe foca emedtCD_PREPOSTO - Informe um preposto válido → Salva normalmente
Resultado esperado: Toda pessoa do tipo Cliente cadastrada exige obrigatoriamente um preposto vinculado.
Simulação passo a passo (modo múltiplos vendedores — ST_VARIOSVENDEDORES = 'S')
- MFA001 → ST_CADPREPOSTO = "Sim" e ST_VARIOSVENDEDORES = "Sim"
- Salve os parâmetros (F6)
- Abra o Cadastro de Pessoas (TFA001)
- Inclua uma nova pessoa do tipo Cliente
- Preencha os dados básicos mas não adicione nenhum vendedor na grade da aba "Vendedores"
- Tente salvar (F6) → ERRO: "É Obrigatório Informar Pelo Menos um Vendedor!"
- O sistema navega para a aba
pagVENDEDORESe foca emgridVENDEDORES - Adicione pelo menos um vendedor na grade → Salva normalmente
Resultado esperado: No modo múltiplos vendedores, todo cliente exige pelo menos um vendedor cadastrado na tabela auxiliar VENDEDORESPESSOA.
N - Não (Não Obriga Preposto)
| O que faz | Detalhe |
|---|---|
| Obriga preposto/vendedor? | Não, ambas as validações são puladas |
Campo CD_PREPOSTO | Permanece editável, mas não obrigatório |
| Grade de vendedores (modo múltiplos) | Pode ficar vazia sem impedir o salvamento |
| Aplica-se a qual tipo de pessoa? | Indiferente - nenhuma validação de preposto é executada |
Simulação passo a passo
- MFA001 → ST_CADPREPOSTO = "Não"
- Salve os parâmetros (F6)
- Abra o Cadastro de Pessoas (TFA001)
- Inclua uma nova pessoa do tipo Cliente
- Não informe preposto e não adicione vendedores
- Tente salvar (F6) → Salva normalmente, sem cobrança de preposto/vendedor
Resultado esperado: Total liberdade. O cadastro de pessoa não exige preposto nem vendedor, independentemente do tipo de pessoa.
Este é o valor padrão ao criar um novo registro no MFA001.
Observação Importante: Interação com ST_VARIOSVENDEDORES
O parâmetro ST_CADPREPOSTO muda o alvo da validação dependendo do valor de ST_VARIOSVENDEDORES:
ST_VARIOSVENDEDORES | ST_CADPREPOSTO = 'S' valida... | Tabela alvo | Aba focada em erro |
|---|---|---|---|
N (único vendedor) | Campo PESSOA.CD_PREPOSTO preenchido | PESSOA | pagREPRESENTANTE |
S (múltiplos vendedores) | Pelo menos 1 registro em VENDEDORESPESSOA | VENDEDORESPESSOA | pagVENDEDORES |
Em ambos os casos, a validação só é disparada para pessoas do tipo Cliente (TIPOPESSOA.TP_TIPOPESSOA = 'C').
Regra Geral de Aplicação
A validação de preposto/vendedor só é executada quando todas as condições abaixo são verdadeiras:
PARMFATUR.ST_CADPREPOSTO = 'S'- A pessoa sendo cadastrada/alterada possui
TIPOPESSOA.TP_TIPOPESSOA = 'C'(Cliente) - O salvamento (
btnSalvar.Click) foi disparado
Se qualquer uma das condições falhar, o cadastro é salvo sem cobrança de preposto.
Tabela Comparativa Resumida
| Opção | Descrição | Obriga preposto? | Tipo de pessoa afetado | Campo/grade exigido |
|---|---|---|---|---|
| S | Sim (Obriga a Ter Preposto) | Sim | Apenas Cliente (TP_TIPOPESSOA = 'C') | CD_PREPOSTO (modo único) ou VENDEDORESPESSOA (modo múltiplos) |
| N | Não | Não | - | - |