Pular para o conteúdo principal

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_BLOQUEIO Tipo: 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:

  1. Bloqueia a geração de movimentos de estoque via GERA_ESTOQUE — o script consulta ST_BLOQUEIO e pode impedir a inclusão de novos registros em MOVESTOQUE.
  2. Afeta o cancelamento de estoque via CANCELA_ESTOQUE — o parâmetro é lido antes de processar cancelamentos.
  3. Impacta o cálculo de estoque comprometido — as procedures RETORNA_ESTOQUECOMPROMETIDO, RETORNA_ESTOQUECOMPROMETGRADE, RETORNA_ESTOQUECOMPROMETLOCAL, RETORNA_QTDECOMPROMETIDA e RETORNA_QTDEESTOQUEGRADE leem ST_BLOQUEIO e, quando S, passam a considerar movimentos bloqueados (ST_BLOQUEADO = 'C') como quantidade indisponível.
  4. Exige sessão ativa do módulo GERES — ao abrir o sistema, VerificaProcessamentoEstoque verifica se ST_BLOQUEIO = 'S' e, caso não exista nenhuma sessão GERES ativa, exibe a mensagem I-1734.

Telas impactadas​

TelaEfeito
MEQ001Tela de configuração do parâmetro
Consulta de Pedidos (CEQ006)Exibe coluna ST_BLOQUEIO nos pedidos listados
Todas as telas que geram estoqueGERA_ESTOQUE consulta este parâmetro antes de registrar movimentos
Todas as telas que cancelam estoqueCANCELA_ESTOQUE consulta este parâmetro antes de cancelar

Campos envolvidos​

CampoTabelaRelação
ST_BLOQUEIOPARMESTOQUECampo principal — parâmetro da empresa
ST_CONSIDERABLOQPARMESTOQUEControla se o bloqueio é considerado no cálculo de estoque comprometido
ST_BLOQUEADOMOVESTOQUEStatus individual do movimento ('C' = bloqueado)

Opções disponíveis​

N - Não (Estoque Liberado — Padrão)​

O que fazDetalhe
ComportamentoEstoque livre para movimentações e processamentos
Valor padrãoS — é o default do banco (DEFAULT 'N')
RestriçãoNenhuma — todas as rotinas de estoque operam normalmente

Simulação passo a passo​

  1. Acesse MEQ001 (Parâmetros de Estoque).
  2. Vá até a aba &Estoque.
  3. No combo Bloquear Estoque, selecione Não.
  4. Salve a tela (<Ctrl+S> ou botão Salvar).
  5. Gere uma nota fiscal ou pedido que movimente estoque (ex: venda do produto X com quantidade 10).
  6. 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 fazDetalhe
ComportamentoBloqueia processamento de estoque e considera movimentos bloqueados nos cálculos
Valor padrão—
RestriçãoExige sessão ativa do módulo GERES ao abrir o sistema; caso contrário exibe alerta I-1734

Simulação passo a passo​

  1. Acesse MEQ001 (Parâmetros de Estoque).
  2. Vá até a aba &Estoque.
  3. No combo Bloquear Estoque, selecione Sim.
  4. Salve a tela (<Ctrl+S> ou botão Salvar).
  5. Feche e reabra o sistema sem abrir o módulo GERES.
  6. 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. Se ST_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_ESTOQUE lê ST_BLOQUEIO junto com outros parâmetros de custo (TP_CUSTOESTOQUE, ST_CUSTONEGATIVO, etc.) antes de gerar movimentos.
  • CANCELA_ESTOQUE lê ST_BLOQUEIO e armazena em V_ST_PARMBLOQUEIO para uso nas validações de cancelamento.
  • RETORNA_ESTOQUECOMPROMETIDO lê ST_BLOQUEIO e ST_CONSIDERABLOQ. Quando ST_BLOQUEIO = 'S', consulta movimentos com ST_BLOQUEADO = 'C' e separa entradas e saídas bloqueadas, retornando O_QT_BLOQUEADA.
  • Na abertura do sistema, VerificaProcessamentoEstoque executa SELECT PE.ST_BLOQUEIO FROM PARMESTOQUE PE WHERE PE.CD_EMPRESA = <empresa> e, se o resultado for 'S', verifica se há conexões ativas com CD_MODULO = 'GERES' na tabela SESSAO.

Tabela Comparativa Resumida​

AspectoN (Não)S (Sim)
Geração de estoqueLivrePode ser bloqueada pelo script
Cancelamento de estoqueLivreParâmetro consultado antes do cancelamento
Estoque comprometidoNão considera movimentos bloqueadosConsidera movimentos ST_BLOQUEADO = 'C' como indisponíveis
Alerta na aberturaNãoExibe I-1734 se GERES inativo
Sessão GERES exigidaNãoSim

