Reading time: 2 minutes
Olá. No post de hoje iremos aprender como chamar uma tela de consulta padrão(SXB) com a função ConPad1 em ADVPL.
Existem situações em que necessitamos abrir uma tela de consulta padrão sem ter que clicar na lupa. Por exemplo, numa situação onde um determinado campo é preenchido e através de um Gatilho de Campos(SX7) podemos fazer a chamada da consulta padrão para ser mostrado uma tela onde o usuário poderá selecionar um registro da consulta padrão.
Para esse finalidade temos a função ConPad1 em ADVPL. Ao final da execução da função se o usuário tiver confirmado a consulta padrão o retorno será armazenado num array chamado aCpoRet e a quantidade de posições desse array dependerá da quantidade de retorno de campos da função ConPad1.
Sintaxe:
ConPad1(,,,cSXB,cExp,,lVisual,cExpPos)
Parâmetro(s):
Retorno:
Exemplo da função ConPad1 em ADVPL:
#Include "TOTVS.ch"
/*/{Protheus.doc} User Function fConPad1
Exemplo de como abrir uma tela de consulta padrão(SXB)
@type Function
@author Adilio Costa
@since 12/04/2024
/*/
/*--------------------------------------------------------------------------------------------------------------*
| Função:ConPad1 |
| Desc:Exibe uma tela de consulta padrão baseada no Dicionário de Dados(SXB) |
| Link: https://terminaldeinformacao.com/2021/10/13/como-chamar-uma-consulta-padrao-via-codigo-fonte-advpl/ |
| |
| Blog: https://protheusadvpl.com.br |
| Canal: https://youtube.com/ProtheusAdvpl |
| Cursos:https://hotmart.com/pt-br/club/protheusadvpl |
*--------------------------------------------------------------------------------------------------------------*/
User Function fConPad1()
Local aArea := FWGetArea()
Local cCodFor := "000001"
Local cLoja := "01"
Private cCodChave := cCodFor+cLoja
DBSelectArea("SA2")
SA2->(DBSetOrder(1)) //Filial + Código + Loja
//Mostra a consulta padrão de nome SA2 - Fornecedores(na SXB)
If (ConPad1(, , , "SA2"))
//Se a consulta foi confirmada, mostra o fornecedor selecionado
MsgInfo("O fornecedor selecionado foi:"+aCpoRet[1], "Função ConPad1")
EndIf
//Mostra a consulta padrão de nome SA2(na SXB) já posicionando no código do fornecedor cCodFor e loja do fornecedor cLoja
If (ConPad1(, , , "SA2", /*cCampoRet*/, /*lGet*/, /*lOnlyView*/,cCodChave))
//Se a consulta foi confirmada, mostra o fornecedor selecionado
MsgInfo("O fornecedor selecionado foi:" + aCpoRet[1], "Função ConPad1")
EndIf
FWRestArea(aArea)
Return
É isso aí, finalizamos aqui mais um post no Blog ProtheusAdvpl. Caso tenha ficado alguma dúvida deixe seu comentário ou nos envie um e-mail para adiliocosta@protheusadvpl.com.br, até um próximo post, grande abraço e fica com Deus.
Link(s) de referência(s):