Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
nicolett_yuri

Modificando esquema de cores (No QvServer também)

Fala pessoal, beleza?

Apesar de não gostar muito de alterar o que é padrão da ferramenta, alguns clientes insistem: Quero alterar o esquema de cores do QlikView para a cor padrão da minha empresa!

Você já precisou fazer isso? Conseguiu alterar no documento, mas não consegue repassar esse esquema na visualização pelo servidor? Vamos aprender!

Mas de qual padrão de cores estamos falando?

É o padrão de cores para identificar a associação dos dados:

Mudando_Esquema_Cores01

Por padrão, essas associações são referenciadas pelas cores: Verde, Cinza e Branco:

  • Verde: Valores selecionados
  • Cinza: Valores não associados
  • Branco: Valores associados


Para alterar essas cores, temos que se utilizar de códigos em Macro.

A macro


Primeiramente vamos entender o que é uma macro: basicamente é um módulo do qlikview que permite a interação através de seus objetos (listas, tabelas, gráficos) e também de suas configurações não visíveis. Através da macro também podemos criar associações entre qlikview e outras ferramentas, por exemplo: PowerPoint, Excel, etc.Macros são executados utilizando automação COM.


Em sua essência, a COM é uma forma independente de linguagem de programação de implementar objetos de forma que eles possam ser utilizados em diferentes ambientes dos quais foram criados, mesmo entre diferentes máquinas e arquiteturas. A COM permite a reutilização de objetos sem o conhecimento de sua implementação interna pois força o desenvolvedor a fornecer uma interface bem definida, que está separada da implementação. WikiPedia.


No QlikView, é possível se utilização da plataforma COM através da linguagem VbScript e JScript.Existe uma aplicação da própria Qlik que fornece MUITOS exemplos de como implementar uma macro com chamada de objetos do qlikview. Essa aplicação se chama API GUIDE. Faça o download dela clicando aqui!

Como escrevo um código em macro?


No Qlikview, a macro esta disponível através do atalho Ctrl + M ou do menu Ferramentas ou através do ícone de atalho (da barra de desenho), conforme imagem:

Mudando_Esquema_Cores02



Acessando o Editor, a seguinte tela será exibida:Mudando_Esquema_Cores03



Existem três configurações importantes a serem realizadas nas macros.

Linguagem de script


Defina qual a linguagem você vai escrever o seu código de macro. No nosso exemplo utilizaremos VBscript, então devemos setar esta opção, conforme imagem:

Mudando_Esquema_Cores04

Segurança


Nesta etapa de segurança iremos realizar duas configurações: nível de acesso que a macro precisa para funcionar e segurança local (de quem vai executar).

Mudando_Esquema_Cores05



Com esta configuração estaremos dando acesso total para a execução de nossa macro.IMPORTANTE: Sempre tome cuidado com os tipos de código que vai liberar a segurança, pois através de macros é possível manipular todo o seu computador. Cuidado

A macro para alterar o modelo padrão de cores


Neste exemplo, iremos alterar apenas os valores selecionados para a seguinte configuração:

  • Fonte azul
  • Fundo branco



Maiores informações do código e outras configurações veremos em seguida.

Copie e cole o código em seu editor de módulo:

Sub ModeloDeCores()

set MeuModeloDeCores = ActiveDocument.GetApplication.GetUserPreferences

MeuModeloDeCores.CustomSelBgColor(1).PrimaryCol.Col = RGB (0,0,255)

MeuModeloDeCores.CustomSelFgColor(1).PrimaryCol.Col = RGB (255,255,255)

ActiveDocument.GetApplication.SetUserPreferences

MeuModeloDeCores

end sub  


Feito isso, clique sobre o botão Verificar, para o editor nos informar se existe ou não algum erro no código informado:

Mudando_Esquema_Cores06

Se tudo ocorreu bem, então deverá aparecer a palavra "*** Pronto ***" no barra superior e também o nome do módulo que criamos: ModeloDeCores.

Agora precisamos clicar sobre o botão "Teste" para executar essa macro:

Mudando_Esquema_Cores07

Após clicar sobre o botão, rapidamente será apresentada a palavra "*** Executando ***" no lugar da palavra "*** Pronto ***":

Mudando_Esquema_Cores08

e logo depois a palavra "*** Pronto ***" volta a aparecer:

Mudando_Esquema_Cores09

Escolhendo o novo modelo de cores

Depois de executar esta macro o esquema de cores continuará o padrão, pois precisamos informar ao QlikView que queremos utilizar o novo padrão de cores setado, para isso vá em: Configuração -> Propriedades do Documento:

Mudando_Esquema_Cores10

Na aba Geral, vá até Esquema de Cores e altere o valor de Padrão para Personalizar:

Mudando_Esquema_Cores11

Resultado

Agora ou fazer uma seleção na lista, veremos o novo padrão de cores funcionando:

Mudando_Esquema_Cores12

Muito bom!

Outras configurações

No código de exemplo alteramos apenas a fonte e cor de fundo dos valores selecionados. Como podemos alterar as cores de valores não associados e excluídos?

