Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

Ponto de Entrada - LJ901ICL

Este Ponto de Entrada é executado nas rotinas LOJA901 e LOJA901A, para informar se o Cliente será incluído/alterado através da rotina de geração de Clientes (MATA030).

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:

LOJA901 - Compradores

LOJA901A  - Pedidos

Função:

Protheus

Parâmetos:

Nome

Descrição

nOrigem

 

Indicativo da rotina em execução, onde: 1 - LOJA901 - Compradores ou 2-  LOJA901A - Geração de Cliente com Endereço de Entrega

 

aCli 

Array dos Campos a serem inseridos pela rotina automática

 

oAComp

 

Objeto XML do Comprador, caso a origem seja 1

 
 oAPedObjeto do XML do Pedido de Venda, caso a origem seja 2
 oExtra Objeto XML dos Dados Extras do Comprador

 

 

Retorno:

Nome

Tipo

Descrição

Obrigatório

 lInsere

 Lógico

Insere/Altera o Cliente

 

Sim

 

Exemplo:

#Include 'Protheus.ch'

User Function LJ901ICL()

Local nOrigem := NIL
Local aCli := {}
Local oAComp := NIL
local oAPed := {}
//Local cGrpCli := "SP1"
Local aAreaSA1 := {}
Local cCPFCli := ""
Local nPos := 0
Local oExtra := NIL
Local lInsere := .T.
Local aCamposExtra := NIL
Local nC := 0

//Tratamento dos parâmetros de entrada
If ValType(PARAMIXB) == "A" .AND. Len(PARAMIXB) >= 5 .AND. ;
  ValType(PARAMIXB[1]) == "N"  .AND. ValType(PARAMIXB[2]) == "A"
  nOrigem := PARAMIXB[1]
  aCli := aClone(PARAMIXB[2])
  oExtra :=  PARAMIXB[5]
  If nOrigem == 1 .AND. ValType(PARAMIXB[3]) == "O"
   //Chamada pela rotina de inclusão de Compradores  -LOJA901
   oAComp := PARAMIXB[3]
   aCamposExtra := XmlChildEx(oExtra, "_CAMPO_EXTRA")

   If aCamposExtra <> NIL
  
    If Valtype(aCamposExta) <> "A"
     aCamposExtra := {}
     aAdd(aCamposExtra, oExtra:_CAMPO_EXTRA)
    EndIf
   Else
    aCamposExtra := {}
   EndIf
  ElseIf nOrigem == 2 .AND.  ValType(PARAMIXB[4]) == "O"
   //Chamada pela rotina de Pedido  - loja901A - ENDEREÇO DE ENTREGA
   oAPed := PARAMIXB[4]
   
   aCamposExtra := XmlChildEx(oExtra, "_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, oExtra:_CAMPOS_EXTRAS_RESULT:_CAMPO_EXTRA)
    EndIf
   EndIf
   
  EndIf
  
  If Len(aCamposExtra) > 0
   lInsere := .F.
  EndIf
  //Verifica o campo extra "TipoComprador" (informação específica para este ambiente e-commerce)
  For nC := 1 to len(aCamposExtra)
   If Upper(AllTrim(aCamposExtra[nC]:_CHAVE:TEXT)) == "TIPOCOMPRADOR"
    lInsere := Upper(AllTrim(aCamposExtra[nC]:_VALOR:TEXT))== "COMPRADOR"
    Exit
   EndIf
  Next 
EndIf

Return lInsere