No artigo de hoje, vamos demonstrar em como abrir a tela de pedido de vendas direto visualizando ou alterando um pedido, via código fonte.
Recentemente, um aluno nos perguntou, se haveria a possibilidade de abrir a tela do pedido de vendas, direto na opção de Visualizar ou Alterar num pedido posicionado.
Para fazer isso então, montamos o trecho de exemplo abaixo, onde o que precisa ser feito é:
- Posicionar no Pedido de Venda (através do MsSeek ou DbGoTo)
- Alterar as variáveis INCLUI e ALTERA do Protheus conforme sua necessidade
- Acionar a função MATA410, informando o quarto parâmetro sendo qual função você desejaria executar, como por exemplo: A410Visual, A410Inclui, A410Altera e A410Deleta
- Com isso, a tela do pedido de venda, será aberta para digitação das informações
Abaixo um exemplo, acionando a visualização:
//Define o pedido e a filial
cFilPed := FWxFilial("SC5")
cPedido := "AAAAAA"
//Posiciona no pedido
DbSelectArea("SC5")
SC5->(DbSetOrder(1)) // C5_FILIAL + C5_NUM
If SC5->(MsSeek( cFilPed + cPedido))
//Visualiza o pedido
INCLUI := .F.
ALTERA := .F.
MATA410(Nil, Nil, Nil, Nil, "A410Visual")
EndIf
E abaixo um exemplo de alteração de pedido:
//Define o pedido e a filial
cFilPed := FWxFilial("SC5")
cPedido := "AAAAAA"
//Posiciona no pedido
DbSelectArea("SC5")
SC5->(DbSetOrder(1)) // C5_FILIAL + C5_NUM
If SC5->(MsSeek( cFilPed + cPedido))
//Se já tiver nota
If ! Empty(SC5->C5_NOTA)
FWAlertError("Pedido " + SC5->C5_NUM + " já faturado, não pode ser alterado!", "Atenção")
//Abre o pedido em modo de alteração
Else
INCLUI := .F.
ALTERA := .T.
MATA410(Nil, Nil, Nil, Nil, "a410Altera")
EndIf
EndIf
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Bom dia Atilio, td bom??
Tava precisando bem isso mesmo.
Fiz um teste aqui e a tela abriu normal, o cabeçalho do pedido trouxe normal mas não aparecem os itens.
O que poderia ser ?
Grato,
William
Ah, fiz uns ajutes aki e normalizou.
flwwww