Histórico da Página
Descrição | Ponto de entrada para utilização no MNTNG MOBILE | |||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Idioma | Português(Brasil) | |||||||||||||||||||||||||||||||||||||||||||||||||||
Versões | A partir 12.1.16 | |||||||||||||||||||||||||||||||||||||||||||||||||||
Sistemas Operacionais Suportados | Todos | |||||||||||||||||||||||||||||||||||||||||||||||||||
Compatível com as Bases de Dados | Todas | |||||||||||||||||||||||||||||||||||||||||||||||||||
Parâmetros |
| |||||||||||||||||||||||||||||||||||||||||||||||||||
Retorno | O ponto de entrada é chamado em vários momentos dentro do fonte, na 2ª posição da estrutura do vetor é passado um ID que identifica qual é este momento. De acordo com o ID o retorno pode ser diferente, como citado na tabela abaixo:
| |||||||||||||||||||||||||||||||||||||||||||||||||||
Programa Fonte | MNTNG.APW |
...
Bloco de código | ||
---|---|---|
| ||
#include "PROTHEUS.ch"
User Function MNTNG()
Local cId := PARAMIXB[1] //Indica o momento da chamada do PE
Local oWS := PARAMIXB[2] //Objeto com referência ao webservice
Local oParser, aArea, aAreaSTJ
If cId == "CANCEL_VALID" //valida cancelamento da ordem
If FWJsonDeserialize(oWS:GetContent(),@oParser) //Parse da string no formato Json
If Empty( oParser:message )//verifica campo observação foi passado vazio
Return "A observação do cancelamento é obrigatória."
EndIf
EndIf
ElseIf cId == "FINISHED_VALID_ORDER"
If FWJsonDeserialize(oWS:GetContent(), @oParser)
If Empty( oParser:observation ) //verifica campo observação foi passado vazio
Return "Campo observação deve ser informado."
EndIf
EndIf
ElseIf cId == "FINISHED_ORDER"
If FWJsonDeserialize(oWS:GetContent(), @oParser)
aArea := GetArea()
aAreaSTJ := STJ->(GetArea())
dbSelectArea("STJ")
dbSetOrder(1)
If dbSeek(xFilial("STJ") + oParser:order + oParser:plan)
Reclock("STJ", .F.)
STJ->TJ_DTPRINI := STJ->TJ_DTMRINI
STJ->TJ_HOPRINI := STJ->TJ_HOMRINI
STJ->TJ_DTPRFIM := STJ->TJ_DTMRFIM
STJ->TJ_HOPRFIM := STJ->TJ_HOMRFIM
MsUnlock()
Endif
RestArea(aAreaSTJ)
RestArea(aArea)
Endif
ElseIf cId == "FILTER_PRODUCT" //adiciona filtro para busca de produtos
Return " AND B1_GRUPO = '97'"
EndIf
Return |