13 Replies Latest reply: Jun 24, 2016 9:34 AM by Clever Anjos RSS

    qv.exe /r

      Pessoal,

       

      To com um problema que não consigo resolver.

      Tenho 4 cenários que sempre ficam abertos e atualizo os mesmos com o comando abaixo:

      Qv.exe /r C:\metas.qvw

      start /MAX C:\metas.qvw

       

      Eu tenho um objeto que me diz a data da última atualização, mas o problema é o seguinte, na primeira execução executa o script, abre o arquivo e atualiza, na segunda carga, executa mas a data da última atualização fica na primeira carga.

        • Re: qv.exe /r
          Maicon Mello

          Bom dia Rodrigo,

           

          Mas você roda um bat algo assim pelo que entendi correto ?

           

          Acho que melhor seria colocar no agendador de tarefa do windows apenas para abrir o modelo.

          Ai no modelo você coloca um disparador ao abrir de fazer a carga.

           

          Ou ainda pode fazer uma macro simples e dizer em quanto quanto tempo queres fazer um reload .

          Ai nesse caso ele fica aberto, e executando a macro de tempo em tempo.

           

          Att,

           

          Maicon Mello

            • Re: qv.exe /r

              Sim,

              Eu estou fazendo pelo agendador de tarefas.

              Na parte de macro estou meio "cru" ainda.

              Você teria uma exemplo?

                • Re: qv.exe /r
                  Normélio Junior

                  Boa tarde Amigo!


                  Tenta assim:


                  Troque isso

                  Qv.exe /r C:\metas.qvw


                  Por isso

                  Qv.exe C:\metas.qvw


                  Isso somente irá abrir seu documento QVW, sem recarregar, salvar e fechar como o /r faz


                  Ai nesse mesmo documento QVW (C:\metas.qvw) acesse o modulo de macros (CTRL+M)

                  E escreva a seguinte macro:


                  sub Recarga

                    'Faz a recarga

                    ActiveDocument.Reload

                   

                    'Faz a macro esperar a aplicação terminar oque está fazendo antes de prosseguir - IMPORTANTE

                    ActiveDocument.GetApplication.WaitForIdle

                   

                    'Salva o documento

                    ActiveDocument.Save

                   

                    'Faz a macro esperar a aplicação terminar oque está fazendo antes de prosseguir - IMPORTANTE

                    ActiveDocument.GetApplication.WaitForIdle

                   

                    'Fecha a aplicação

                    Application.Quit

                  end sub

                   

                  No lado esquerdo do Módulo de Macro, mais abaixo, na opção Módulo de Segurança Requerido coloque Acesso ao Sistema, na opção Segurança Local Atual coloque Permitir Acesso ao Sistema.


                  Agora feche o Módulo de Macros e acesse a opção Configurações>> Propriedades do Documento aba Disparadores, em Disparadores de Evento de Documento, selecione a opção Ao abrir, clique no botão ao lado Adicionar Ação, vai abrir um outra telinha onde você vai clicar em Incluir, escolha na caixa Tipo de Ação a opção Externo e na caixa Ação a opção Executar Macro, clique em OK, na caixinha de texto ao lado chamada Nome da Macro coloque o nome da sua macro, nessa caso Recarga, clique em OK.


                  Agora salve seu documento qvw (C:\metas.qvw) feche e teste com agendamento do windows executando o seu bat agora alterado ou podes simplesmente abrir o seu documento e ver se ele irá proceder da seguinte forma, Abrir, Recarregar, Salvar e Fechar a aplicação.


                  Para abrir novamente o documento sem executar a macro, abra primeiramente o Qlikview, escolha esse Documento em Abertos Recentemente, e clique nele segurando CTRL+SHIFT juntos. Isso abre o Doc sem executar as macros.


                  Acho que é isso...


                  Estou a disposição, abraço!



                   

                   


                    • Re: qv.exe /r

                      Essa macro até funciona, mas o que preciso não é bem isso.

                      O cenário sempre vai ficar aberto na televisão do cliente e a cada 10 minutos eu quero dar como se fosse um CTRL+R. Ou seja atualizar a cada 10 minutos sem fechar o arquivo.

                        • Re: qv.exe /r
                          Normélio Junior

                          Mas nessa televisão está aberto com Qlik Desktop ou pelo Servidor Web Browser?

                           

                          Por que se tiver pelo servidor, assim que você atualizar o Documento pelo agendamento (Qlik Desktop), no servidor ele vai atualizar também e na televisão você vai notar uma pequena piscada, porem vai atualizar também, sem perder a sessão.

                           

                          Agora se tiver na televisão rodando pelo Qlik Desktop, ai temos que pensar outra forma.

                            • Re: qv.exe /r

                              É desktop

                               

                              Minha situação é a seguinte:

                              Vão ficar 4 cenários desktop abertos na televisão, cada um tem somente uma pasta.

                              Manualmente eu vou em janela e troco de cenário e faço a carga.

                              O que eu preciso:

                              Cada 10 minutos trocar de arquivo e fazer a carga:

                              Exemplo:

                              Cenário 1: 08:00

                              Cenário 2: 08:10

                              Cenário 3: 08:20

                              Cenário 4: 08:30

                               

                              Quando for 08:40 voltara o ciclo. ou seja, cada arquivo terá um intervalo de 40 minutos para cada carga.

                               

                              Att,

                              Rodrigo

                    • Re: qv.exe /r
                      Alessandro Furtado

                      Boa noite.

                       

                      Exemplo de macro que faz uma apresentacao aba a aba por X segundos e depois de 5 vezes, faz uma carga.

                      Ao iniciar da para colocar um disparador na macro.    Mudar os ID das pastas para funcionar (PASTA1,PASTA2.....)

                      Se quiser, podes tirar o laco das abas para a cada X segundos/minutos dar uma nova carga.

                       

                       

                       

                      sub proximo

                        ActiveDocument.Reload()

                        For i = 1  to 5

                        ActiveDocument.ActivateSheetByID "PASTA1"

                        ActiveDocument.GetApplication.Refresh

                        ActiveDocument.GetApplication.WaitForIdle 15000

                        ActiveDocument.GetApplication.Refresh

                        ActiveDocument.GetApplication.Sleep 15000

                       

                        ActiveDocument.ActivateSheetByID "PASTA2"

                        ActiveDocument.GetApplication.Refresh

                        ActiveDocument.GetApplication.WaitForIdle 15000

                        ActiveDocument.GetApplication.Refresh

                        ActiveDocument.GetApplication.Sleep 15000

                      next

                        proximo

                      end sub

                        • Re: qv.exe /r

                          Minha situação é a seguinte:

                          Vão ficar 4 cenários desktop abertos na televisão, cada um tem somente uma pasta.

                          Manualmente eu vou em janela e troco de cenário e faço a carga.

                          O que eu preciso:

                          Cada 10 minutos trocar de arquivo e fazer a carga:

                          Exemplo:

                          Cenário 1: 08:00

                          Cenário 2: 08:10

                          Cenário 3: 08:20

                          Cenário 4: 08:30

                           

                          Quando for 08:40 voltara o ciclo. ou seja, cada arquivo terá um intervalo de 40 minutos para cada carga.

                           

                          Att,

                          Rodrigo

                            • Re: qv.exe /r
                              Maicon Mello

                              Essa macro funciona bem:

                              Seu modelo Metas.qvw, possui 4 abas. pode fazer o exemplo a baixo:

                               

                              sub proximo

                               

                               

                                ActiveDocument.Reload()

                               

                               

                                For i = 1  to 5

                                ActiveDocument.ActivateSheetByID "PASTA1" 'Onde possuir  pasta1,pasta2 ... colocar o id de cada pasta.

                                ActiveDocument.GetApplication.Refresh

                                ActiveDocument.GetApplication.WaitForIdle 15000 'Determinar o tempo em milisegundos

                                ActiveDocument.GetApplication.Refresh

                                ActiveDocument.GetApplication.Sleep 30000  'Determinar o tempo em milisegundos

                               

                               

                                ActiveDocument.ActivateSheetByID "PASTA2"

                                ActiveDocument.GetApplication.Refresh

                                ActiveDocument.GetApplication.WaitForIdle 15000

                                ActiveDocument.GetApplication.Refresh

                                ActiveDocument.GetApplication.Sleep 15000

                               

                                ActiveDocument.ActivateSheetByID "PASTA3"

                                ActiveDocument.GetApplication.Refresh

                                ActiveDocument.GetApplication.WaitForIdle 15000

                                ActiveDocument.GetApplication.Refresh

                                ActiveDocument.GetApplication.Sleep 15000

                               

                                ActiveDocument.ActivateSheetByID "PASTA4"

                                ActiveDocument.GetApplication.Refresh

                                ActiveDocument.GetApplication.WaitForIdle 15000

                                ActiveDocument.GetApplication.Refresh

                                ActiveDocument.GetApplication.Sleep 15000

                               

                               

                               

                               

                                next

                               

                               

                                proximo()

                               

                              end sub

                                • Re: qv.exe /r

                                  Minha situação é a seguinte:

                                  Vão ficar 4 cenários desktop abertos na televisão, cada um tem somente uma pasta.

                                  Manualmente eu vou em janela e troco de cenário e faço a carga.

                                  O que eu preciso:

                                  Cada 10 minutos trocar de arquivo e fazer a carga:

                                  Exemplo:

                                  Cenário 1: 08:00

                                  Cenário 2: 08:10

                                  Cenário 3: 08:20

                                  Cenário 4: 08:30

                                   

                                  Quando for 08:40 voltara o ciclo. ou seja, cada arquivo terá um intervalo de 40 minutos para cada carga.

                                   

                                  Att,

                                  Rodrigo

                                    • Re: qv.exe /r
                                      Maicon Mello

                                      Desculpa Rodrigo, não sei sua situação, mas recomendaria juntar tudo !!

                                      • Re: qv.exe /r
                                        Normélio Junior

                                        Bom dia Rodrigo.

                                         

                                        Pelo tanto de ajuda que já teve, e pouco se usou delas, acredito que sua situação é mais delicada devido as variáveis envolvidas em toda a estrutura que precisa ser montada para que isso que você quer fazer funcione adequadamente sem dores de cabeça ou extrema manutenção.

                                         

                                        Eu tenho, a comunidade tem muitas ideias de como fazer isso da melhor forma possível, porem não é fácil tratar esse tipo de situação por aqui, pelo nível de complexidade já citado.

                                         

                                        Sugiro a você procurar uma consultoria ou ajuda de um especialista para esse caso em específico.

                                         

                                        Abraço.

                                • Re: qv.exe /r
                                  Clever Anjos

                                  Já conseguiu solucionar? Se sim, marque uma das respostas como "Correta" e nos ajude a manter os foruns organizados