Árvore de páginas

Carregando...

Objetivo

O ponto de entrada EM_CSTEA é utilizado para customizar a consulta de clientes no sistema Easy.Mobile. Através dele, é possível alterar a query SQL que será executada para buscar informações de clientes com base em parâmetros específicos enviados pelo aplicativo.


Funcionamento: 

O ponto de entrada EM_CSTEA realiza uma busca no banco de dados, utilizando as informações fornecidas pelo Easy.Mobile. Ele recebe dois parâmetros principais dentro de opJson:

1. opJson:DOCCOMPANIE - O CNPJ da empresa que está realizando a consulta.

2. opJson:SEARCHTEXT - O texto ou termo de busca inserido pelo usuário.

Com base nesses parâmetros, o ponto de entrada deve construir a clQuery, que será a consulta SQL responsável por retornar as informações solicitadas pelo Easy.Mobile.


Parâmetros de Entrada:

  1. clQuery: Variável que armazena a query de retorno ao ERP.
  2. opJson: Objeto JSON que contém os critérios de busca enviados pelo Easy.Mobile.

opJson:DOCCOMPANIE: CNPJ da empresa que está realizando a consulta.

opJson:SEARCHTEXT: Texto ou termo de busca.


Parâmetros de Saída: Composição da Query de Retorno:

A função deve montar e retornar uma variável query (clQuery) SQL que respeite os campos esperados pelo Easy.Mobile, garantindo a compatibilidade e a correta exibição dos dados.

Os campos necessários são:

A1_FILIAL: Filial da empresa (BRANCH)

A1_COD: Código do cliente (CODE)

A1_LOJA: Loja do cliente (STORE)

A1_NOME: Nome do cliente (NAME)

A1_CGC: CNPJ ou CPF do cliente (DOCUMENT)

A1_COND: Condição de pagamento (PAYCOND)

A1_DESC: Desconto (DESCONT)



A1_TABELA: Código da tabela de preços (CODPRILIST)

LABEL: Formatação combinada do código, nome e CNPJ/CPF

OBSERV: Observações (mantido vazio por padrão)

Exemplo de Uso:

  1. Recebe Parâmetros: A rotina recebe opJson contendo o CNPJ e o texto da busca.
  2. Monta a Query: Utiliza os parâmetros para filtrar e estruturar a query conforme os campos descritos.
  3. Retorna a Query: A query montada é enviada de volta ao Easy.Mobile para processamento e exibição dos resultados.

Observações:

  • OBSERV: Campo destinado a observações, retornará vazio por padrão.
  • Execução Condicional: As condições específicas para execução da query podem ser adicionadas conforme a necessidade do ambiente e especificações do cliente.


Exemplo

User Function EM_CSTEA()

Local dlCurrent := Date()
Local clDtIni := DtoC(dlCurrent)
Local clHrIni := Time()
Local clQuery := PARAMIXB[1]
Local olJson := PARAMIXB[2]
Local llCustSeller := SuperGetMv("MV_EASYCV",, .F.) //Amarração entre Clientes x Vendedor
Local clCustStandard := SuperGetMv("MV_CLIPAD",, "" ) //Cliente padrao de cheques pre-datados


olJson:SEARCHTEXT := Upper(olJson:SEARCHTEXT)

clQuery := " SELECT TOP 10 "
clQuery += " A1_FILIAL BRANCH,"
clQuery += " A1_COD CODE,"
clQuery += " A1_LOJA STORE,"
clQuery += " A1_NOME NAME,"
clQuery += " A1_CGC DOCUMENT,"
clQuery += " CONCAT(A1_COD,': ',LTRIM(RTRIM(A1_NOME)),' - ',A1_CGC) LABEL,"
clQuery += " '' OBSERV,"
clQuery += " A1_COND PAYCOND,"
clQuery += " A1_DESC DESCONT,"
clQuery += " A1_TABELA CODPRILIST,"
clQuery += " A1_NREDUZ"
clQuery += " FROM "+RetSqlName("SA1")+" A1 "
clQuery += " WHERE A1.D_E_L_E_T_ <> '*' "
clQuery += " AND A1_FILIAL = '"+xFilial('SA1')+"' "
If llCustSeller
//Verifica se realiza a busca dos vendedores (Gerente e Supervisores) no parametro MV_EASYRV
clQuery += " AND (
clQuery += " A1_VEND IN "+Iif(SuperGetMv("MV_EASYRV",, .F.), U_EA_GRPVEND(olJson:SELLERCODE), FormatIn(olJson:SELLERCODE,"|"))
If !Empty(clCustStandard)
clQuery += "OR A1_COD = '"+clCustStandard+"'"
EndIf
clQuery += " )"
EndIf
clQuery += " AND (Upper(A1_NOME) LIKE '%"+olJson:SEARCHTEXT+"%'"
clQuery += " OR Upper(A1_NREDUZ) LIKE '%"+olJson:SEARCHTEXT+"%'"
clQuery += " OR Upper(A1_CGC) LIKE '"+olJson:SEARCHTEXT+"%'"
clQuery += " OR Upper(A1_COD) LIKE '"+olJson:SEARCHTEXT+"%')"
clQuery += " AND A1_MSBLQL <> '1'"
clQuery += " ORDER BY A1_NOME DESC"

U_EM_Log("[EM_CSTEA] - TERMINO ponto de entrada - data e hora termino "+DtoC(Date())+" - "+Time()+" / data e hora inicial "+clDtIni+" - "+clHrIni)

Return (clQuery)



  • Sem rótulos