Tratamento do Pergunte

Boa tarde,

Estou iniciando com relatórios e gostaria de saber como faço para tratar os parâmetros recebidos pelo Pergunte().

Se possível, gostaria de ver um fonte para entender melhor.

Obrigado.

Mateus, como assim tratar os parâmetros recebidos? A função Pergunte não retorna valores, ela retorna um lógico e alterar os valores das variáveis públicas.

Imagino que o que você queria seja isso:


cPerg := "CUSTOM" // Perguntas na SX1

If !Pergunte(cPerg, .T.)
    Return()
EndIf

If MV_PAR01 == '01'
    cQUery += "condicao"
EndIf

If MV_PAR02 == 'pergunta2'
    cQUery += "condicao"
EndIf

Mas particularmente, acho mais interessante usar um Parambox:


aPergs     :=     {}
aAdd( aPergs ,{3,"Tipo do Filtro",1, {"Geral", "Produto", "Fornecedor", "Nº Processo"}, 80,'.T.',.T.})
aAdd( aPergs ,{2,"Ordem de Impressão : ",1, {"Nº Processo", "Produto", "Fornecedor"}, 50,'.T.',.T.})   

If ParamBox(aPergs ,"Parametros ",aRet)
    If MV_PAR01 == '01'
        cQUery += "condicao"
    EndIf

    If MV_PAR02 == 'pergunta2'
        cQUery += "condicao"
    EndIf
Endif

Aqui tem uns exemplos legais:

https://terminaldeinformacao.com/knowledgebase/parambox/

https://centraldeatendimento.totvs.com/hc/pt-br/articles/360018402211-Cross-Segmento-TOTVS-Backoffice-Linha-Protheus-ADVPL-Manipular-pergunta