Como permitir pesquisar por campos virtuais em um Browse no Protheus

No artigo de hoje, vamos demonstrar em como liberar a pesquisa e ordenação em campos virtuais em um browse no Protheus.

Para esse cenário, nós criamos um campo customizado na SC5, chamado C5_X_NOME, do tipo Virtual, e no inic browse e inic padrão colocamos a seguinte expressão:

Posicione("SA1", 1, xFilial("SA1")+C5_CLIENTE+C5_LOJACLI, 'A1_NOME')

Conforme print abaixo:

Criando o campo e colocando ini padrão

 

Lembre-se de deixar o campo marcado como Browse:

Marcando o campo como Browse

 

Ressalto pessoal, que a SC5 pode ter pedidos que usam fornecedor, então, o ideal seria criar uma user function e testar o campo C5_TIPO. Mas para título de exemplo, a expressão acima irá funcionar.

 

Agora vamos seguir o passo a passo abaixo:

  1. Abra a tela de cadastro, no nosso caso a MATA410 do Pedido de Venda
  2. Clique no botão Configuração do Browse

Acessando as configurações de Browse

 

  1. Na parte Pesquisa e Filtros, marque a opção “Habilitar pesquisa com campo virtual”

Marcando a opção Habilitar pesquisa com campo virtual

 

  1. Clique em Salvar Alterações
  2. Pode fechar e abrir a tela
  3. Agora ao clicar nos 3 riscos no pesquisar, clique em Coluna, e note que irá aparecer a pesquisa pelo campo criado

Acessando esse campo virtual

 

  1. Ai ao realizar a pesquisa, ele irá filtrar, mesmo o campo sendo Virtual

Pesquisando por ele

 

Pessoal, apenas algumas observações. Esse procedimento pode deixar algumas telas mais lentas, além do que, no inic não é recomendado usar FWxFilial, apenas a xFilial. Segue o link oficial do TDN com as explicações: https://tdn.totvs.com/display/public/framework/Posicione+com+Campo+Virtual

 

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação