Bom dia à todos.
Gostaria de saber se existe algum P.E na MATA410 onde eu possa controlar se o pedido irá reservar estoque ou não?
Tenha a seguinte situação, temos um campo no pedido de vendas, onde o vendedor colocar se está liberado para faturar, aguardando complemento entre outra opções, e também temos a opção de Orçamento (não usamos o orçamento do protheus pois temos muitas customizações e validações no pedido de vendas), e quando o vendedor colocar que é um orçamento eu não posso reservar estoque para ele, no caso ele teria que ficar com a legenda verde (pedido de venda em aberto).
Olá Edson, no caso esse campo acho que não iria me atender sou novo também em Advpl, apenas 6 meses, não sei também se estou utilizando o P.E. correto, estou tentando fazer utilizando o MT410INC e o MT410ALT, até então fiz da seguinte maneira:
User Function MT410INC()
Local _aArea := GetArea()
Local _cPed := SC5->C5_NUM
// VALIDA SE NÃO LIBEROU ESTOQUE
If !(!Empty(SC5->C5_LIBEROK) .And. Empty(SC5->C5_NOTA) .And. Empty(SC5->C5_BLQ))
Return
EndIf
U_FATP1Est(xFilial("SC5"), _cPed)
If RecLock("SC5",.F.)
SC5->C5_LIBEROK := ""
MsUnlock()
Endif
RestArea(_aArea)
Return
User Function FATP1Est(_cFilial, _cNum)
Local _aAreaX := GetArea()
DbSelectArea("SC9")
dbSetOrder(1)
If dbSeek(_cFilial+_cNum)
//Estorna item a item do pedido
While SC9->(!Eof()) .And. SC9->(C9_FILIAL+C9_PEDIDO) == (_cFilial+_cNum)
A460Estorna( .F., .T., 0 )
dbSelectArea("SC9")
DbSkip()
EndDo
EndIf
RestArea(_aAreaX)
Return
Boa tarde Lucas,
Se entendi correto, o vendedor lança o pedido como se fosse um orçamento, desta forma entendo que não precisa ter analise de credito e estoque, se for desta forma ajustando o parâmetro F12 - “Sugere Qtde Liber?” no pedido de venda não haverá reserva de estoque dos produtos.
Caso seja outro processo, então deve realizar o estorno via customização.
Boa tarde Edson, o meu fonte acima que postei está correto, o problema é que depois de passar por esse P.E. ele passa pelo M410STTS e neste P.E. após eu tirar a reserva de estoque com a função A460Estorna ele estava refazendo a reserva.
eu só adicionei um If M->C5_XSIT == “8” // orçamento, ele executa a função acima e o pedido fica sem reserva de estoque, caso estiver por exemplo liberado para faturar ele fica “amarelo” e reserva o estoque para ser faturado.
Obrigado pelas respostas.