Nesse vídeo demonstraremos a utilização da função Posicione, que serve para buscar uma informação cadastrada em uma tabela.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas
#Include "TOTVS.ch"
#Include "TopConn.ch"
/*/{Protheus.doc} User Function zExe390
Busca o conteúdo de um campo de uma tabela
@type Function
@author Atilio
@since 28/03/2023
@see https://tdn.totvs.com/display/public/framework/Posicione+-+Posiciona+tabela+em+registro
@obs
Função Posicione
Parâmetros
+ cAlias , Caractere , Alias da Tabela
+ nOrdem , Numérico , Índice da Tabela usado na busca
+ cSeek , Caractere , Expressão da busca conforme o índice
+ cField , Caractere , Campo a ser buscado
+ cNickName , Caractere , Apelido do índice caso queira usar no lugar do nOrdem
Retorno
+ cReturn , Caractere , Conteúdo do campo buscado
**** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/
User Function zExe390()
Local aArea := FWGetArea()
Local aPergs := {}
Local cCliente := Space(TamSX3('A1_COD')[1])
Local cLoja := Space(TamSX3('A1_LOJA')[1])
//Adiciona os parâmetros que serão mostrados no ParamBox
aAdd(aPergs, {01, "Cliente", cCliente, "", "ExistCPO('SA1')", "SA1", ".T.", 80, .T.})
aAdd(aPergs, {01, "Loja", cLoja, "", ".T.", "", ".T.", 80, .T.})
//Se a pergunta for confirmada, busca o nome do cliente
If ParamBox(aPergs, "Informe os parâmetros", , , , , , , , , .F., .F.)
cNomeCli := Posicione('SA1', 1, FWxFilial('SA1') + MV_PAR01 + MV_PAR02, "A1_NOME")
FWAlertInfo("O nome do cliente é " + cNomeCli, "Teste Posicione")
EndIf
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.