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: |