ST_BLOQUEIO - Bloqueio de Estoque
Tela de configuração: MEQ001 - Parâmetros de Estoque Localização: Parâmetros → Aba &Estoque → Bloquear Estoque Componente:
cmbST_BLOQUEIO(ComboBox) Tabela / Campo:PARMESTOQUE.ST_BLOQUEIOTipo:DOM_CHAR1(CHAR(1)) Valor padrão:N(Não) Obrigatório: Sim (NOT NULL)
Descrição
Controla se o estoque da empresa está bloqueado para movimentações e processamentos. Quando definido como S, o sistema:
- Bloqueia a geração de movimentos de estoque via
GERA_ESTOQUE— o script consultaST_BLOQUEIOe pode impedir a inclusão de novos registros emMOVESTOQUE. - Afeta o cancelamento de estoque via
CANCELA_ESTOQUE— o parâmetro é lido antes de processar cancelamentos. - Impacta o cálculo de estoque comprometido — as procedures
RETORNA_ESTOQUECOMPROMETIDO,RETORNA_ESTOQUECOMPROMETGRADE,RETORNA_ESTOQUECOMPROMETLOCAL,RETORNA_QTDECOMPROMETIDAeRETORNA_QTDEESTOQUEGRADEleemST_BLOQUEIOe, quandoS, passam a considerar movimentos bloqueados (ST_BLOQUEADO = 'C') como quantidade indisponível. - Exige sessão ativa do módulo GERES — ao abrir o sistema,
VerificaProcessamentoEstoqueverifica seST_BLOQUEIO = 'S'e, caso não exista nenhuma sessãoGERESativa, exibe a mensagem I-1734.
Telas impactadas
| Tela | Efeito |
|---|---|
| MEQ001 | Tela de configuração do parâmetro |
| Consulta de Pedidos (CEQ006) | Exibe coluna ST_BLOQUEIO nos pedidos listados |
| Todas as telas que geram estoque | GERA_ESTOQUE consulta este parâmetro antes de registrar movimentos |
| Todas as telas que cancelam estoque | CANCELA_ESTOQUE consulta este parâmetro antes de cancelar |
Campos envolvidos
| Campo | Tabela | Relação |
|---|---|---|
ST_BLOQUEIO | PARMESTOQUE | Campo principal — parâmetro da empresa |
ST_CONSIDERABLOQ | PARMESTOQUE | Controla se o bloqueio é considerado no cálculo de estoque comprometido |
ST_BLOQUEADO | MOVESTOQUE | Status individual do movimento ('C' = bloqueado) |
Opções disponíveis
N - Não (Estoque Liberado — Padrão)
| O que faz | Detalhe |
|---|---|
| Comportamento | Estoque livre para movimentações e processamentos |
| Valor padrão | S — é o default do banco (DEFAULT 'N') |
| Restrição | Nenhuma — todas as rotinas de estoque operam normalmente |
Simulação passo a passo
- Acesse MEQ001 (Parâmetros de Estoque).
- Vá até a aba &Estoque.
- No combo Bloquear Estoque, selecione Não.
- Salve a tela (
<Ctrl+S>ou botão Salvar). - Gere uma nota fiscal ou pedido que movimente estoque (ex: venda do produto X com quantidade 10).
- Consulte o saldo do produto X.
Resultado esperado: O movimento é registrado normalmente em MOVESTOQUE. O saldo do produto é atualizado sem restrições.
S - Sim (Estoque Bloqueado)
| O que faz | Detalhe |
|---|---|
| Comportamento | Bloqueia processamento de estoque e considera movimentos bloqueados nos cálculos |
| Valor padrão | — |
| Restrição | Exige sessão ativa do módulo GERES ao abrir o sistema; caso contrário exibe alerta I-1734 |
Simulação passo a passo
- Acesse MEQ001 (Parâmetros de Estoque).
- Vá até a aba &Estoque.
- No combo Bloquear Estoque, selecione Sim.
- Salve a tela (
<Ctrl+S>ou botão Salvar). - Feche e reabra o sistema sem abrir o módulo GERES.
- Observe o alerta exibido na abertura (mensagem I-1734).
Resultado esperado: O sistema exibe a mensagem I-1734 informando que o estoque está bloqueado e não há sessão ativa do módulo GERES. Os scripts GERA_ESTOQUE e CANCELA_ESTOQUE consultam este parâmetro antes de processar. As procedures de estoque comprometido (RETORNA_ESTOQUECOMPROMETIDO e similares) passam a incluir movimentos bloqueados (ST_BLOQUEADO = 'C') como quantidade indisponível.
Excecao / Importante:
- O parâmetro
ST_CONSIDERABLOQ(configurado em MEQ001, mesma aba) controla se o bloqueio é efetivamente considerado nos cálculos de estoque comprometido. SeST_CONSIDERABLOQ = 'N', os movimentos bloqueados não são descontados do saldo disponível.- A mensagem I-1734 só é exibida se nenhuma sessão do módulo GERES estiver ativa no banco de dados.
Regra Geral
O parâmetro funciona como um interruptor global de bloqueio de estoque por empresa. Quando S:
GERA_ESTOQUElêST_BLOQUEIOjunto com outros parâmetros de custo (TP_CUSTOESTOQUE,ST_CUSTONEGATIVO, etc.) antes de gerar movimentos.CANCELA_ESTOQUElêST_BLOQUEIOe armazena emV_ST_PARMBLOQUEIOpara uso nas validações de cancelamento.RETORNA_ESTOQUECOMPROMETIDOlêST_BLOQUEIOeST_CONSIDERABLOQ. QuandoST_BLOQUEIO = 'S', consulta movimentos comST_BLOQUEADO = 'C'e separa entradas e saídas bloqueadas, retornandoO_QT_BLOQUEADA.- Na abertura do sistema,
VerificaProcessamentoEstoqueexecutaSELECT PE.ST_BLOQUEIO FROM PARMESTOQUE PE WHERE PE.CD_EMPRESA = <empresa>e, se o resultado for'S', verifica se há conexões ativas comCD_MODULO = 'GERES'na tabelaSESSAO.
Tabela Comparativa Resumida
| Aspecto | N (Não) | S (Sim) |
|---|---|---|
| Geração de estoque | Livre | Pode ser bloqueada pelo script |
| Cancelamento de estoque | Livre | Parâmetro consultado antes do cancelamento |
| Estoque comprometido | Não considera movimentos bloqueados | Considera movimentos ST_BLOQUEADO = 'C' como indisponíveis |
| Alerta na abertura | Não | Exibe I-1734 se GERES inativo |
| Sessão GERES exigida | Não | Sim |
Procedures impactadas
Rotinas Delphi com referência direta ao parâmetro
| Rotina | Arquivo | Linha | Trecho |
|---|---|---|---|
TmainDataModule.VerificaProcessamentoEstoque | source/Junsoft/UmainDataModule.pas | 248 | SELECT PE.ST_BLOQUEIO — verifica se estoque está bloqueado e exige sessão GERES |
Scripts SQL com referência direta ao campo ST_BLOQUEIO
| Procedure/View | Arquivo | Linha | Uso |
|---|---|---|---|
GERA_ESTOQUE | Scripts/GERA_ESTOQUE.sql | 66, 148 | Declara I_ST_BLOQUEIO e consulta de PARMESTOQUE |
CANCELA_ESTOQUE | Scripts/CANCELA_ESTOQUE.sql | 98 | SELECT ST_BLOQUEIO, TP_CUSTOESTOQUE FROM PARMESTOQUE |
RETORNA_ESTOQUECOMPROMETIDO | Scripts/RETORNA_ESTOQUECOMPROMETIDO.sql | 29, 40, 143 | Consulta e usa V_ST_BLOQUEIO para incluir bloqueados |
RETORNA_ESTOQUECOMPROMETGRADE | Scripts/RETORNA_ESTOQUECOMPROMETGRADE.sql | 16 | Declara V_ST_BLOQUEIO |
RETORNA_ESTOQUECOMPROMETLOCAL | Scripts/RETORNA_ESTOQUECOMPROMETLOCAL.sql | 24 | Declara V_ST_BLOQUEIO |
RETORNA_QTDECOMPROMETIDA | Scripts/RETORNA_QTDECOMPROMETIDA.sql | 36 | Declara V_ST_BLOQUEIO |
RETORNA_QTDEESTOQUEGRADE | Scripts/RETORNA_QTDEESTOQUEGRADE.sql | 21 | Declara V_ST_BLOQUEIO |
GERA_PEDIDOCOTACAOPECA | Scripts/GERA_PEDIDOCOTACAOPECA.sql | 38 | Declara V_ST_BLOQUEIO |
RETORNA_COMPLEMENTO | Scripts/RETORNA_COMPLEMENTO.sql | 16 | Parâmetro O_ST_BLOQUEIO |
VALIDA_MODELOBLOQUEIODIASATRASO | Scripts/VALIDA_MODELOBLOQUEIODIASATRASO.sql | 8 | Parâmetro I_ST_BLOQUEIO |
VALIDA_MODELOBLOQUEIOVLLIMITE | Scripts/VALIDA_MODELOBLOQUEIOVLLIMITE.sql | 10 | Parâmetro I_ST_BLOQUEIO |
VERIFICA_CREDITO | Scripts/VERIFICA_CREDITO.sql | 7 | Variável V_ST_BLOQUEIO |
Candidatas por uso da tabela PARMESTOQUE
Estas procedures/views utilizam a tabela PARMESTOQUE mas não citam o campo ST_BLOQUEIO literalmente. Não há evidência de impacto funcional direto neste campo — validar antes de afirmar.
| Procedure/View | Arquivo |
|---|---|
AJUSTA_ORDEMPRODPEDANTECIPADO | Scripts/AJUSTA_ORDEMPRODPEDANTECIPADO.sql |
ALTERACAO_BANDA | Scripts/ALTERACAO_BANDA.sql |
ATUALIZA_CONSUMOMEDIO | Scripts/ATUALIZA_CONSUMOMEDIO.sql |
ATUALIZA_ESTOQUEDIAPESSOA | Scripts/ATUALIZA_ESTOQUEDIAPESSOA.sql |
CALCULA_FORMACAOPRECOVENDA | Scripts/CALCULA_FORMACAOPRECOVENDA.sql |
CONFIRMA_ORDEMSERVICO | Scripts/CONFIRMA_ORDEMSERVICO.sql |
CONFIRMA_ORDEMSERVICOMETAL | Scripts/CONFIRMA_ORDEMSERVICOMETAL.sql |
GERA_ESTOQUE_NOTAFISCAL | Scripts/GERA_ESTOQUE_NOTAFISCAL.sql |
GERA_ESTOQUEPSALT | Scripts/GERA_ESTOQUEPSALT.sql |
GERA_NOTAFISCALESTOQUE | Scripts/GERA_NOTAFISCALESTOQUE.sql |
GERA_ORDEMPRODUCAO | Scripts/GERA_ORDEMPRODUCAO.sql |
GERA_PRODENVELOPAMENTO | Scripts/GERA_PRODENVELOPAMENTO.sql |
GERA_PRODLOTEPRODUCAO | Scripts/GERA_PRODLOTEPRODUCAO.sql |
GERA_PRODMONTAGEMRECAP | Scripts/GERA_PRODMONTAGEMRECAP.sql |
GERA_PRODVULCANIZACAO | Scripts/GERA_PRODVULCANIZACAO.sql |
GERA_SPEDBLOCOL | Scripts/GERA_SPEDBLOCOL.sql |
GERA_SPEDECFBLOCOL | Scripts/GERA_SPEDECFBLOCOL.sql |
GRAVA_AVISOS | Scripts/GRAVA_AVISOS.sql |
MONTA_ORDEMPRODITEMPEDIDOGRADE | Scripts/MONTA_ORDEMPRODITEMPEDIDOGRADE.sql |
MONTA_ORDEMPRODUCAOPEDIDO | Scripts/MONTA_ORDEMPRODUCAOPEDIDO.sql |