ST_BLOQUEIAPEDIDOSAIDA - Bloquear Pedidos de Faturamento na Etapa Exame Final
Tela de configuração: REC001 - Parâmetros da Recapadora Localização: Parâmetros → Opção 2 Tabela:
PARAMRECAP.ST_BLOQUEIAPEDIDOSAIDAValor padrão:N(Não bloquear) Tipo:CHAR(1),NOT NULL
Telas impactadas
| Tela / Módulo | Impacto |
|---|---|
| REC001 (Parâmetros da Recapadora) | Tela de configuração do parâmetro |
| FECHA_ORDEMPRODUCAORECAP | Ao fechar a ordem de produção na etapa "Exame Final", invoca VERIFICA_BLOQUEIOPEDIDORECAP que avalia este parâmetro |
| PEDIDO (tabela) | O campo ST_PEDIDO do pedido de faturamento (Saída) recebe 'B' (Bloqueado) e DS_BLOQUEIO é preenchido quando o bloqueio é aplicado |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
ST_BLOQUEIAPEDIDOSAIDA | PARAMRECAP | CHAR(1) | Indica se o sistema deve bloquear pedidos de faturamento (tipo Saída) ao fechar a ordem de produção na etapa "Exame Final" |
Opções disponíveis
S - Bloquear Pedidos de Faturamento
| O que faz | Detalhe |
|---|---|
| Editável | Checkbox na aba Opção 2 da tela REC001 |
| Exige | Nenhum campo adicional |
| Restrição | Afeta apenas pedidos de tipo Saída (TP_PEDIDO = 'S') gerados ao fechar a ordem de produção na etapa Exame Final |
Simulação passo a passo
- Acesse REC001 → Parâmetros da Recapadora.
- Navegue até a aba Opção 2.
- Marque o checkbox Bloquear Pedidos de Faturamento na Etapa Exame Final.
- Salve o registro.
- Realize um processo de recapagem até a etapa Exame Final.
- Feche a ordem de produção (procedure
FECHA_ORDEMPRODUCAORECAP). - O sistema invoca
VERIFICA_BLOQUEIOPEDIDORECAP, que consultaPARAMRECAP.ST_BLOQUEIAPEDIDOSAIDA:- Como o valor é
'S', chama a procedureVERIFICA_BLOQUEIOpassando tipo'S'(Saída) e modo'P'(Pedido).
- Como o valor é
- Se
VERIFICA_BLOQUEIOretornar motivos de bloqueio (ex.: orçamento pendente/reprovado), o pedido de faturamento é atualizado comST_PEDIDO = 'B'eDS_BLOQUEIOpreenchido com a descrição do motivo.
Resultado esperado: O pedido de faturamento (Saída) vinculado à ordem de produção fica com status Bloqueado (ST_PEDIDO = 'B') e a descrição do bloqueio é gravada no campo DS_BLOQUEIO. O usuário visualiza o pedido bloqueado e os motivos correspondentes.
Excecao / Importante: O bloqueio só ocorre se houver motivos válidos retornados pela procedure
VERIFICA_BLOQUEIO. Se não houver nenhuma restrição (orçamento aprovado, tabela de preço válida, etc.), o pedido segue normalmente mesmo com o parâmetro ativo. O bloqueio também depende de o pedido de faturamento já ter passado por uma tentativa de desbloqueio prévia ou não ter sido desbloqueado manualmente (campoCD_USUARIODESBL).
N - Não Bloquear (Padrão)
| O que faz | Detalhe |
|---|---|
| Editável | Checkbox na aba Opção 2 da tela REC001 |
| Exige | Nenhum campo adicional |
| Restrição | Nenhuma |
Simulação passo a passo
- Acesse REC001 → Parâmetros da Recapadora.
- Navegue até a aba Opção 2.
- Desmarque o checkbox Bloquear Pedidos de Faturamento na Etapa Exame Final (ou mantenha o valor padrão).
- Salve o registro.
- Realize um processo de recapagem até a etapa Exame Final.
- Feche a ordem de produção.
- O sistema invoca
VERIFICA_BLOQUEIOPEDIDORECAP, que consultaPARAMRECAP.ST_BLOQUEIAPEDIDOSAIDA:- Como o valor é
'N', o bloco de verificação de bloqueio de pedido de saída é ignorado.
- Como o valor é
Resultado esperado: O pedido de faturamento (Saída) vinculado à ordem de produção não é avaliado para bloqueio nesta etapa. O pedido segue o fluxo normal sem alteração de status.
Regra Geral de Execução
O parâmetro é avaliado automaticamente pela procedure VERIFICA_BLOQUEIOPEDIDORECAP, que é chamada pela procedure FECHA_ORDEMPRODUCAORECAP durante o fechamento da ordem de produção na etapa Exame Final. A lógica segue este fluxo:
FECHA_ORDEMPRODUCAORECAPgera o pedido de faturamento (Saída) e chamaVERIFICA_BLOQUEIOPEDIDORECAP.VERIFICA_BLOQUEIOPEDIDORECAPconsultaPARAMRECAP.ST_BLOQUEIAPEDIDOSAIDApara a empresa.- Se
'S'→ chamaVERIFICA_BLOQUEIOpara identificar motivos de bloqueio. - Se há motivos → atualiza
PEDIDO.ST_PEDIDO = 'B'ePEDIDO.DS_BLOQUEIO. - Se
'N'→ ignora a verificação de bloqueio de pedido de saída.
Nota: A procedure
VERIFICA_BLOQUEIOPEDIDORECAPtambém consulta o parâmetroSTPERMITECOLETATABVENCIDA(também emPARAMRECAP) para verificar tabelas de preço vencidas, independentemente deste parâmetro.
Procedures impactadas
Rotinas Delphi com referência direta ao parâmetro
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
TdmREC001.qryCadastroAfterInsert | source/REC001/UdmREC001.pas | 795 | Define valor padrão 'N' ao inserir novo registro: qryCadastroST_BLOQUEIAPEDIDOSAIDA.AsString := 'N' |
TframeREC001.chkST_BLOQUEIAPEDIDOSAIDAMouseMove | source/REC001/UframeREC001.pas | 1682 | Evento de interface (tooltip/status bar) |
Referências SQL diretas ao campo ST_BLOQUEIAPEDIDOSAIDA
| Procedure/View | Arquivo | Linha | Evidência |
|---|---|---|---|
VERIFICA_BLOQUEIOPEDIDORECAP | Scripts/VERIFICA_BLOQUEIOPEDIDORECAP.sql | 27 | SELECT PR.ST_BLOQUEIAPEDIDOSAIDA, PR.STPERMITECOLETATABVENCIDA FROM PARAMRECAP PR |
VERIFICA_BLOQUEIOPEDIDORECAP | Scripts/VERIFICA_BLOQUEIOPEDIDORECAP.sql | 32 | IF (V_ST_BLOQUEIAPEDIDOSAIDA = 'S') THEN |
Chamadora da procedure de bloqueio
| Procedure/View | Arquivo | Linha | Evidência |
|---|---|---|---|
FECHA_ORDEMPRODUCAORECAP | Scripts/FECHA_ORDEMPRODUCAORECAP.sql | 886 | FROM VERIFICA_BLOQUEIOPEDIDORECAP(:V_IDEMPRESA, :O_NRPEDIDO, 'S', :I_ID) A |
FECHA_ORDEMPRODUCAORECAP | Scripts/FECHA_ORDEMPRODUCAORECAP.sql | 893 | FROM VERIFICA_BLOQUEIOPEDIDORECAP(:V_IDEMPRESA, :O_NRPEDIDO, 'S', :I_ID) A |
Candidatas por uso da tabela PARAMRECAP
Não foram encontradas referências diretas ao campo ST_BLOQUEIAPEDIDOSAIDA em Scripts/ além das listadas acima. As demais procedures que consultam PARAMRECAP (ex.: GERA_PEDIDOSAIDACARCACA, GERA_NOTAPEDIDO, FECHA_ORDEMPRODUCAORECAPNOTA, entre outras) acessam a tabela para outros campos e não possuem impacto funcional direto neste parâmetro.