Olá pessoal…
Hoje vou mostrar como criar uma consulta padrão (SXB) usando uma função de usuário para pegar arquivos CSV.
Primeiramente, será necessário compilar a função zChooseFile, que está disponível no link – Função para selecionar arquivos via Windows Explorer utilizando AdvPL.
Após compilar ela, crie a seguinte função:
//Bibliotecas #Include "Protheus.ch" /*/{Protheus.doc} zChooseCSV Função para selecionar arquivos CSV @author Atilio @since 15/10/2018 @version undefined @type function @see https://terminaldeinformacao.com/2017/11/21/funcao-para-selecionar-arquivos-windows-explorer-utilizando-advpl/ /*/ User Function zChooseCSV() Local aArea := GetArea() Local lRet := .F. Public __cResult := u_zChooseFile("Arquivos Importaveis (*.csv)|*.csv") //Se tiver resultado, prossegue como verdadeiro o retorno If ! Empty(__cResult) //Tira espaços em branco e o -Enter- __cResult := StrTran(__cResult, Chr(10)) __cResult := StrTran(__cResult, Chr(13)) __cResult := Alltrim(__cResult) lRet := .T. EndIf RestArea(aArea) Return lRet
Agora, abra o Configurador, vá em Base de Dados, e em Consultas Padrão, clique em Adicionar. Dê um nome e uma descrição para ela, e escolha a opção Consulta Específica.
Escolha uma tabela qualquer, como a SX5. Na expressão, coloque a chamada da função, por exemplo, u_zChooseCSV(). E no retorno, coloque a variável pública criada, __cResult.
Agora basta vincular nas perguntas ou em algum outro F3 (Lupa). Ao acionar a lupa, será mostrado a seguinte tela.
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Fala, Dan, mais um ótimo post, eu uso esse seu seletor tem um tempo, tenho uma pergunta, tem algumas maneira de chamar esse seletor, mas que tenha a funcionalidade do preview na janela? Alguns seletores do windows tem a capacidade de mostrar o preview da foto, por exemplo.
Parabéns pelo trabalho, como sempre de alto nível!
Olá Diego.
Teria que olhar nas documentações da Microsoft na integração com PowerShell se existe alguma que lhe atenda.
Ai seria necessário alterar no AdvPL – https://code.adonline.id.au/folder-file-browser-dialogues-powershell/
Abraços.