Pular para o conteúdo principal

ST_ZERAVALORSALDO — Zerar Valor ao Zerar Saldo Automaticamente

Tela de configuração: MEQ001 — Parâmetros de Estoque Localização: Parâmetros → Aba &Estoque → Combobox "Zerar valor ao zerar saldo automaticamente" Tabela / Campo: PARMESTOQUE.ST_ZERAVALORSALDO — CHAR(1), DEFAULT 'N' NOT NULL Valor padrão: N (Não)

Visão Geral​

Controla se o sistema deve zerar automaticamente o valor (custo) do saldo de estoque quando a quantidade do saldo chega a zero após uma movimentação. Quando habilitado, o sistema ajusta o valor do movimento para que o saldo em valor também fique zerado, evitando resíduos monetários em produtos sem quantidade.

Campos Envolvidos​

CampoTabelaTipoDescrição
ST_ZERAVALORSALDOPARMESTOQUECHAR(1)Habilita/desabilita o zereamento automático do valor

Opções Disponíveis​

S — Sim (Zerar Valor Automaticamente)​

O que fazDetalhe
Zera o valor do saldoQuando uma movimentação deixa o saldo em quantidade = 0, o sistema ajusta o valor do movimento para que o saldo em valor também fique = 0
Condição — SaídaAplica quando a operação é de saída e o saldo anterior em valor é positivo
Condição — EntradaAplica quando a operação é de entrada e o saldo anterior em valor é negativo
Ajuste automáticoMarca internamente o movimento como ajuste automático (ST_AJUSTEAUTOMATICO = 'S')

Simulação Passo a Passo​

  1. Acesse MEQ001 → aba &Estoque.
  2. No campo "Zerar valor ao zerar saldo automaticamente", selecione Sim.
  3. Salve o registro.
  4. Localize um produto cujo saldo em quantidade seja 1 un e o valor do saldo seja R$ 15,00.
  5. Realize uma saída de 1 un desse produto.
  6. Após a confirmação da movimentação, consulte o saldo do produto.
  7. Observe que o saldo em quantidade = 0 e o saldo em valor = R$ 0,00.
  8. O movimento foi ajustado automaticamente para que o valor não fique residual.

Resultado esperado: O saldo do produto fica com quantidade = 0 e valor = R$ 0,00, sem resíduos monetários. O sistema registra o movimento com o ajuste de valor aplicado automaticamente.


N — Não (Não Zerar Valor)​

O que fazDetalhe
Não altera o valor do saldoMesmo quando a quantidade chega a zero, o valor residual permanece no saldo
Comportamento padrãoValor padrão ao inserir novo registro em PARMESTOQUE

Simulação Passo a Passo​

  1. Acesse MEQ001 → aba &Estoque.
  2. No campo "Zerar valor ao zerar saldo automaticamente", selecione Não.
  3. Salve o registro.
  4. Localize um produto cujo saldo em quantidade seja 1 un e o valor do saldo seja R$ 15,00.
  5. Realize uma saída de 1 un desse produto.
  6. Após a confirmação da movimentação, consulte o saldo do produto.
  7. Observe que o saldo em quantidade = 0, mas o saldo em valor pode manter um resíduo (ex: R$ 0,01 ou outro valor residual).

Resultado esperado: O saldo em quantidade fica zerado, mas o valor residual permanece. Para zerar o valor, será necessário um ajuste manual ou utilizar o processo de recálculo de estoque.

Excecao / Importante:

  • Este parâmetro atua em conjunto com ST_AJUSTACUSTONEGATIVO (configurado em MEQ001, aba &Estoque), que controla o ajuste automático de custos negativos.
  • O zereamento automático do valor ocorre tanto no processo de geração de estoque (GERA_ESTOQUE) quanto no recálculo de estoque (RECALCULA_ESTOQUE).
  • Ajustes de custo médio e último custo para zero também são aplicados quando o parâmetro está ativo e há condições específicas de custo negativo.

Telas Impactadas​

TelaImpacto
MEQ001 — Parâmetros de EstoqueTela de configuração do parâmetro
Movimentações de Estoque (geração)Afeta o cálculo de valores ao zerar saldo em quantidade durante GERA_ESTOQUE
Recálculo de EstoqueAfeta o cálculo de valores ao zerar saldo em quantidade durante RECALCULA_ESTOQUE

Procedures Impactadas​

Rotinas Delphi​

RotinaArquivoEvidência
TdmMEQ001.tabPARMESTOQUEAfterInsertsource/MEQ001/UdmMEQ001.pas:301Define valor padrão 'N' ao inserir novo registro

Scripts SQL com Referência Direta ao Campo​

ProcedureArquivoEvidência
GERA_ESTOQUEScripts/GERA_ESTOQUE.sql:86,567Declara variável I_ST_ZERAVALORSALDO e verifica = 'S' para zerar valor do movimento
RECALCULA_ESTOQUEScripts/RECALCULA_ESTOQUE.sql:98,717Declara variável I_ST_ZERAVALORSALDO e verifica = 'S' para zerar valor do movimento

Candidatas por Uso da Tabela PARMESTOQUE​

Nenhuma referência direta ao campo ST_ZERAVALORSALDO foi encontrada nas demais procedures que acessam a tabela PARMESTOQUE. As candidatas listadas abaixo usam a tabela mas não citam o campo — não há impacto funcional direto documentado.

Lógica de Negócio (Referência Técnica)​

Quando ST_ZERAVALORSALDO = 'S', o sistema aplica a seguinte regra após cada movimentação:

SE saldo_quantidade = 0 E saldo_valor <> 0 ENTÃO
SE (operação = Saída E saldo_valor_anterior > 0)
OU (operação = Entrada E saldo_valor_anterior < 0) ENTÃO
valor_movimento = ABS(saldo_valor_anterior)
saldo_valor = 0
marca_ajuste_automatico = 'S'
FIM
FIM