Ponto de Entrada - Lj901AVl
Este Ponto de Entrada é executado na rotina LOJA901A , antes do processamento unitário do XML do Pedido de Venda e retorna se o pedido e-commerce deve ser processado pela rotina de integração; e se deve ser enviada a confirmação para o e-commerce; caso contrário (não processado pela rotina de integração)
Importante: Este ponto de entrada está disponível somente na versão 12
Descrição: | Atualizações\Cadastros | ||||||||||||
Localização: | E-commerce | ||||||||||||
Eventos: | Monitor Serv. CiaShop | ||||||||||||
Programa Fonte: | LOJA901A - Pedidos | ||||||||||||
Função: | Protheus | ||||||||||||
Parâmetos: |
|
Retorno: |
|
Exemplo:
#Include "Protheus.ch"
User Function Lj901AVl()
Local oAPed := NIL //Objeto XML da venda
Local cSeq := "" //Sequencia do processamento intermediária
Local oWS := NIL //Objeto WebService
Local oRetExtra := NIL //Campos extras do Pedido
Local cOrderID := "" //Numero do Pedido e-commerce
Local aCamposExtra := NIL //Campos extras do cliente
Local aRet := {.T., .T.} //Retorno do Ponto de Entrada
Local oExtaCli := NIL //Campo extra do cliente
Local nC := 0
If ValType(PARAMIXB) == "A" .AND. Len(PARAMIXB) >= 3 .AND. ;
ValType(PARAMIXB[1]) == "O" .AND. ValType(PARAMIXB[3]) == "O" .AND. ValType(PARAMIXB[2]) == "C"
oAPed := PARAMIXB[1]
cSeq := PARAMIXB[2]
oWS := PARAMIXB[3]
cOrderID := oAPed:_ORDER_ID:TEXT
//Campo extra do pedido
oRetExtra := Lj901BPr(.F.,cOrderID, oWS, .T., "order")
//Campo extra do comprador
oExtaCli := Lj901BPr(.F.,oAPed:_RECEIPT_SHOPPER:_SHOPPER_ID:TEXT, oWS, .T., "customer")
If oExtaCli <> NIL
aCamposExtra := XmlChildEx(oExtaCli, "_CAMPOS_EXTRAS_RESULT")
EndIf
If oExtaCli <> nil .AND. aCamposExtra <> NIL
aCamposExtra := XmlChildEx(aCamposExtra, "_CAMPO_EXTRA")
If aCamposExtra == NIL
aCamposExtra := {}
ElseIf aCamposExtra <> NIL .AND. Valtype(aCamposExta) <> "A"
aCamposExtra := {}
aAdd(aCamposExtra, oExtaCli:_CAMPOS_EXTRAS_RESULT:_CAMPO_EXTRA)
EndIf
EndIf
//vERIFICA O CAMPO EXTRA TIPO DE COMPRADOR ( INFORMAÇÃO ESPECÍFICA PARA ESTE AMBIENTE)
For nC := 1 to len(aCamposExtra)
If Upper(AllTrim(aCamposExtra[nC]:_CHAVE:TEXT)) == "TIPOCOMPRADOR"
aRet[1] := .f. //Não Processa o pedido
aRet[2] := .f. //Nao Envia a confirmação
aRet[1] := Upper(AllTrim(aCamposExtra[nC]:_VALOR:TEXT))== "COMPRADOR"
Exit
EndIf
Next
//processa o Pedido, mas não envia a confirmação
If aRet[1]
aRet[2] := .F.
Else //Não processa o pedido
aRet[2] := .t. //envia a confirmação
EndIf
Conout("Pedido e-commerce " + oAPed:_ORDER_ID:TEXT+ " CGC/CPF Comprador " + oAPed:_RECEIPT_SHOPPER:_SHOPPER_CPF:TEXT)
EndIf
Return aRet