10 Replies Latest reply: Nov 6, 2015 6:54 AM by mauro ponte RSS

    curva ABC dinamica.

    mauro ponte

      Caros,

       

      Gostaria de saber se é possível carregar um arquivo QVD  na aplicação através de uma macro disparada por um disparador de um botão.

       

      Desde já agradeço a quem puder me ajudar nessa questão.

        • Re: Carregar QVD com macro
          Pablo Labbe

          Mauro,

           

            Você pode fazer isso somente com a execução do script. Pelo desktop é possível executar uma "ação " em um botão que executa script. Esta ação não funciona quando a app é visualizada via navegador web através do servidor.

           

          Saudações,

           

          Pablo Labbe

          • Re: Carregar QVD com macro
            Yuri Nicolett

            Mauro, o que você esta querendo fazer?

            O uso de macro não é aconselhável

            • Re: Carregar QVD com macro
              Cleiton Cabral

              Mauro, você quer criar um botão para carregar um Qvd?

               

              Se for isso, pode criar um botão e nas ações tem esta opção, sem precisar criar a macro!

               

              Acho que isso te ajudaria!

               

              Ou pode ser por um disparador, vai na CONFIGURAÇÃO -> PROPRIEDADES DO DOCUMENTO -> DISPARADORES..

               

              Creio que uma dessas opções irá te ajudar, com o que você necessita sem precisar utilizar a Macro!

              • Re: Carregar QVD com macro
                Alessandro Furtado

                Boa tarde Mauro.

                 

                Segue um modelo exemplo por trigger e por macro.

                • Re: Carregar QVD com macro
                  mauro ponte

                  Caros amigos,

                   

                  Antes de tudo gostaria de agradecer a ajuda de todos e me desculpar pela demora na resposta.

                   

                  Na verdade a ajuda que solicitei é para resolver um probleminha com o qual me deparei mediante a necessidade de um cliente.

                   

                  Acho que fui direto pedindo a solução que pelo jeito não deve ser a melhor.

                   

                  Sendo assim vou tentar explicar a situação toda para ver se consigo com a ajuda de voces uma solução melhor do que a que pedi inicialmente.

                   

                  O caso é o seguinte, tenho em um cliente uma tabela dinâmica que mostra a curva ABC de produtos, Conforme figura abaixo. Nessa tabela a dimensão é o produto e tem duas expressões, onde a primeira é o valor faturado e a segunda a curva(, A, B ou C). As expressões são dinâmicas e reagem a qualquer seleção, isto é, se nao for selecionado nenhum fornecedor por exemplo, os produtos irão ser posicionados na curva ABC dentro de todo o universo de produtos, independente do fornecedor. Caso eu selecione um ou alguns fornecedores a curva será refeita para o universo de produtos da seleção atual. Se eu selecionar um fornecedor apenas a curva será refeita so para os produtos daquele fornecedor selecionado, de manira que um produto da curva C no universo total de produtos pode ser de curva A para o seu fornecedor especifico..

                  CURVA ABC DINAMICA.jpg

                  Abaixo seguem as formulas das expressões:

                  1-Valor Faturado : sum({<[FVENDA_CGO_ACM_COMPRA_VENDA]={'S'},FVENDA_DATA_VENDA={">=$(=DATE(vDataInicio_Criacao,'DD/MM/YYYY'))<=$(=DATE(vDataFim_Criacao,'DD/MM/YYYY'))"}>}FVENDA_VLR_LIQUIDO_ITEM )

                   

                  2-Curva:

                  if((Rank([Valor Faturado],1)-1) / Count({<[FVENDA_CGO_ACM_COMPRA_VENDA]={'S'},FVENDA_DATA_VENDA={">=$(=DATE(vDataInicio_Criacao,'DD/MM/YYYY'))<=$(=DATE(vDataFim_Criacao,'DD/MM/YYYY'))"}>} distinct TOTAL KEY_PRODUTO)< vLimiteAB/100, 'A',

                       If((Rank([Valor Faturado],1)-1) / Count({<[FVENDA_CGO_ACM_COMPRA_VENDA]={'S'},FVENDA_DATA_VENDA={">=$(=DATE(vDataInicio_Criacao,'DD/MM/YYYY'))<=$(=DATE(vDataFim_Criacao,'DD/MM/YYYY'))"}>} distinct TOTAL  KEY_PRODUTO)< vLimiteBC/100, 'B', 'C'))

                   

                  Até aqui tudo funciona perfeitamente.

                   

                  Porem tenho duas novas necessidades, primeiro gerar um grafico de pizza onde a dimensão seria a curva que está na tabela(A, B ou C), e a expressão a de valor faturado. A segunda é poder selecionar no grafico de pizza uma das curvas para que essa seleção selecione para mim os produtos desta curva, porem sem que essa seleção refaça a curva no grafico de pizza.

                   

                  Tentei utilizar a formula da curva como dimensão porem nao funcionou, acho que por conta da função RANK().

                   

                  Quando pensei em importar o qvd foi porque consegui exportar os dados da tabela para um qvd e queria carrega-los para o grafico de pizza. Porem parece nao ser a melhor solução.

                   

                  Caso nao tenha sido totalmente claro estou a disposição para tentar esclarecer melhor.

                   

                  Mais uma vez gostaria de agradecer a ajuda e atenção de todos.

                  • Re: curva ABC dinamica.
                    mauro ponte

                    Gostaria de agradecer a atenção de todos.

                     

                    Com sua ajuda consegui solucionar meu problema e melhorar minha aplicação.