Procedures impactadas​

Rotinas Delphi com referência direta ao parâmetro​

RotinaArquivoLinhaTrecho
TmainDataModule.VerificaProcessamentoEstoquesource/Junsoft/UmainDataModule.pas248SELECT PE.ST_BLOQUEIO — verifica se estoque está bloqueado e exige sessão GERES

Scripts SQL com referência direta ao campo ST_BLOQUEIO​

Procedure/ViewArquivoLinhaUso
GERA_ESTOQUEScripts/GERA_ESTOQUE.sql66, 148Declara I_ST_BLOQUEIO e consulta de PARMESTOQUE
CANCELA_ESTOQUEScripts/CANCELA_ESTOQUE.sql98SELECT ST_BLOQUEIO, TP_CUSTOESTOQUE FROM PARMESTOQUE
RETORNA_ESTOQUECOMPROMETIDOScripts/RETORNA_ESTOQUECOMPROMETIDO.sql29, 40, 143Consulta e usa V_ST_BLOQUEIO para incluir bloqueados
RETORNA_ESTOQUECOMPROMETGRADEScripts/RETORNA_ESTOQUECOMPROMETGRADE.sql16Declara V_ST_BLOQUEIO
RETORNA_ESTOQUECOMPROMETLOCALScripts/RETORNA_ESTOQUECOMPROMETLOCAL.sql24Declara V_ST_BLOQUEIO
RETORNA_QTDECOMPROMETIDAScripts/RETORNA_QTDECOMPROMETIDA.sql36Declara V_ST_BLOQUEIO
RETORNA_QTDEESTOQUEGRADEScripts/RETORNA_QTDEESTOQUEGRADE.sql21Declara V_ST_BLOQUEIO
GERA_PEDIDOCOTACAOPECAScripts/GERA_PEDIDOCOTACAOPECA.sql38Declara V_ST_BLOQUEIO
RETORNA_COMPLEMENTOScripts/RETORNA_COMPLEMENTO.sql16Parâmetro O_ST_BLOQUEIO
VALIDA_MODELOBLOQUEIODIASATRASOScripts/VALIDA_MODELOBLOQUEIODIASATRASO.sql8Parâmetro I_ST_BLOQUEIO
VALIDA_MODELOBLOQUEIOVLLIMITEScripts/VALIDA_MODELOBLOQUEIOVLLIMITE.sql10Parâmetro I_ST_BLOQUEIO
VERIFICA_CREDITOScripts/VERIFICA_CREDITO.sql7Variá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/ViewArquivo
AJUSTA_ORDEMPRODPEDANTECIPADOScripts/AJUSTA_ORDEMPRODPEDANTECIPADO.sql
ALTERACAO_BANDAScripts/ALTERACAO_BANDA.sql
ATUALIZA_CONSUMOMEDIOScripts/ATUALIZA_CONSUMOMEDIO.sql
ATUALIZA_ESTOQUEDIAPESSOAScripts/ATUALIZA_ESTOQUEDIAPESSOA.sql
CALCULA_FORMACAOPRECOVENDAScripts/CALCULA_FORMACAOPRECOVENDA.sql
CONFIRMA_ORDEMSERVICOScripts/CONFIRMA_ORDEMSERVICO.sql
CONFIRMA_ORDEMSERVICOMETALScripts/CONFIRMA_ORDEMSERVICOMETAL.sql
GERA_ESTOQUE_NOTAFISCALScripts/GERA_ESTOQUE_NOTAFISCAL.sql
GERA_ESTOQUEPSALTScripts/GERA_ESTOQUEPSALT.sql
GERA_NOTAFISCALESTOQUEScripts/GERA_NOTAFISCALESTOQUE.sql
GERA_ORDEMPRODUCAOScripts/GERA_ORDEMPRODUCAO.sql
GERA_PRODENVELOPAMENTOScripts/GERA_PRODENVELOPAMENTO.sql
GERA_PRODLOTEPRODUCAOScripts/GERA_PRODLOTEPRODUCAO.sql
GERA_PRODMONTAGEMRECAPScripts/GERA_PRODMONTAGEMRECAP.sql
GERA_PRODVULCANIZACAOScripts/GERA_PRODVULCANIZACAO.sql
GERA_SPEDBLOCOLScripts/GERA_SPEDBLOCOL.sql
GERA_SPEDECFBLOCOLScripts/GERA_SPEDECFBLOCOL.sql
GRAVA_AVISOSScripts/GRAVA_AVISOS.sql
MONTA_ORDEMPRODITEMPEDIDOGRADEScripts/MONTA_ORDEMPRODITEMPEDIDOGRADE.sql
MONTA_ORDEMPRODUCAOPEDIDOScripts/MONTA_ORDEMPRODUCAOPEDIDO.sql