Pular para o conteúdo principal

ST_ESTOQUECOMPROMETIDO - Parâmetro de Tipo de Estoque

Tela de configuração: MEQ001 — Parâmetros de Estoque Localização: Aba &Estoque → Grupo grpEstoque Tabela: PARMESTOQUE.ST_ESTOQUECOMPROMETIDO Componente: cmbST_ESTOQUECOMPROMETIDO (combobox) Valor padrão: F (Estoque Físico) Tipo: CHAR(1) — DOM_CHAR1

Telas impactadas​

TelaDescriçãoUso do parâmetro
MEQ001Parâmetros de EstoqueConfiguração principal
REQ003Relatório de EstoqueCheckbox cmbST_ESTOQUECOMPROMETIDO influencia layout do relatório
CEQ001Parâmetros da EmpresaCampo ST_ESTOQUECOMPROMETIDO na tabela EMPRESA
MFA001Parâmetros de FaturamentoST_ALERTAESTOQUENEGATIVO depende deste parâmetro para cálculo de saldo comprometido

Campos envolvidos​

CampoTabelaTipoDefaultObrigatoriedade
ST_ESTOQUECOMPROMETIDOPARMESTOQUECHAR(1)FNOT NULL

Opções disponíveis​

ValorDescriçãoEditávelRequerRestrição
FEstoque Físico (padrão)Sim—Nenhuma
CEstoque ComprometidoSim—Nenhuma

F — Estoque Físico (Padrão)​

Usa a quantidade disponível real em estoque (saldo físico) para verificação de negativação. Pedidos pendentes não são descontados do saldo — o sistema valida apenas a quantidade existente no estoque físico.

Simulação passo a passo​

  1. Acesse MEQ001 — Parâmetros de Estoque.
  2. Na aba &Estoque, localize o campo Estoque Comprometido na Produção.
  3. Selecione a opção Estoque Físico (F).
  4. Salve as alterações (F6 ou botão Salvar).

Resultado esperado: Nas procedures VERIFICA_ESTOQUENEGATIVOPEDIDO e VERIFICA_ESTOQUENEGATIVONOTA, ao validar itens com ST_ESTOQUECOMPROMETIDO = 'F', o sistema utiliza o saldo físico disponível (RETORNA_ESTOQUECOMPROMETIDO) para checar se há estoque suficiente. Pedidos abertos/pendentes não são abatidos do cálculo — o bloco de validação entra porque <> 'N'.

Em MONTA_ORDEMPRODUCAOSERVICO, a geração de ordens de produção pela Ordem de Serviço usa o estoque físico real para verificar saldo de matéria-prima.

C — Estoque Comprometido​

Considera as quantidades já comprometidas em pedidos e ordens em aberto para o cálculo do saldo disponível. O sistema desconta do estoque físico todas as reservas pendentes, resultando em um saldo líquido comprometido.

Simulação passo a passo​

  1. Acesse MEQ001 — Parâmetros de Estoque.
  2. Na aba &Estoque, localize o campo Estoque Comprometido na Produção.
  3. Selecione a opção Estoque Comprometido (C).
  4. Salve as alterações (F6 ou botão Salvar).

Resultado esperado: O parâmetro passa a ser 'C' em PARMESTOQUE. Nas procedures de validação de estoque negativo (VERIFICA_ESTOQUENEGATIVOPEDIDO e VERIFICA_ESTOQUENEGATIVONOTA), a função RETORNA_ESTOQUECOMPROMETIDO retorna o saldo já considerando as reservas pendentes, resultando em um saldo líquido menor que o físico. Em MONTA_ORDEMPRODUCAOSERVICO, a verificação de saldo para ordens de produção pode considerar o estoque comprometido (embora o caminho 'C' esteja parcialmente comentado no código — linha 159).

Exceção / Importante: No script MONTA_ORDEMPRODUCAOSERVICO.sql, a linha 158–159 contém um comentário explícito: --IF (V_ST_ESTOQUECOMPROMETIDO = 'C') THEN -- PARAMETRO NA MEQ001 ESTOQUECOMPROMETIDO DIFERENTE DE FISICO(PADRÃO). Isso indica que o caminho alternativo para 'C' nessa rotina não está ativo no momento. O efeito funcional de 'C' vs 'F' nesse script é, portanto, limitado ou inexistente. Nas procedures VERIFICA_ESTOQUENEGATIVO*, ambas ('F' e 'C') são tratadas igualmente pois a condição é <> 'N'.

Regras de Negócio​

Interação com outros parâmetros​

ParâmetroRelaçãoConfiguração
PARMFATUR.ST_ALERTAESTOQUENEGATIVOA verificação de estoque comprometido só é executada se ST_ESTOQUECOMPROMETIDO <> 'N'MFA001 — Parâmetros de Faturamento
PARMFATUR.ST_ESTOQUENEGATIVOAtiva a rotina que chama a verificação de estoque comprometidoMFA001 — Parâmetros de Faturamento
PARMESTOQUE.ST_PRODUCAOQuando ST_ESTOQUECOMPROMETIDO muda, o combo pode ser desabilitado dependendo de ST_PRODUCAO (UMEQ001.pas:1787)MEQ001 — Parâmetros de Estoque

Fluxo de verificação de estoque negativo (pedido)​

