A ferramenta Otimizador de Telas tem como principais finalidades otimizar a visualização das rotinas, ao tirar campos desnecessários da tela dos usuários, fazendo com que o preenchimento dos registros seja mais produtivo; e o aumento da performance das rotinas, pois com menos campos para carregar na tela, o carregamento se torna mais rápido.

A ferramenta deve ser utilizada pelos Administradores do Protheus, através do Configurador (menu Base de Dados > Dicionário > Otimizador de Telas). Baseado em estatísticas de uso de campos, geradas através da sub-rotina de Análise de Base de Dados, o administrador pode gerar templates para as rotinas contempladas pela ferramenta e retirar de uso campos desnecessários para o dia a dia dos usuários.

Disponibilidade:

Disponível a partir da release 12.1.2310.



Abaixo temos a tela inicial da ferramenta Otimizador de Telas:


A tela inicial permite ter uma visão de quais templates existem na base, informações de data de análise e aplicação, e principalmente seu Status. É possível também clicar no botão de engrenagem no lado direito da tela e configurar quais colunas deseja que sejam exibidas. É possível também ordenar por uma coluna específica, clicando nas setinhas ao lado do nome de cada coluna.

Outra funcionalidade importante da tela inicial da ferramenta é a Pesquisa. É possível digitar um termo e o mesmo será pesquisado nas colunas Template e Rotina. O termo pode ser inteiro ou parcial, e será listado na tela se estiver em qualquer uma das colunas (pesquisa do tipo OU). Para limpar o filtro de pesquisa, basta fechar os termos listados abaixo da caixa de pesquisa, ou fazer uma pesquisa por um termo em branco.

No final da linha de cada template, existe um menu de Outras Ações, acessado através dos três pontos (...). Ao ser acionado, este menu pode mostrar botões diferentes dependendo do status do respectivo template. Por exemplo, em um template não aplicado, as opções são: Aplicar template, Visualizar template, Editar template e Excluir template. Já em um template aplicado, a opção de aplicar template não estará disponível, sendo substituída pela opção de Preview, que permite ter uma visualização da tela da rotina em questão já com os campos retirados de uso. Outra opção presente apenas nesta visualização é a de Reverter aplicação, que permite voltar a rotina à visualização de campos que tinha antes da aplicação deste template (veremos com maiores detalhes mais a frente). E temos os mesmos botões Visualizar template e Excluir template, porém a opção de excluir terá um funcionamento um pouco diferente do botão existente em um template não aplicado (também veremos com maiores detalhes mais a frente).

Por fim, na tela inicial está localizado o botão Criar template, que ao ser clicado irá abrir a tela abaixo, de criação de Novo template.


Na primeira tela da criação de Novo template (Descrições e rotina), deve-se inserir os dados descritivos do template e selecionar a rotina que terá otimização ao aplicar este template. A descrição é opcional, mas o nome do template e rotina são obrigatórios. Ao clicar na lupa do campo de Rotina do template, será exibida uma janela com as rotinas que atualmente podem ter campos retirados de uso. 


Importante:

A inclusão de novas rotinas nesta lista depende da avaliação de cada equipe de módulo responsável pela rotina.
Caso selecione uma rotina que possua uma ou mais tabelas que também são utilizadas por uma ou mais rotinas, será exibida uma janela informando quais rotinas serão afetadas caso aplique o template criado:

  • Não avançar: irá retornar para a tela Novo template para escolher uma nova rotina.
  • Avançar mesmo assim: irá prosseguir para a tela de Análise e retirada de campos continuando o processo para criar o template.


Após preencher os dados e selecionar a rotina, clique em Avançar.

Na segunda tela (Análise e retirada de campos) temos diversos componentes. Irei detalhar cada um deles abaixo:


1. Informativo sobre a análise: texto resumido sobre como será feita a análise da base de dados, que é uma etapa importante para gerar insumos que ajudam na decisão de quais campos tirar de uso, através de estatísticas de uso dos mesmos. Para ver a explicação completa, basta clicar no link Acesse a documentação completa aqui.

2. Botão de Executar análise de base de dados: ao clicar neste botão, o processo de análise descrito na documentação indicada no item 1 será executado. Quando terminar, os resultados de Quantidade, percentuais de Preenchimento e percentuais de Inicializador Padrão serão aplicados na tabela, permitindo fazer ordenação e filtragem para facilitar a tomada de decisão. Abaixo print da tela com os valores preenchidos após a análise, ordenado pelo campo Preenchimento:


3. Botão Filtro: o botão Filtro somente ficará ativo após a execução da análise de base de dados. Com a análise feita, ao clicar no botão aparecerá a tela abaixo:



A. Campo: permite selecionar uma das colunas (Quantidade, Preenchimento ou Inicializador Padrão) para a montagem do filtro. 

