ST_COMPROMETIDOCOMPRA – Comprometer Estoque em Pedidos de Compra
Tela de configuração: MEQ001 – Parâmetros de Estoque Localização: Aba &Estoque → campo "Comprometido Compra" Tabela:
PARMESTOQUE.ST_COMPROMETIDOCOMPRATipo:CHAR(1)· Valor padrão:N· NOT NULL Componente:cmbST_COMPROMETICOCOMPRA(ComboBox ligado admMEQ001.dsPARMESTOQUE)
Resumo
Controla se pedidos de compra (tipo de operação de entrada) devem ser considerados como estoque comprometido nos cálculos de saldo disponível.
Quando habilitado (S), o sistema passa a subtrair as quantidades pendentes de recebimento em pedidos de compra do saldo disponível do produto, afetando consultas de estoque por grade, por local e views de requisições/conferências.
Campos envolvidos
| Campo | Tabela | Tipo | Default |
|---|---|---|---|
ST_COMPROMETIDOCOMPRA | PARMESTOQUE | DOM_CHAR1 | 'N' |
Telas impactadas
| Tela | Impacto |
|---|---|
| MEQ001 | Tela de configuração do parâmetro |
| CNF005 | Consulta de conferência de estoque – usa VIEW_CNF005 que consulta comprometimento de compra |
| REQ010 | Requisições – usa VIEW_REQ010 que verifica comprometimento de compra |
Opções disponíveis
N – Não Comprometer Pedidos de Compra (Padrão)
| O que faz | Detalhe |
|---|---|
| Comportamento | Pedidos de compra não são considerados como estoque comprometido |
| Efeito nos cálculos | Quantidades pendentes de recebimento em pedidos de compra não afetam o saldo disponível |
| Valor padrão | Sim |
Simulação passo a passo
- Acesse MEQ001 → aba &Estoque.
- Localize o campo "Comprometido Compra".
- Selecione "Não" (valor
N). - Salve o parâmetro.
- Cadastre um pedido de compra para o Produto X com 100 unidades pendentes de recebimento.
- Consulte o saldo disponível do Produto X (via CNF005 ou relatório de estoque).
- Observe que o saldo disponível não foi reduzido pelas 100 unidades do pedido de compra.
Resultado esperado: O saldo disponível do produto não considera quantidades vinculadas a pedidos de compra. Apenas o estoque físico e comprometidos de venda/produção são calculados.
S – Comprometer Pedidos de Compra
| O que faz | Detalhe |
|---|---|
| Comportamento | Pedidos de compra são considerados como estoque comprometido |
| Efeito nos cálculos | Quantidades pendentes de recebimento em pedidos de compra são incluídas no cálculo de estoque comprometido |
| Saída calculada | O_QT_RECEBER (quantidade a receber) é populada com saldos de pedidos tipo 'E' |
Simulação passo a passo
- Acesse MEQ001 → aba &Estoque.
- Localize o campo "Comprometido Compra".
- Selecione "Sim" (valor
S). - Salve o parâmetro.
- Cadastre um pedido de compra para o Produto X com 100 unidades pendentes de recebimento.
- Consulte o estoque comprometido do Produto X (via consulta que utiliza
RETORNA_ESTOQUECOMPROMETIDO). - Observe que o campo "A Receber" (
O_QT_RECEBER) exibe 100 unidades.
Resultado esperado: O sistema passa a contabilizar as quantidades pendentes de pedidos de compra como estoque comprometido, refletindo no campo "A Receber" das consultas de estoque.
Exceção / Importante: Este parâmetro atua em conjunto com
ST_COMPROMETIDO(configurado em MEQ001 — Parâmetros de Estoque, aba &Estoque). SeST_COMPROMETIDO = 'N', a lógica de comprometimento de vendas/produção fica desabilitada, masST_COMPROMETIDOCOMPRAcontinua operando de forma independente para pedidos de compra.
Regra Geral
O parâmetro é lido em tempo de execução pelas procedures de cálculo de estoque. A lógica segue o padrão:
-- Trecho simplificado de RETORNA_ESTOQUECOMPROMETIDO
IF ( COALESCE(V_ST_COMPROMETIDOCOMPRA,'N') = 'S' ) THEN
BEGIN
SELECT O_QT_SALDO
FROM RETORNA_SALDOPRODUTOPEDIDO(:I_CD_EMPRESA, :I_CD_ITEM, 'E', :I_DT_POSICAO)
INTO :V_QT_PEDIDO;
O_QT_RECEBER = COALESCE(O_QT_RECEBER,0) + COALESCE(V_QT_PEDIDO,0);
END
O parâmetro é consultado diretamente da tabela PARMESTOQUE a cada cálculo, garantindo que mudanças na configuração tenham efeito imediato.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Evidência |
|---|---|---|
TdmMEQ001.tabPARMESTOQUEAfterInsert | UdmMEQ001.pas:278 | Define valor padrão 'N' ao inserir novo registro |
Scripts SQL com referência direta ao campo
| Procedure / View | Arquivo | Uso do campo |
|---|---|---|
RETORNA_ESTOQUECOMPROMETIDO | RETORNA_ESTOQUECOMPROMETIDO.sql | Parâmetro de entrada I_ST_COMPROMETIDOCOMPRA; lê ST_COMPROMETIDOCOMPRA de PARMESTOQUE; se 'S', consulta pedidos tipo 'E' e popula O_QT_RECEBER |
RETORNA_ESTOQUECOMPROMETGRADE | RETORNA_ESTOQUECOMPROMETGRADE.sql | Declara V_ST_COMPROMETIDOCOMPRA; se 'S', calcula quantidade a receber por grade |
RETORNA_ESTOQUECOMPROMETLOCAL | RETORNA_ESTOQUECOMPROMETLOCAL.sql | Declara V_ST_COMPROMETIDOCOMPRA; se 'S', calcula quantidade a receber por local |
RETORNA_QTDEESTOQUEGRADE | RETORNA_QTDEESTOQUEGRADE.sql | Declara V_ST_COMPROMETIDOCOMPRA; se 'S', inclui pedidos de compra no cálculo de quantidade por grade |
VIEW_CNF005 | VIEW_CNF005.sql | Parâmetro de entrada I_ST_COMPROMETIDOCOMPRA; passa para RETORNA_ESTOQUECOMPROMETIDO |
VIEW_REQ010 | VIEW_REQ010.sql | Lê ST_COMPROMETIDOCOMPRA de PARMESTOQUE; se 'S', inclui lógica de comprometimento de compra na view |
Candidatas por uso da tabela PARMESTOQUE
Não foram encontradas referências diretas ao campo ST_COMPROMETIDOCOMPRA em outras procedures. As demais procedures que acessam a tabela PARMESTOQUE (listadas no inventário) não utilizam este campo específico.
Tabela Comparativa Resumida
| Aspecto | N (Não) | S (Sim) |
|---|---|---|
| Pedidos de compra comprometem estoque? | Não | Sim |
| Campo "A Receber" populado? | Não | Sim |
| Cálculo de saldo disponível afetado? | Não | Sim (subtrai quantidades a receber) |
| Impacto em consultas de grade/local | Sem impacto | Quantidades de compra incluídas |