ST_VALIDAVENDPRINCIPAL — Valida Vendedor Principal
Tela de configuração: REC001 — Parâmetros da Recapadora Localização: Opção 1 Tabela / Coluna:
PARAMRECAP.ST_VALIDAVENDPRINCIPALTipo:CHAR(1)— Checkbox Valor padrão:N(Não) Label na tela: Valida Vendedor Principal [MRC001/Smart]
Quando marcado (S), o sistema exige que o vendedor associado ao pedido de recapagem (e a cada item/pneu) possua um tipo de vendedor cadastrado como Vendedor Principal na tabela TIPOVENDEDOR (ST_VENDEDORPRINCIPAL = 'S'). Isso vale para as telas MRC001 (Pedido de Recapagem) e MRC039 (Smart/Intercel).
Telas impactadas
| Tela | Descrição | Impacto |
|---|---|---|
| MRC001 | Pedido de Recapagem | Validação do vendedor no pedido, nos itens e nos borracheiros; exibição visual |
| MRC039 | Smart / Intercel | Validação do vendedor nos campos iniciais |
Campos envolvidos
| Campo | Tabela | Papel |
|---|---|---|
ST_VENDEDORPRINCIPAL | TIPOVENDEDOR | Indica se o tipo de vendedor é "Principal" — consultado pelo sistema para validar |
IDVENDEDOR | PEDIDOPNEU | Vendedor principal do pedido — pode ser preenchido automaticamente |
IDBORRACHEIRO | ITEMPEDIDOPNEUBORRACHEIRO | Vendedor/borracheiro vinculado a cada item de pneu |
CD_TIPO | PESSOAVENDEDOR / ITEMPEDIDOPNEUBORRACHEIRO | Tipo do vendedor — usado para cruzar com TIPOVENDEDOR |
Opções disponíveis
S — Validação Ativa
| O que faz | Detalhe |
|---|---|
| Exige vendedor principal | O vendedor informado no pedido deve ter ST_VENDEDORPRINCIPAL = 'S' em seu tipo (TIPOVENDEDOR) |
| Destaque visual | O label "Vendedor" no pedido fica em negrito |
| Auto-preenche vendedor | Ao adicionar o primeiro borracheiro com tipo "Principal", o sistema preenche automaticamente o vendedor do pedido |
| Impede tipo duplicado | Não permite dois borracheiros com o mesmo tipo de vendedor no mesmo pneu |
| Obriga vendedor em todos os itens | Quando ST_VARIOSVENDEDORES = 'S', exige que o vendedor principal esteja vinculado como borracheiro em todos os itens |
Simulação passo a passo
- Acesse REC001 (Parâmetros da Recapadora), aba Opção 1.
- Marque o checkbox Valida Vendedor Principal [MRC001/Smart].
- Salve o registro.
- Abra MRC001 e crie um novo pedido de recapagem.
- Informe o cliente no pedido.
- Ao informar o vendedor, o sistema consulta se o tipo dele tem
ST_VENDEDORPRINCIPAL = 'S'em TFA064 (Tipo de Vendedor). - Se o tipo do vendedor não for "Vendedor Principal", o sistema exibe:
"O tipo do Vendedor não está parametrizado como Vendedor Principal. Verifique! [TFA064]"
- Ao adicionar o primeiro borracheiro ao primeiro pneu, se o campo "Vendedor do pedido" estiver vazio e o tipo do borracheiro for "Vendedor Principal", o sistema preenche automaticamente o vendedor do pedido com esse borracheiro.
- Ao tentar adicionar um segundo borracheiro com o mesmo tipo no mesmo pneu, o sistema exibe:
"Não é possivel informar um vendedor com o mesmo tipo para o mesmo pneu, o vendedor X - Nome já possui o mesmo tipo. Verifique![MRC001][REC001]"
- Ao clicar em OK/Salvar o pedido (
actionOKExecute):- Se
ST_VARIOSVENDEDORES = 'N': exige que o pedido tenha um vendedor preenchido. - Se
ST_VARIOSVENDEDORES = 'S': verifica se o vendedor principal está vinculado como borracheiro em todos os itens; itens sem o vendedor principal são listados para correção.
- Se
Resultado esperado: O sistema só aceita vendedores cujo tipo está marcado como "Vendedor Principal" em TFA064. O vendedor do pedido é gerenciado automaticamente com base nos borracheiros informados.
Exceção / Importante: A flag interna
flagvalidatipovendprincipalcontrola reentrância — ao atualizar programaticamente o vendedor do pedido (ex.: ao clicar na grid de vendedores), a validação é temporariamente desabilitada para evitar loop infinito.
N — Sem Validação (Padrão)
| O que faz | Detalhe |
|---|---|
| Sem restrição de tipo | Qualquer vendedor válido pode ser informado, independentemente do tipo |
| Sem destaque visual | O label "Vendedor" aparece sem negrito |
| Sem auto-preenchimento | O vendedor do pedido não é preenchido automaticamente ao adicionar borracheiros |
Simulação passo a passo
- Acesse REC001 (Parâmetros da Recapadora), aba Opção 1.
- Desmarque o checkbox Valida Vendedor Principal [MRC001/Smart].
- Salve o registro.
- Abra MRC001 e crie um novo pedido de recapagem.
- Informe qualquer vendedor ativo — o sistema não verifica o tipo do vendedor.
- Adicione borracheiros aos pneus livremente, sem restrição de tipo.
Resultado esperado: Nenhuma validação de "Vendedor Principal" é aplicada. Qualquer vendedor ativo pode ser utilizado no pedido e como borracheiro nos itens.
Regra Geral de Validação
Quando ativo, o fluxo de validação ocorre em múltiplos pontos:
- Entrada do vendedor no pedido — valida que o tipo do vendedor é "Principal" via
TIPOVENDEDOR. - Primeiro borracheiro do primeiro item — se o pedido ainda não tem vendedor e o borracheiro é do tipo "Principal", auto-preenche.
- Validação do tipo do borracheiro — impede dois borracheiros com mesmo tipo no mesmo pneu.
- Confirmação do pedido (OK) — com
ST_VARIOSVENDEDORES = 'S', exige que o vendedor principal esteja em todos os itens.
Tabela Comparativa Resumida
| Aspecto | S (Ativo) | N (Padrão) |
|---|---|---|
| Tipo do vendedor verificado | Sim — deve ser "Principal" | Não |
| Label "Vendedor" em negrito | Sim | Não |
| Auto-preenche vendedor do pedido | Sim (primeiro borracheiro "Principal") | Não |
| Impede tipo duplicado por pneu | Sim | Não |
| Obriga vendedor em todos os itens | Sim (quando ST_VARIOSVENDEDORES = 'S') | Não |
Parâmetros relacionados
| Parâmetro | Tela / Onde configurar | Relação |
|---|---|---|
ST_VARIOSVENDEDORES | MFA001 — Parâmetros de Faturamento | Quando S, ativa validação de vendedor principal em todos os itens do pedido |
ST_VENDEDORPEDIDOITEM | REC001 — Parâmetros da Recapadora | Controla comportamento de vendedor por item (mencionado no código como condição comentada) |
ST_VENDEDORPRINCIPAL | TFA064 — Tipo de Vendedor | Flag no cadastro de tipo de vendedor que define se o tipo é "Principal" |
Procedures impactadas
Rotinas Delphi com referência direta ao parâmetro
| Rotina | Arquivo | Linha | Comportamento |
|---|---|---|---|
TdmMRC001.qryPedidoPneuIDVENDEDORValidate | source/MRC001/UdmMRC001.pas | 662 | Valida se o tipo do vendedor é "Principal" ao informar vendedor no pedido |
TdmMRC001.qryBorracheiroBeforePost | source/MRC001/UdmMRC001.pas | 1634 | Auto-preenche vendedor do pedido ao adicionar primeiro borracheiro "Principal" |
TdmMRC001.qryBorracheiroCD_TIPOValidate | source/MRC001/UdmMRC001.pas | 1875 | Impede dois borracheiros com mesmo tipo no mesmo pneu |
TformMRC001.iniciar | source/MRC001/UformMRC001.pas | 104 | Aplica negrito no label "Vendedor" quando ativo |
TframeMRC001.actionOKExecute | source/MRC001/UframeMRC001.pas | 292 | Valida vendedor principal em todos os itens ao salvar pedido |
TframeMRC001.gridVENDEDORESCellClick | source/MRC001/UframeMRC001.pas | 1894 | Atualiza vendedor do pedido ao clicar em vendedor "Principal" na grid |
TdmMRC039.tabCAMPOSINICIAISIDVENDEDORValidate | source/MRC039/UdmMRC039.pas | 176 | Valida se o tipo do vendedor é "Principal" no Smart/Intercel |
TdmREC001.qryCadastroAfterInsert | source/REC001/UdmREC001.pas | 801 | Define valor padrão N ao inserir novo registro |
Referências SQL diretas ao campo
Nenhuma referência direta a ST_VALIDAVENDPRINCIPAL foi encontrada em procedures/views SQL em Scripts/. O campo é consultado exclusivamente via código Delphi (parmRecap.Values['ST_VALIDAVENDPRINCIPAL']).
Candidatas por uso da tabela PARAMRECAP
Diversas procedures SQL fazem JOIN ou SELECT na tabela PARAMRECAP, mas nenhuma consulta diretamente a coluna ST_VALIDAVENDPRINCIPAL em SQL. A tabela é usada para outros campos (local de estoque, layouts, flags de produção, etc.). Verificar lista completa de procedures na documentação da tabela PARAMRECAP.