B. Operador: define qual será a operação que será aplicada no filtro, para que se possa definir a medição em relação ao valor que será utilizado. Por exemplo, se você quer ver apenas campos que tenham sido preenchidos em no máximo 10% do total de registros, utiliza o operador Menor ou igual a.

C. Valor: define o número que será utilizado como base para a operação do filtro.

D. Botões Adicionar e Limpar filtro: o botão Adicionar pega o conjunto que foi selecionado nos passos A, B e C e adiciona no Filtro parcial, que pode ser verificado no passo G. O botão Limpar filtro zera todas as informações que tiverem sido selecionadas nesta tela de Filtro.

E. Tipo de pesquisa: permite a execução de condições concatenadas, para um resultado mais específico. Através dos operadores E / OU, pode-se por exemplo construir uma expressão que tenha "Quantidade > 0 E Quantidade < 10", trazendo apenas resultados que tenham o campo quantidade com valor entre 0 e 10. As operações do tipo E consideram os resultados de todas as colunas envolvidas. Já as operações do tipo OU consideram os resultados de pelo menos uma das colunas envolvidas.

F. Parênteses ( ): auxiliam na construção das expressões, separando operações se necessário.

G. Filtro: exibe uma amostra da fórmula que será utilizada no filtro, para facilitar a visão do tipo de filtragem de dados que será feita.

H. Checkbox dos resultados "Não se aplica": as colunas Quantidade, Preenchimento e Inicializador Padrão, em algumas situações, podem vir com o resultado "Não se aplica" após Executar análise de base de dados, em casos que, por exemplo, o campo tenha o contexto do tipo Virtual ou não tenha Inicializador Padrão. Então, é possível através desses 3 checkbox configurar se esses campos com esta característica, serão ou não exibidos no resultado do filtro.

I: Botões de ação: o botão Aplicar filtro faz a aplicação da fórmula de filtro configurada nesta tela. O botão Remover filtro limpa o filtro configurado e volta para a tela principal de campos sem nenhum filtro aplicado. O botão Fechar apenas sai da tela de Filtro para a tela principal de campos sem fazer nenhuma alteração.


4. Abas das tabelas: se a rotina possuir apenas uma tabela, será exibida apenas 1 aba. Porém se a rotina possuir outras tabelas, os registros de cada uma delas serão exibidos em abas separadas, com o nome da tabela no título de cada aba. Observação: o filtro criado será aplicado em todas as abas (tabelas) da rotina.

5. Campo de Pesquisa: permite pesquisar por um termo (parcial ou completo) nas colunas Nome físico, Título e Descrição, criando um filtro para esta pesquisa e trazendo todos os termos pertinentes a ele.

6. Ordenação por marcados: este botão permite agrupar os campos já marcados, em ordem crescente ou decrescente, facilitando a visualização dos campos a retirar de uso.

7. Nomes das colunas: nesta área estão localizados os nomes das colunas, que podem ser adicionadas ou removidas através do botão de engrenagem no lado direito, e é possível também clicar nas setinhas ao lado do nome de cada coluna para fazer uma ordenação crescente ou decrescente.

8. Caixa de seleção de campos: caixa de seleção que determina quais campos serão marcados para serem retirados de uso por este template.

9. Status das colunas Quantidade, Preenchimento e Inicializador Padrão: antes da análise de base de dados, estas colunas aparecem com a legenda Sem Análise. Após efetuada a análise, a quantidade e os porcentuais analisados na base serão preenchidos nessas colunas. A coluna Quantidade mostra o total de registros preenchidos deste campo na base. A coluna Preenchimento mostra a porcentagem de preenchimento de registros deste campo mediante o total de registros da base para esta tabela. E a coluna Inicializador Padrão mostra a porcentagem de preenchimento de registros deste campo por um inicializador padrão, mediante o total de registros da base para esta tabela. Obs.: na tela principal, os valores de porcentagem de Preenchimento e Inicializador Padrão aparecem com apenas 1 casa decimal, porém se passar o mouse em cima do valor, será exibido um "Hint" (dica) com a porcentagem contendo 4 casas decimais.

10. Ver detalhes: mostra informações adicionais sobre o respectivo campo, caso o administrador queira tirar alguma dúvida antes de retirá-lo de uso.


Após a marcação dos campos que deseja retirar de uso, clique em Avançar para ir ao passo final do wizard.


Na etapa Revisão do template será mostrado um resumo final da criação do template, caso queira revisar alguma informação antes de finalizar. Nesta tela é possível ver os campos separados de cada tabela da rotina (apenas os campos marcados para serem retirados de uso serão exibidos). É possível também Pesquisar e Ver detalhes. Estando tudo certo, clique em Finalizar.

Ao clicar em Finalizar será exibida uma janela com 2 opções:

  • Apenas salvar: irá apenas salvar o template que acabou de criar, mas não irá aplicar na base. O template ficará salvo e poderá ser aplicado, editado ou excluído posteriormente.
  • Salvar e aplicar no dicionário: além de salvar este template, ele já inicia automaticamente o processo de aplicá-lo na base, removendo os campos selecionados da rotina.