Bom, vamos primeiramente conhecer as funções utilizadas:

  • CustomSelBgColor é responsável por alterar a cor de fundo;
  • CustomSelFgColor é responsável por alterar a cor da fonte.


Repare que no código estamos passando o parâmetro 1 para essas funções:Mudando_Esquema_Cores13


É esse o parâmetro que define qual o tipo de padrão queremos alterar, vamos a lista:


0: Valores travados;

1: Valores selecionados;

2: Valores associados;

3: Valores não selecionados;

4: Valores alternativos;

5: Valores não associados;

6: Valores excluídos da seleção;

7: Valores excluídos pelo processo de travar seleções.


IMPORTANTE: Acredito que alguns não conhecem todos esses estados de seleção, mas isso vai ficar para um outro post! Me cobrem

Outro exemplo de macro


Supomos agora que também queremos alterar as cores dos valores associados  e dos valores não associados:

  • Valores associados - Cor de fundo vermelho e cor da fonte branca;
  • Valores não associados - Cor de fundo preto e cor da fonte branca.

Sub ModeloDeCores()  

set MeuModeloDeCores = ActiveDocument.GetApplication.GetUserPreferences

MeuModeloDeCores.CustomSelBgColor(1).PrimaryCol.Col = RGB (0,0,255)  

MeuModeloDeCores.CustomSelFgColor(1).PrimaryCol.Col = RGB (255,255,255)  

MeuModeloDeCores.CustomSelBgColor(2).PrimaryCol.Col = RGB (255,0,0)  

MeuModeloDeCores.CustomSelFgColor(2).PrimaryCol.Col = RGB (255,255,255)  

MeuModeloDeCores.CustomSelBgColor(5).PrimaryCol.Col = RGB (0,0,0)  

MeuModeloDeCores.CustomSelFgColor(5).PrimaryCol.Col = RGB (255,255,255)

ActiveDocument.GetApplication.SetUserPreferences MeuModeloDeCores

end sub


Veja o resultado:

Mudando_Esquema_Cores14

Eca! Acho que o padrão fica mais bonito, né? rsrs!

Passando essa configuração padrão para o servidor

Se tentarmos adicionar essa aplicação para o nosso ambiente do QvServer, iremos notar que as cores continuarão no padrão (Verde, Branco e Cinza), isso ocorre porque realizamos a alteração apenas para o QVW. O nosso servidor continuará acessando as aplicações através do esquema padrão de cores:

Mudando_Esquema_Cores17

IMPORTANTE: Para realizar essas alterações teremos que parar o serviço QlikView Server Service e também editar um arquivo de configuração do servidor. Lembre-se sempre de criar backup desses arquivos antes de qualquer alteração no seu servidor.

Setando o esquema de cores personalizado no servidor

Primeiramente teremos que ir até o arquivo Settings.ini do nosso usuário, fica neste diretório: C:\Users\username\AppData\Roaming\QlikTech\QlikView

NOTA: Troque o username pelo nome do seu usuário no computador.

Localize o arquivo Settings.ini

Mudando_Esquema_Cores15

Abra-o e procure pelas linhas que comecem com a palavra "CustSel", conforme imagem:

Mudando_Esquema_Cores16

Selecione todas essas linhas e copie (Ctrl + C).


NOTA: Não copie os valores que coloquei aqui, pois cada configuração realizada vai gerar uma sequencia de números diferentes!

Agora temos que parar o serviço do QlikView Server Service! É importante que faça isso fora de horário de uso de seu ambiente, pois irá desconectar os usuários das aplicações.

No menu de busca do Windows, digite: services.msc

Mudando_Esquema_Cores19

Clique sobre o programa localizado.

Nesta tela, localize o serviço "Qlikview Server", clique sobre o nome do serviço e depois clique no ícone para parar o serviço:

Mudando_Esquema_Cores18

A coluna Status deverá ficar em branco.

Agora podemos editar o arquivo Settings.ini do servidor que fica localizado no seguinte diretório: C:\ProgramData\QlikTech\QlikViewServer

Mudando_Esquema_Cores20

Abra-o e cole o texto, que copiou do Settings.ini de seu usuário, na linha abaixo da palavra [Settings 7], conforme imagem:

Mudando_Esquema_Cores22

Salve e inicie o serviço do QlikView Server:

Mudando_Esquema_Cores21

A coluna Status deverá ficar com a palavra Iniciado.

Agora a aplicação em que executamos a macro ficará com o novo padrão de cores:

Mudando_Esquema_Cores23

Todas as aplicações ficarão com este padrão?

Não, você terá que repetir o processo de executar a macro e alterar o esquema de cores para personalizado em cada aplicação que deseja.

Se quiser fazer o download da aplicação de modelo, clique aqui!

Até a próxima semana pessoal!

Labels (3)
4 Replies
Marcio_Campestrini
Specialist
Specialist

Bom dia Yuri

Valeu pela dica. O pessoal por aqui já estava pedindo para mudar.

Márcio

Márcio Rodrigo Campestrini
nicolett_yuri
Author

Valeu

fonmarcelo
Contributor III
Contributor III

Aqui alteramos para cores mais fortes, pensando nos projetores.

marcio150972
Creator
Creator

Sensacional, obrigado.