MaResEst
Reserva estoque programaticamente. Usada em integracoes que pre-alocam saldo antes da gravacao do documento.
Assinatura: MaResEst(cProduto, nQtd, cArmazem, cLocaliz, cTM, cDoc) -> lOk
Retorna: Logical
MaResEst reserva estoque de um produto/armazem/localizacao antes do documento real ser gravado. Util pra carrinho de e-commerce, reserva pra orcamento, OP planejada.
If MaResEst("100001", 10, "01", "", "499", "PED001")
ConOut("Reservados 10 do produto 100001")
Else
ConOut("Sem saldo pra reservar")
EndIf
Pegadinhas
- Sem MaResAtu pra liberar — reserva nao usada precisa ser cancelada manualmente.
- Considera saldo virtual (SB2_QATU - SB2_RESERVA) — nao saldo fisico.
- Disponibilidade depende de MV_ESTNEG — empresa que permite negativo, sempre reserva.
- SD3 nao e atualizada — apenas SB2 (saldo) e SBF (reserva).