Pular para o conteúdo principal

ST_AJUSTACUSTONEGATIVO – Ajusta Custo Negativo Automaticamente

Tela de configuração: MEQ001 – Parâmetros de Estoque Localização na UI: Parâmetros → Aba &Estoque → Campo "Ajusta custo negativo automaticamente" Tabela / Coluna: PARMESTOQUE.ST_AJUSTACUSTONEGATIVO Tipo: CHAR(1) — Combobox (Sim/Não) Valor padrão: N


Comportamento Geral​

Quando habilitado (S), o sistema ajusta automaticamente os valores de custo médio e último custo durante o processamento de movimentações de estoque, impedindo que o saldo em valor ou preço médio fique negativo. O ajuste ocorre nas rotinas GERA_ESTOQUE e RECALCULA_ESTOQUE.

Os movimentos ajustados são identificados pelo campo "Ajuste" na tela CEQ005 (consulta de movimentos de estoque).


Campos envolvidos​

CampoDescrição
PARMESTOQUE.ST_AJUSTACUSTONEGATIVOFlag S/N que ativa o ajuste automático
ESTOQUE.VL_PRECOMEDIO / VL_CUSTOMEDIOCusto médio do produto (zerado pelo ajuste)
ESTOQUE.VL_ULTIMOCUSTOÚltimo custo registrado (zerado pelo ajuste)
ESTOQUE.VL_ESTOQUE / VL_ATUAL / VL_SALDOValor total do saldo em estoque

Opções disponíveis​

S – Sim (Ajuste Automático Ativo)​

O que fazDetalhe
Ajusta custo automaticamenteQuando o saldo em valor/preço médio ficaria negativo após uma movimentação, o sistema recalcula para zero
Marca campo "Ajuste"Na tela CEQ005, o movimento ajustado fica identificado

Simulação passo a passo​

  1. Acesse MEQ001 (Parâmetros de Estoque).
  2. Vá até a aba &Estoque.
  3. Localize o campo "Ajusta custo negativo automaticamente".
  4. Selecione "Sim" (S).
  5. Salve o registro.
  6. Realize uma saída de estoque que deixe o saldo em valor negativo (ex.: produto com custo médio R$ 10,00, saldo de 5 unidades, saia 10 unidades).
  7. Processe a movimentação via GERA_ESTOQUE.
  8. Consulte o movimento em CEQ005 — observe que o campo "Ajuste" indica que houve ajuste automático e o custo médio foi zerado.

Resultado esperado: O sistema ajusta o valor do movimento para zerar o saldo em valor e o preço médio. O campo "Ajuste" na CEQ005 marca o movimento como ajustado.

Excecao / Importante: O ajuste ocorre em três cenários distintos, todos processados nas rotinas GERA_ESTOQUE e RECALCULA_ESTOQUE:

  • Saldo anterior de valor zerado: entrada com quantidade > 0 a custo médio → preço médio e último custo são zerados.
  • Saldo anterior positivo (qty e valor) mas saldo atual fica negativo: valor do movimento é ajustado para zerar o saldo em valor.
  • Saldo anterior de quantidade negativo e saldo atual fica negativo em qty e valor: mesmo ajuste para zerar o saldo em valor.

N – Não (Sem Ajuste Automático)​

O que fazDetalhe
Não ajusta custo automaticamenteO saldo em valor/preço médio pode ficar negativo sem intervenção do sistema
Campo "Ajuste" não é preenchidoNa CEQ005, não há marcação de ajuste

Simulação passo a passo​

  1. Acesse MEQ001 (Parâmetros de Estoque).
  2. Vá até a aba &Estoque.
  3. Localize o campo "Ajusta custo negativo automaticamente".
  4. Selecione "Não" (N).
  5. Salve o registro.
  6. Realize uma saída de estoque que deixe o saldo em valor negativo.
  7. Processe a movimentação via GERA_ESTOQUE.
  8. Consulte o saldo em estoque — o preço médio e o valor do saldo podem permanecer negativos.

Resultado esperado: Nenhum ajuste é aplicado. O custo médio e o valor do saldo podem ficar negativos, dependendo das configurações de ST_CUSTONEGATIVO (configurado em MEQ001, aba &Estoque).


Procedures impactadas​

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

RotinaArquivoLinhaEvidência
TdmMEQ001.tabPARMESTOQUEAfterInsertsource/MEQ001/UdmMEQ001.pas302Define valor padrão 'N' ao inserir novo registro

Referências SQL diretas ao campo​

Procedure/ScriptArquivoLinhaEvidência
GERA_ESTOQUEScripts/GERA_ESTOQUE.sql87, 579Declara variável I_ST_AJUSTACUSTONEGATIVO; lê da tabela PARMESTOQUE e aplica ajuste quando 'S'
RECALCULA_ESTOQUEScripts/RECALCULA_ESTOQUE.sql99, 730Declara variável I_ST_AJUSTACUSTONEGATIVO; lê da tabela PARMESTOQUE e aplica ajuste quando 'S'

Candidatas por uso da tabela PARMESTOQUE​

Nenhuma referência direta ao campo ST_AJUSTACUSTONEGATIVO foi encontrada fora das duas rotinas acima. As demais procedures listadas abaixo acessam a tabela PARMESTOQUE para outros campos:

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


Parâmetros relacionados​

ParâmetroOnde configurarRelação
ST_CUSTONEGATIVOMEQ001 — aba &EstoqueControla se o custo negativo é permitido; complementa ST_AJUSTACUSTONEGATIVO
TP_CUSTOESTOQUEMEQ001 — aba &EstoqueDefine o tipo de custo (Médio, FIFO, etc.); afeta qual custo é ajustado
ST_ZERAVALORSALDOMEQ001 — aba &EstoqueParâmetro adjacente na mesma aba; controla zeramento de saldo em valor