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!