Quando ST_ESTOQUENEGATIVO = 'S' (em PARMFATUR) e ST_ESTOQUECOMPROMETIDO <> 'N':

  1. VERIFICA_ESTOQUENEGATIVOPEDIDO busca o parâmetro (linha 34–38).
  2. Se ST_ESTOQUEITEM = 'C', chama RETORNA_ESTOQUECOMPROMETIDO para obter saldo comprometido (linha 62–66).
  3. Compara quantidade do pedido (QT_ITEMPEDIDO) com o saldo disponível (V_QT_ESTCOMPROMETIDO).
  4. Se o saldo for insuficiente, retorna O_ST_ALERTABLOQUEIA = 'S' com a mensagem de estoque negativo.

Fluxo de verificação de estoque negativo (nota)​

Mesmo padrão de pedido, porém em VERIFICA_ESTOQUENEGATIVONOTA:

  • Inclui verificação de ST_PRODUCAO (ST_PRODUCAOAUTO) antes de prosseguir com a validação do item.
  • Passa CD_TIPOLOCAL e CD_LOCAL para RETORNA_ESTOQUECOMPROMETIDO (linha 70–72).

Procedures impactadas​

Rotinas Delphi com referência direta​

RotinaArquivoLinhaEvidência
TfrmMEQ001.cmbST_PRODUCAOChangesource/MEQ001/UMEQ001.pas1787cmbST_ESTOQUECOMPROMETIDO.Enabled := False;
TdmMEQ001.tabPARMESTOQUEAfterInsertsource/MEQ001/UdmMEQ001.pas293tabPARMESTOQUEST_ESTOQUECOMPROMETIDO.AsString := 'F';
TfrmREQ003.btnImprimirClicksource/REQ003/UREQ003.pas406if (cmbST_ESTOQUECOMPROMETIDO.Value = 'N') then
TfrmREQ003.cmbMD_LAYOUTChangesource/REQ003/UREQ003.pas758cmbST_ESTOQUECOMPROMETIDO.Value := 'N';
TfrmCEQ001.btnNovoClicksource/CEQ001/UCEQ001.pas330dmCEQ001.tabEMPRESAST_ESTOQUECOMPROMETIDO.AsString := 'T';
chkST_ESTOQUECOMPROMETIDOClicksource/TPO010/UTPO010.pas57procedure chkST_ESTOQUECOMPROMETIDOClick(Sender: TObject);
TfrmTPO010.chkST_ESTOQUECOMPROMETIDOClicksource/TPO010/UTPO010.pas495procedure TfrmTPO010.chkST_ESTOQUECOMPROMETIDOClick(Sender: TObject);
TdmTPO010.tabEMPRESAAfterInsertsource/TPO010/UdmTPO010.pas105tabEMPRESAST_ESTOQUECOMPROMETIDO.AsString := 'S';
chkST_ESTOQUECOMPROMETIDOClicksource/TPO018/UTPO018.pas59procedure chkST_ESTOQUECOMPROMETIDOClick(Sender: TObject);
TdmTPO018.tabEMPRESAAfterInsertsource/TPO018/UdmTPO018.pas105tabEMPRESAST_ESTOQUECOMPROMETIDO.AsString := 'S';

Referências SQL diretas ao campo​

ProcedureArquivoLinhaEvidência
MONTA_ORDEMPRODUCAOSERVICOScripts/MONTA_ORDEMPRODUCAOSERVICO.sql34, 46–51, 90, 98, 152IF (V_ST_ESTOQUECOMPROMETIDO = 'F') THEN / = 'C'
VERIFICA_ESTOQUENEGATIVONOTAScripts/VERIFICA_ESTOQUENEGATIVONOTA.sql25, 39–42, 102, 233IF (V_ST_ESTOQUECOMPROMETIDO <> 'N') THEN
VERIFICA_ESTOQUENEGATIVOPEDIDOScripts/VERIFICA_ESTOQUENEGATIVOPEDIDO.sql22, 34–38, 101, 240IF (V_ST_ESTOQUECOMPROMETIDO <> 'N') THEN

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

Estas procedures usam PARMESTOQUE mas não citam ST_ESTOQUECOMPROMETIDO literalmente — validar impacto antes de afirmar:

AJUSTA_ORDEMPRODPEDANTECIPADO, ALTERACAO_BANDA, ATUALIZA_CONSUMOMEDIO, ATUALIZA_ESTOQUEDIAPESSOA, CALCULA_FORMACAOPRECOVENDA, CANCELA_ESTOQUE, CONFIRMA_ORDEMSERVICO, CONFIRMA_ORDEMSERVICOMETAL, GERA_ESTOQUE, GERA_ESTOQUE_NOTAFISCAL, GERA_ESTOQUEPSALT, GERA_NOTAFISCALESTOQUE, GERA_ORDEMPRODUCAO, GERA_PRODENVELOPAMENTO, GERA_PRODLOTEPRODUCAO, GERA_PRODMONTAGEMRECAP, GERA_PRODVULCANIZACAO, GERA_SPEDBLOCOL, GERA_SPEDECFBLOCOL, GRAVA_AVISOS.

Observações​

  • Os valores 'F' e 'C' são funcionalmente equivalentes nas procedures VERIFICA_ESTOQUENEGATIVO* pois a condição é <> 'N'. A diferença prática ocorre no comportamento da procedure RETORNA_ESTOQUECOMPROMETIDO chamada em contexto.
  • CEQ001 atribui 'T' como padrão ao campo ST_ESTOQUECOMPROMETIDO na tabela EMPRESA — valor não presente nas opções da MEQ001 (F/C). Isto pode indicar comportamento específico por empresa.
  • TPO010 e TPO018 usam um checkbox chkST_ESTOQUECOMPROMETIDO com padrão 'S', sugerindo variação de semântica (booleano ao invés de enum).