Se selecionar a opção Apenas salvar, irá retornar para a tela principal do Otimizador de Telas. Se selecionar a opção Salvar e aplicar no dicionário, irá aplicar o template na base, retornar para a tela principal, e será exibido um alerta informando a aplicação do template, com um link para visualizar a rotina com o novo layout sem os campos que foram removidos.


Importante

  • Não é permitido mais que 1 template aplicado para a mesma rotina. Se tentar aplicar o template de uma rotina que já foi aplicada por outro template, será exibida uma janela informando que já existe um template aplicado para esta rotina, orientando a reverter a aplicação anterior. Contudo, o template será salvo:


  • Não é permitido mais que 1 template aplicado para rotinas distintas. Caso houver uma ou mais tabelas em comum entre elas, se tentar aplicar o template, será exibida uma janela informando que já existe um ou mais templates que contêm uma ou mais tabelas que estão incluídas no template atual. Caso queira aplicar este template, reverta a aplicação do(s) template(s) apresentado (s) na janela:


  • Pode existir mais de um template salvo para a mesma rotina ou para rotinas distintas que possuam tabelas em comum, porém, é permitido que apenas um template esteja aplicado.



Após conhecer os passos da criação e aplicação de um template, veremos abaixo as Outras Ações de um template.


1. Em templates não aplicados:

  • Aplicar template: ao clicar é exibida uma janela de confirmação da aplicação. Se não existir outro template aplicado para a mesma rotina ou para uma rotina distinta que contenha uma ou mais tabelas em comum, o mesmo é aplicado e é exibido um alerta no topo com o link para visualização da tela otimizada.
    Importante: a criação do template é baseada nas tabelas. Quando uma rotina é selecionada, são exibidas as tabelas que fazem parte daquela rotina. Ao aplicar o template e remover campos de uma tabela, se por acaso outras rotinas utilizem esta mesma tabela, os campos serão removidos nas telas destas rotinas também. Por exemplo, atualmente na lista de rotinas cadastrada no Otimizador de Telas, existe a rotina Empenho Múltiplo (MATA381), que utiliza a tabela SD4. Se forem removidos campos desta tabela pelo Otimizador de Telas, estes campos também não estarão presentes na rotina Empenho Simples (MATA380), que também utiliza a tabela SD4.
    Obs.: será exibida uma janela no momento da criação do template informando quais rotinas serão afetadas:


  • Visualizar template: exibe uma visualização simplificada do template, com os dados de cadastro e campos marcados para retirar de uso.
  • Editar template: ao abrir, exibe inicialmente a visualização simplificada, e ao avançar exibe a visualização completa do template, tanto da edição de dados cadastrais quanto dos campos marcados e desmarcados, permitindo alterar qualquer informação, assim como no wizard inicial de criação de template. Ao final, pode-se apenas salvar o mesmo ou salvar e aplicar, assim como na criação de um novo template.
  • Excluir template: ao clicar para excluir um template não aplicado, será exibida a tela de visualização simplificada para confirmação. Ao clicar no botão Excluir definitivamente é exibida uma janela informando que os dados deste template serão perdidos, não sendo possível restaurar o mesmo. Clicando em Sim, excluir template, o mesmo é excluído em definitivo.


2. Em templates aplicados:

  • Preview [rotina]: ao clicar é exibida uma janela informando a abertura da visualização, e o modo para voltar para o Otimizador, que é fechando a tela da visualização. Ao clicar em Prosseguir, uma janela de pesquisa é exibida, e logo em seguida uma janela listando os registros desta rotina. Serve para o caso de querer visualizar a tela com um registro específico. Caso apenas clique em OK, a visualização será exibida com o primeiro registro cadastrado na rotina, mostrando a tela otimizada, sem os campos que foram retirados de uso pelo Otimizador.
  • Reverter aplicação: ao clicar neste botão, será exibida uma janela com informações sobre a reversão do template, que volta a tela da rotina ao estado que estava antes da aplicação deste template. Ao confirmar clicando em reverter aplicação, volta para a tela inicial com um aviso da reversão, e o status do template é alterado para Não Aplicado.
  • Visualizar template: exibe uma visualização simplificada do template, com os dados de cadastro e campos marcados para retirar de uso.
  • Excluir template: ao clicar para excluir um template aplicado, será exibida a tela de visualização simplificada para confirmação. Ao clicar no botão Excluir definitivamente é exibida uma janela informando que excluir o template também reverterá as definições aplicadas, restaurando os campos retirados de uso. Ou seja, não é possível excluir o template sem reverter a aplicação do mesmo, a ferramenta irá reverter automaticamente ao estado anterior e então excluirá o template. Observa-se também que as restrições de Nível de Campo e Uso por Módulo continuarão sendo respeitadas. Clicando em Sim, excluir template, o mesmo é excluído em definitivo.