Você já precisou exibir mensagens de teste durante um programa? Conheça a função ShowLog.
Já vi alguns usuários testando exibindo mensagens durante o desenvolvimento de alguma rotina, ou até mesmo de alguma query.
No artigo de hoje, vou mostrar uma dica, de como exibir com a função ShowLog, e somente se for um administrador.
Então por exemplo, supondo que eu tenha uma query e use a função, o resultado seria similar a abaixo:
Abaixo o trecho desenvolvido:
//... //Montagem da Query cQuery := " SELECT * FROM " + RetSQLName("SBM") + " SBM WHERE BM_FILIAL = '" + FWxFilial("SBM") + "' AND SBM.D_E_L_E_T_ = ' '" //Se o usuário estiver no grupo de administradores, mostra a query SQL If FWIsAdmin() ShowLog(cQuery) EndIf //...
Update Dezembro de 2022:
Pensando em facilitar, criamos uma função chamada zViewQry, onde basta você aciona-la logo após criar sua variável, por exemplo, u_zViewQry(cQuery), que ela já aciona o ShowLog e já faz os testes necessários se o usuário é administrador. Abaixo o código fonte completo:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zViewQry Função para visualizar a query caso o usuário seja administrador @type Function @author Atilio @since 10/10/2022 @param cQuery, Caractere, Consulta SQL que poderá ser exibida /*/ User Function zViewQry(cQuery) Default cQuery := "" //Somente se // #1 - Não estiver em execução automática // #2 - A variável da query tiver dados // #3 - For usuário Administrador // #4 - For confirmado a pergunta para visualizar a query If ! IsBlind() .And. ! Empty(cQuery) .And. FWIsAdmin() .And. FWAlertYesNo("Deseja visualizar a query?", "Atenção (" + FunName() + ")") ShowLog(cQuery) EndIf Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.