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