Como Chamar uma Tela de Consulta Padrão(SXB) com a Função ConPad1

Tempo de leitura: 2 minutos

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.

 
Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.