STVALIDATABPRECO - Validação de Tabela de Preço do Cliente
Tela de configuração: REC001 - Parâmetros da Recapadora Tabela:
PARAMRECAP.STVALIDATABPRECOTipo:DOM_CHAR1(CHAR 1) Valor padrão:NComponente na tela: Combo dropdown (TwwDBComboBox)
Descrição
Controla se o sistema deve validar, na MRC002 (Seleção/Marcação de Pneus), se o cliente possui uma tabela de preço cadastrada (tabela PARMTABPRECO). Quando a validação está ativa e o cliente não possui tabela de preço vinculada, o sistema pode bloquear ou apenas avisar, dependendo do valor configurado.
Telas impactadas
| Tela | Módulo | Efeito |
|---|---|---|
| MRC002 - Seleção/Marcação de Pneus | Recapadora | Valida tabela de preço do cliente ao marcar pneus individualmente ou em lote |
Campos envolvidos
| Campo | Tabela | Papel |
|---|---|---|
STVALIDATABPRECO | PARAMRECAP | Define o modo de validação (N/S/B) |
CD_PESSOA | PARMTABPRECO | Cliente vinculado à tabela de preço (consultado durante a validação) |
CD_TABPRECO | PARMTABPRECO | Código da tabela de preço do cliente |
CD_TABPRECO | ITEMTABPRECO | Tabela de preço usada para buscar o preço do item |
Opções disponíveis
N - Não Valida (Padrão)
| O que faz | Detalhe |
|---|---|
| Desabilita a validação | O sistema não verifica se o cliente possui tabela de preço. Pneus podem ser marcados livremente, mesmo sem tabela vinculada. |
Simulação passo a passo
- Acesse REC001 (Parâmetros da Recapadora).
- Localize o campo "Valida Tabela Preço".
- Selecione "Não valida".
- Salve o cadastro.
- Acesse MRC002 (Seleção/Marcação de Pneus).
- Marque um pneu cujo cliente não possui tabela de preço cadastrada.
- O sistema permite a marcação sem mensagens nem bloqueios.
Resultado esperado: Nenhuma validação é feita; o pneu é marcado normalmente.
S - Apenas Avisa
| O que faz | Detalhe |
|---|---|
| Valida e exibe aviso | O sistema verifica se o cliente possui tabela de preço. Se não possuir, exibe uma mensagem de aviso, mas não impede a marcação. |
Simulação passo a passo
- Acesse REC001 (Parâmetros da Recapadora).
- Localize o campo "Valida Tabela Preço".
- Selecione "Apenas Avisa".
- Salve o cadastro.
- Acesse MRC002 (Seleção/Marcação de Pneus).
- Marque um pneu cujo cliente não possui tabela de preço cadastrada em MFA006.
- O sistema exibe uma mensagem informando que o cliente não possui Parâmetros de Tabela de Preço, orientando o cadastro em MFA006.
- Clique em OK para fechar a mensagem — o pneu permanece marcado.
Resultado esperado: Mensagem de aviso exibida, mas o pneu é marcado normalmente.
Exceção / Importante: Quando
STGERAPRODZERADA(configurado em REC001 — Parâmetros da Recapadora) está comoNe o valor líquido do item é zero ou negativo, o sistema verifica se existe preço na tabela de preço. Se existir preço cadastrado, o sistema bloqueia a produção mesmo comSTVALIDATABPRECO = S, lançando uma exceção.
B - Bloqueia Processo
| O que faz | Detalhe |
|---|---|
| Valida e bloqueia | O sistema verifica se o cliente possui tabela de preço. Se não possuir, o sistema bloqueia a marcação com uma exceção, impedindo o prosseguimento. |
Simulação passo a passo
- Acesse REC001 (Parâmetros da Recapadora).
- Localize o campo "Valida Tabela Preço".
- Selecione "Bloqueia Processo".
- Salve o cadastro.
- Acesse MRC002 (Seleção/Marcação de Pneus).
- Marque um pneu cujo cliente não possui tabela de preço cadastrada em MFA006.
- O sistema exibe uma mensagem de erro informando que o cliente não possui Parâmetros de Tabela de Preço.
- O pneu não é marcado — o sistema impede a ação.
Resultado esperado: Processo bloqueado; o pneu não pode ser marcado até que o cliente tenha uma tabela de preço cadastrada.
Exceção / Importante: Ao usar o botão "Marcar Todas" na MRC002, os pneus de clientes sem tabela de preço são silenciosamente desmarcados (não exibem mensagem individual), desde que sejam pedidos móveis (
IDPEDIDOMOVELpreenchido). QuandoSTGERAPRODZERADA(configurado em REC001) está comoNe o valor líquido do item é zero ou negativo, o sistema também bloqueia a produção se existir preço na tabela de preço.
Regra Geral
A validação ocorre na MRC002 em dois momentos:
- Ao marcar individualmente um pneu (
qryConsultaCHECKEDValidate): o sistema consultaPARMTABPRECOpara o cliente do pedido. Se não encontrar tabela e o parâmetro forSouB, exibe mensagem ou bloqueia. - Ao usar "Marcar Todas" (
buttonMarcarTodasClick): o sistema aplica a mesma validação em lote. Para pedidos móveis sem tabela de preço, desmarca silenciosamente o item.
Tabela Comparativa Resumida
| Valor | Nome | Valida? | Sem tabela de preço | Bloqueia marcação? |
|---|---|---|---|---|
N | Não Valida | Não | Ignora | Não |
S | Apenas Avisa | Sim | Exibe mensagem de aviso | Não |
B | Bloqueia Processo | Sim | Exibe mensagem de erro | Sim |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição |
|---|---|---|
TdmMRC002.qryConsultaCHECKEDValidate | source/MRC002/UdmMRC002.pas | Valida tabela de preço ao marcar pneu individualmente (S=avisa, B=bloqueia) |
TformMRC002.buttonMarcarTodasClick | source/MRC002/UformMRC002.pas | Valida tabela de preço ao marcar todos; desmarca silenciosamente pedidos sem tabela |
TdmREC001.qryCadastroAfterInsert | source/REC001/UdmREC001.pas | Define valor padrão N ao inserir novo registro |
TdmREC001.qryCadastroBeforePost | source/REC001/UdmREC001.pas | Inclui o campo no log/auditoria antes de salvar |
Referências SQL diretas ao campo
Não foram encontradas referências diretas ao campo STVALIDATABPRECO em procedures/views SQL dentro de Scripts/.
Candidatas por uso da tabela PARAMRECAP
Várias procedures em Scripts/ utilizam a tabela PARAMRECAP, mas não citam o campo STVALIDATABPRECO. Não há impacto funcional direto identificado nessas rotinas para este parâmetro.