Pular para o conteúdo principal

STPERMITECOLETATABVENCIDA – Permitir Coleta de Tabela de Preço Vencida

Tela de configuração: REC001 – Parâmetros da Recapadora Tabela: PARAMRECAP.STPERMITECOLETATABVENCIDA Tipo: CHAR(1) Valor padrão: N (Não Permite)

Define se o sistema permite utilizar tabelas de preço com data de validade vencida durante a coleta de preços no módulo de Recapadora. Quando habilitado, a coleta de preços aceita tabelas vencidas, mas o pedido gerado fica bloqueado até autorização.


Telas impactadas​

Tela / MóduloImpacto
Recapadora (telas MRC*, exceto MRC018/MRC020)Coleta de preço e bloqueio de pedido
Smart / WFLY (WFLY*)Coleta de preço e bloqueio de pedido
MRC018, MRC020Ignorado — sempre tratado como N
Demais módulosIgnorado — sempre tratado como N

Campos envolvidos​

CampoTabelaRelação
STPERMITECOLETATABVENCIDAPARAMRECAPParâmetro (este documento)
DT_VALIDADETABPRECOData de expiração da tabela de preço
ST_PEDIDOPEDIDOStatus do pedido (B = Bloqueado)
DS_BLOQUEIOPEDIDODescrição do motivo do bloqueio

Opções disponíveis​

S – Permite (Com Bloqueio do Pedido)​

O que fazDetalhe
Coleta de preçosAceita tabelas de preço vencidas (DT_VALIDADE < data do lançamento)
Pedido de vendaO pedido fica bloqueado (ST_PEDIDO = 'B') se utilizar tabela vencida
Restrição por móduloSó vale para telas MRC* (exceto MRC018/MRC020) e WFLY*; nos demais módulos, o valor é forçado para N

Simulação passo a passo​

  1. Acesse REC001 (Parâmetros da Recapadora).
  2. Marque o campo Permite Coleta Tabela Vencida como Sim.
  3. Salve os parâmetros.
  4. Crie uma tabela de preço com DT_VALIDADE no passado (ex: vencida em 01/01/2024).
  5. Abra um pedido de venda no módulo Recapadora (ex: tela MRC001).
  6. Adicione um item vinculado à tabela de preço vencida.
  7. O sistema permite a coleta do preço normalmente.
  8. Ao confirmar/enviar o pedido, a procedure VERIFICA_BLOQUEIOPEDIDORECAP identifica a tabela vencida.
  9. O pedido é marcado como Bloqueado (ST_PEDIDO = 'B') com a mensagem: "Tabela(s) XXX Vencida(s) - 01/01/2024".
  10. O pedido só é liberado após autorização de um usuário habilitado.

Exceção / Importante: Se o usuário estiver em uma tela fora do módulo Recapadora/Smart (ex: MFA001, OFI001), o sistema ignora este parâmetro e bloqueia tabelas vencidas normalmente. As telas MRC018 e MRC020 também ignoram este parâmetro.

Resultado esperado: O preço é coletado da tabela vencida, mas o pedido fica bloqueado até autorização, listando as tabelas vencidas e suas datas de validade na descrição do bloqueio.


N – Não Permite (Bloqueio Imediato na Coleta)​

O que fazDetalhe
Coleta de preçosBloqueia tabelas de preço vencidas diretamente na consulta de preço
Mensagem"A TABELA DE PREÇO "X" NÃO ESTÁ VÁLIDA. VERIFIQUE! [TFA006]"
Pedido de vendaNão há verificação adicional em VERIFICA_BLOQUEIOPEDIDORECAP (pois tabelas vencidas já foram rejeitadas na coleta)

Simulação passo a passo​

  1. Acesse REC001 (Parâmetros da Recapadora).
  2. Marque o campo Permite Coleta Tabela Vencida como Não.
  3. Salve os parâmetros.
  4. Crie uma tabela de preço com DT_VALIDADE no passado (ex: vencida em 01/01/2024).
  5. Abra um pedido de venda no módulo Recapadora (ex: tela MRC001).
  6. Adicione um item vinculado à tabela de preço vencida.
  7. O sistema bloqueia a coleta e exibe a mensagem: "A TABELA DE PREÇO "X" NÃO ESTÁ VÁLIDA. VERIFIQUE! [TFA006]".
  8. O item não é adicionado ao pedido até que uma tabela válida seja selecionada.

Resultado esperado: O sistema impede o uso de tabelas vencidas já na etapa de coleta de preço, sem permitir avançar no pedido.


Regra Geral de Restrição por Módulo​

Ambas as opções (S e N) sofrem uma validação adicional de módulo nas procedures RETORNA_PRECOITEM e RETORNA_TABPRECO:

CondiçãoComportamento
Tela é MRC* (exceto MRC018/MRC020)Respeita o valor configurado no parâmetro
Tela é WFLY* (Smart)Respeita o valor configurado no parâmetro
Tela é MRC018 ou MRC020Parâmetro é ignorado (forçado para N)
Qualquer outro móduloParâmetro é ignorado (forçado para N)

Tabela Comparativa Resumida​

AspectoS (Permite)N (Não Permite)
Coleta de preço com tabela vencida✅ Permitida❌ Bloqueada
Pedido usando tabela vencidaBloqueado (ST_PEDIDO = 'B')Não chega a criar pedido
Mensagem exibidaListagem de tabelas vencidas no pedido"TABELA DE PREÇO NÃO ESTÁ VÁLIDA"
Exige autorização para liberarSimNão aplicável
Restrição por móduloSim (MRC/WFLY, exceto MRC018/MRC020)Sim (MRC/WFLY, exceto MRC018/MRC020)

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaEvidência
TdmREC001.qryCadastroAfterInsertsource/REC001/UdmREC001.pas963Inicializa o campo com 'N' ao inserir novo registro
TframeREC001.chkSTPERMITECOLETATABVENCIDAMouseMovesource/REC001/UframeREC001.pas2330Handler de mouse do checkbox na tela

Referências SQL diretas ao campo​

Procedure/ScriptArquivoComportamento
RETORNA_PRECOITEMScripts/RETORNA_PRECOITEM.sqlSe 'S', ignora validade da tabela na coleta de preço; se 'N', bloqueia com mensagem de tabela inválida
RETORNA_TABPRECOScripts/RETORNA_TABPRECO.sqlSe 'S', remove filtro de DT_VALIDADE na consulta SQL de busca de tabela de preço; se 'N', filtra apenas tabelas válidas
VERIFICA_BLOQUEIOPEDIDORECAPScripts/VERIFICA_BLOQUEIOPEDIDORECAP.sqlSe 'S', verifica itens do pedido e bloqueia o pedido caso utilize tabelas vencidas

Candidatas por uso da tabela (sem referência direta ao campo)​

Estas procedures acessam a tabela PARAMRECAP mas não citam o campo STPERMITECOLETATABVENCIDA diretamente. Não há impacto funcional identificado sobre este parâmetro nessas rotinas.