Resposta rápida
- Resposta curta
- o “Disponível” do F4 é o saldo atual menos reserva, empenho e outras quantidades já comprometidas daquele armazém.
- O parâmetro
MV_TPSALDOnão muda essa tela. Ele muda a conta de outras validações, e é aí que aparecem as duas respostas diferentes.- Antes de mexer em parâmetro
- confira as quantidades do armazém na tela do produto.
Nesta página5 seções
Você consulta o produto com F4 (por exemplo, na movimentação interna) e vê Saldo Atual 100 e Qtd. Disponível 70. Nada está errado: o saldo físico continua 100, e 30 já têm destino.
O que a tela desconta
A tela “Saldos em Estoque” lista um armazém por linha. Armazém com saldo indisponível (status 2) nem aparece na lista. Para os demais, o Disponível é o Saldo Atual menos:
| Quantidade (título na tela) | Quando desconta |
|---|---|
| Qtd. Reserva | Sempre |
| Empenho | Sempre |
| Qtd.a Endere | Sempre (quantidade que já está no estoque, mas ainda não foi endereçada) |
| Qtd. Emp. SA | Sempre |
| Qtd.Emp.Prj. | Sempre |
| Empen. Previ | Só se o parâmetro de empenho previsto estiver ligado |
| Qtd. Emp. NF | Só se o parâmetro de empenho por nota estiver ligado |
Não entram na conta, mesmo aparecendo na tela: pedidos de venda, entrada prevista e quantidades de terceiros. Um pedido de venda em carteira, sozinho, não reduz o Disponível: o que reduz é a reserva ou o empenho já gravados, venham de onde vierem. O total do rodapé é a soma dos armazéns listados.
Erro comum: achar que o parâmetro explica a tela
O parâmetro MV_TPSALDO define o tipo de saldo usado nas validações de movimento interno (requisição, baixa). O F4 não passa por ele, e por isso a reserva sempre é descontada ali.
A consequência é uma divergência legítima entre duas telas do mesmo produto:
MV_TPSALDO | O que a validação do movimento desconta |
|---|---|
Q (padrão do dicionário) | Reserva e quantidade a endereçar; não desconta o empenho |
S | Quase a mesma conta do F4, mas a reserva só sai se MV_SLDRESE for S |
C | Saldo recalculado até a data de referência, com reserva conforme MV_SLDRESE |
No exemplo da abertura, se os 30 comprometidos forem só reserva e o ambiente usar S com MV_SLDRESE = N, o F4 mostra 70 e a movimentação aceita tirar até 100. O inverso também vale: com Q, o empenho não entra na validação, mas entra no F4.
Qual valor vale no seu ambiente é decisão de quem configura; não mude sem entender o efeito nas requisições e baixas.
Se o número ainda não fecha
- Personalização: o padrão prevê pontos de entrada que alteram o disponível mostrado e as colunas da tela, e um que muda a regra de subtração da reserva. Se a TI do seu ambiente os usa, a conta acima é só a base.
- Empenho que parece sumir: a tela usa o empenho gravado no saldo do armazém. Só rotinas que calculam o saldo “até uma data” (ou o tipo
C) leem o empenho direto da tabela de empenhos por data; o F4 não faz isso. - Saldo físico errado, não disponível: se o Saldo Atual não bate com lotes e endereços, o assunto é outro. Veja como comparar SB2, SB8 e SBF.
Solução de problemas
| Sintoma | Causa provável | O que conferir |
|---|---|---|
| Disponível menor que o saldo, tudo certo no físico | Reserva ou empenho abertos | Qtd. Reserva e Empenho do armazém |
| Armazém sumiu do F4 | Saldo do armazém indisponível (status 2) | Status do saldo do armazém |
| F4 e a validação da movimentação discordam | Valor de MV_TPSALDO e MV_SLDRESE | Consulta de parâmetros abaixo |
| Disponível diferente do que a tabela calcula | Parâmetro de empenho previsto ou por nota, ou ponto de entrada | Mesma consulta e a TI |
Para TI e consultor: onde ver isso no banco
A tela lê a SB2, um registro por produto e armazém. A conta do F4, com os valores de fábrica dos parâmetros, é:
Disponível = B2_QATU - B2_RESERVA - B2_QEMP - B2_QACLASS
- B2_QEMPSA - B2_QEMPPRJB2_STATUS = 2 esconde o armazém. B2_QEMPPRE (empenho previsto) só subtrai se MV_QTDPREV = S, e B2_QEMPN (empenho por nota) só se MV_QEMPNF = T (e sem a integração de pedido com operação, MV_PVCOMOP ligado com a tabela SGJ). Ficam fora da conta B2_QPEDVEN, B2_SALPEDI, B2_QTNP, B2_QNPT e B2_QTER.
Na validação do movimento: com Q a conta é B2_QATU - B2_QACLASS - B2_RESERVA; com S o empenho sai (com opção de limitar por data, via MV_CONDEMP); com C o empenho pode ser ignorado com MV_SLDEMPE = S. O MV_SLDRESE só vale com MV_TPSALDO igual a S ou C.
Os parâmetros e seus valores:
SELECT X6_VAR, X6_TIPO, X6_DESCRIC, X6_CONTEUD
FROM SX6010
WHERE X6_VAR IN ('MV_TPSALDO', 'MV_SLDRESE', 'MV_SLDEMPE',
'MV_QTDPREV', 'MV_QEMPNF', 'MV_CONDEMP', 'MV_PVCOMOP')
AND D_E_L_E_T_ = ' 'Os campos da SB2 e a conta do F4 para um produto, trocando filial e código:
SELECT B2_LOCAL, B2_QATU, B2_RESERVA, B2_QEMP, B2_QACLASS,
B2_QEMPSA, B2_QEMPPRJ, B2_QEMPPRE, B2_QEMPN,
B2_QATU - B2_RESERVA - B2_QEMP - B2_QACLASS
- B2_QEMPSA - B2_QEMPPRJ AS DISPONIVEL
FROM SB2010
WHERE B2_FILIAL = '01' AND B2_COD = 'P-001'
AND B2_STATUS <> '2' AND D_E_L_E_T_ = ' '
ORDER BY B2_LOCALDISPONIVEL é a conta acima sem B2_QEMPPRE e B2_QEMPN. Se MV_QTDPREV for S, subtraia também B2_QEMPPRE; se MV_QEMPNF for T, subtraia B2_QEMPN. A coluna X6_CONTEUD pode estar vazia ou com outro valor no seu ambiente: o padrão do dicionário é só ponto de partida.
Continue por aqui
- Vídeo
ProtheusGuia de processo
Eliminar resíduo do pedido de venda: o que muda e o que não volta
Eliminar resíduo encerra o saldo que ainda não foi entregue de um pedido de venda. Veja onde fica a opção (no pedido e em lote), o que ela muda no pedido e por que não existe botão para desfazer.
- Vídeo
ProtheusGuia de processo
Não consigo excluir o pedido de venda: a liberação precisa ser estornada
O Protheus recusa a exclusão do pedido porque algum item já foi liberado para faturar. Veja como estornar a liberação em Estor.Doc's, o que impede o estorno e como conferir no banco.
- Vídeo
ProtheusGuia de processo
Configurador de Tributos (FISA170) para quem programa
O que o desenvolvedor precisa saber do Configurador de Tributos: tabelas, como o motor fiscal o aciona, a flag lCalcTG e como ler os tributos calculados.