Alguem poderia dispor de um exemplo liberação de pedido de vendas por workflow ou rest?
Boa noite!
Eu uso a seguinte função:
Static Function fLibPed(cNumPed)
dbSelectArea("SC6")
SC6->(dbSetOrder(1))
SC6->(dbSeek(xFilial("SC6")+cNumPed))
While SC6->(!EOF()) .And. SC6->C6_FILIAL == xFilial("SC6") .And. SC6->C6_NUM == cNumPed
MaLibDoFat(SC6->(RecNo()),SC6->C6_QTDVEN,.F.,.F.,.F.,.F.,)
SC6->(dbSkip())
EndDo
Return
No teu caso, podes receber pelo POST o número do pedido, se posicionar nele na SC5 e chamar esta função. Sempre me ajuda.
A documentação em anexo está em outra pergunta do forum aqui. Tentei achar uma documentação da TOTVS referente a o MaLibDoFAt e não achei. Só acho outros fóruns.
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
Obrigado Raphael, vai me ajudar muito!
Tive que fazer uma correção:
MaLibDoFat(SC6->(RecNo()),SC6->C6_QTDVEN,.T.,.T.,.F.,.F.,)
Begin Transaction
SC6->(MaLiberOk({cNumPed},.F.))
End Transaction
End Transaction
O comentário do Marcos foi fundamental para fazer funcionar a personalização que eu estava realizando. Obrigado Marcos Bispo
Marcos Bispo Abrahão, por acaso vc teria como disponibilizar o trecho da rotina, aqui na empresa tenho a mesma liberação porem quando entra mais de um usuario o sistema trava e eu tenho que reiniciar os serviços. Se puder disponibilizar agradeço. Obrigado
Static Function fLibPed(cNumPed)
Local lOk := .F.
dbSelectArea("SC5")
SC5->(dbSetOrder(1))
SC5->(dbSeek(xFilial("SC5")+cNumPed))
If Empty(SC5->C5_LIBEROK) .And. Empty(SC5->C5_NOTA) .And. Empty(SC5->C5_BLQ)
// ponto de entrada - gravação da liberação do pedido de venda
u_BK440GR(1)
dbSelectArea("SC6")
SC6->(dbSetOrder(1))
SC6->(dbSeek(xFilial("SC6")+cNumPed))
While SC6->(!EOF()) .And. SC6->C6_FILIAL == xFilial("SC6") .And. SC6->C6_NUM == cNumPed
MaLibDoFat(SC6->(RecNo()),SC6->C6_QTDVEN,.T.,.T.,.F.,.F.,,,,{||SC9->C9_XXRM := SC5->C5_XXRM,SC9->C9_XXORPED := SC5->C5_XXTPNF})
Begin Transaction
SC6->(MaLiberOk({cNumPed},.F.))
End Transaction
SC6->(dbSkip())
EndDo
// Executar os pontos de entrada
u_MTA410T()
lOk := .T.
Else
lOk := .F.
EndIf
u_MsgLog("RESTLIBPV","Pedido "+cNumPed+" "+iIf(lOk,"liberado","não liberado"))
Return lOk