Árvore de páginas

STIALTC - Ponto de entrada para Seleção de Cliente

Descrição:

Disponibilizado Ponto de Entrada para ser executado no momento de seleção do cliente.

Eventos:

O Ponto de Entrada é executado assim que for clicado na opção (F4) Cliente / CPF, para selecionar o cliente. Retorna um array com duas posições.

Programa Fonte:

STICustumerSelection

Parâmetros:

aFields - Array contendo campos que devem ser preenchidos e retornados no Return.

Retorno:

{ POSICAO1, POSICAO2 }

IMPORTANTE:

Para o funcionamento correto:

  • A POSICAO1 do array de retorno, deve ser um array com uma string contendo NOME + CODIGO + LOJA + CPF (Conforme exemplo)
  • A POSICAO2 do array de retono, deve ser um array com multiplos arrays, contendo os dados do aFields preenchidos (Conforme exemplo

Exemplo:

#Include "PROTHEUS.CH"


User Function STIALTC()

Local nCont := 0
Local nFields := 0
Local cFilter := ""
Local cWhatSearch := "LOJ012"
Local nLimitRegs := SuperGetMV("MV_LJQTDPL",,20)
Local aFields := PARAMIXB[1]
Local aCustomers := {}
Local aDataCustomers := {}

cFilter := " ('" + cWhatSearch + "' $ SA1->A1_NOME .OR. '" + cWhatSearch + "' $ SA1->A1_CGC .OR. '" + cWhatSearch + "' $ SA1->A1_COD ) .AND. SA1->A1_MSBLQL <> '1' "

SA1->(DbSetFilter({ || &cFilter }, cFilter))
SA1->(DbGoTop())

//-- Posição 1 do retorno, String contendo NOME / CODIGO / LOJA / CPF
aAdd(aCustomers, AllTrim(SA1->A1_NOME)+" / "+AllTrim(SA1->A1_COD)+" / "+AllTrim(SA1->A1_LOJA)+" / "+AllTrim(SA1->A1_CGC))

// -- Posição 2 do retorno, Array contendo o conteudo dos campos solicitados
aAdd(aDataCustomers,{})
For nFields := 1 To Len(aFields)
     If SubStr(aFields[nFields],1,3) == "A1_"
          aAdd(aDataCustomers[Len(aDataCustomers)],{aFields[nFields],&("SA1->" + aFields[nFields])} )
     EndIF
Next

SA1->(DbClearFilter())

Return {aCustomers, aDataCustomers}