Árvore de páginas

Carregando...

Como manipular os Dados Extras de um Cliente cadastrado no e-commerce CiaShop?

Produto:

 Microsiga Protheus

Versões:

11.80

Ocorrência:

Como manipular os campos extas de um cliente cadastrado no e-commerce CiaShop

Ambiente:


Passo a passo:

Os campos extras de um cliente devem ser manipulados através do ponto de entrada LJ901SA1 o qual deverá ser implementada a chamada da rotina Lj901BPr que realiza o retorno dos dados extras do cliente

Exemplo


#Include 'Protheus.ch'

User Function LJ901SA1()


Local nOrigem := NIL

Local aCli := {}

Local oAComp := NIL

local oAPed := {}

Local aCamposExtra := NIL

Local oCliExtra := NIL

Local nC := 0


//Tratamento dos parâmetros de entrada

If ValType(PARAMIXB) == "A" .AND. Len(PARAMIXB) >= 4 .AND. ;

  ValType(PARAMIXB[1]) == "N"  .AND. ValType(PARAMIXB[2]) == "A"

  nOrigem := PARAMIXB[1]

  aCli := aClone(PARAMIXB[2])

  If nOrigem == 1 .AND. ValType(PARAMIXB[3]) == "O"

   //Chamada pela rotina de inclusão de Compradores  -LOJA901

   oAComp := PARAMIXB[3]

   //Chamada pela origem de compradores

   oCliExtra := Lj901BPr(.F.,oAComp:_SHOPPER_ID:TEXT, NIL, .F., "customer")

  

  ElseIf nOrigem == 2 .AND.  ValType(PARAMIXB[4]) == "O"

   //Chamada pela rotina de Pedido  - loja901A - ENDEREÇO DE ENTREGA

   oAPed := PARAMIXB[4]

      oCliExtra := Lj901BPr(.F.,oAPed:_RECEIPT_SHOPPER:_SHOPPER_ID:TEXT, NIL, .F., "customer")

  


  EndIf

 

      aCamposExtra := XmlChildEx(oCliExtra, "_CAMPOS_EXTRAS_RESULT")


            If aCamposExtra <> NIL

     

                  aCamposExtra := XmlChildEx(aCamposExtra, "_CAMPO_EXTRA")

                 

                  If aCamposExtra == NIL

                        aCamposExtra := {}

                  ElseIf  aCamposExtra <> NIL .AND. Valtype(aCamposExta) <> "A"

                        aCamposExtra := {}

                        aAdd(aCamposExtra, oCliExtra:_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"

                  aAdd("A1_UTPCOMP", aCamposExtra[nC]:_VALOR:TEXT)

                  Exit

            EndIf

      Next

 

EndIf


Return aCli

Observações: