1 Reply Latest reply: Aug 31, 2018 1:05 PM by Felip Drechsler RSS

    Botão filtrando uma situação

    CLAUDEMIR DIOTO

      Bom dia pessoal,

      Preciso de uma ajuda.

      Tenho uma visão onde tenho um campo criado por uma expressão <=IF(saldo_projeto - qtd_necessaria < 0, 'S', 'N')> porém, sobre o resultado dessa expressão, se S - de SIM ou N de NAO, preciso de configurar um BOTÃO de forma que eu possa, quando clicar no mesmo, filtre somente os registros que estão na coluna criada pela expressão como NÃO.

      Segue um qvw da situação para análise.

      A coluna em questão é a <Falta Transf> e o Botão tá em vermelho.


      Se alguém puder me ajudar, fico grato.

      Att.

       

      Claudemir

        • Re: Botão filtrando uma situação
          Felip Drechsler

          Você teria que criar um campo para que fosse possível filtrar os dados conforme sua necessidade.

           

          Primeiro, no código, pegue a sua tabela [Componentes da Ordem] e use a sua condição:

           

          IF(saldo_projeto - qtd_necessaria < 0, 'S', 'N')

           

          dentro do load da tabela, algo como:

           

          [Ordens de Compra]:
          Load *,
               IF(saldo_projeto - qtd_necessaria < 0, 'S', 'N') as [Flag Verificador];
          SQL 
            
          SELECT ordem_sup.cod_comprador,
                      ordem_sup.num_versao,
                      ordem_sup.ies_origem_oc,
                      ordem_sup.num_pedido as pedido_compra,
                      ordem_sup.cod_fornecedor,
                      ordem_sup.num_oc,
                      ordem_sup.cod_secao_receb,
                      ordem_sup.cod_progr,
                      ordem_sup.pre_unit_oc,
                      sum(ordem_sup.pre_unit_oc * (prog_ordem_sup.qtd_solic - prog_ordem_sup.qtd_recebida)) as total_pedido,
                      sum((ordem_sup.pre_unit_oc * (prog_ordem_sup.qtd_solic - prog_ordem_sup.qtd_recebida)) * cond_pg_item_cap.pct_val_vencto) / 100 as total_vencimento,
                      ordem_sup.cod_item as cod_item_compon,
                      ordem_sup.cod_empresa,
                      ordem_sup.cod_unid_med,
                      ordem_sup.fat_conver_unid,
                      ordem_sup.pct_ipi,
                      ordem_sup.dat_emis, 
                      ordem_sup.ies_imobilizado,
                      ordem_sup.ies_item_estoq,
                      prog_ordem_sup.num_prog_entrega,
                      prog_ordem_sup.dat_entrega_prev,
                      prog_ordem_sup.dat_entrega_prev as dat_entrega_prevista_oc,
                 YEAR(prog_ordem_sup.dat_entrega_prev) as ANO,
                  DAY(prog_ordem_sup.dat_entrega_prev) as DIA,
                      prog_ordem_sup.qtd_solic as qtd_solic,
                      prog_ordem_sup.qtd_recebida as qtd_recebida,
                      prog_ordem_sup.num_pedido_fornec,
                      prog_ordem_sup.dat_palpite, pedido_sup.cod_transpor,
                      item.cod_familia,
                      item.gru_ctr_estoq,
                      item.ies_ctr_estoque,
                      item.den_item as descricao_item_oc,
                      fornecedor.raz_social,
                      fornecedor.raz_social_reduz,
                      comprador.nom_comprador,
                      programador.nom_progr,
                      moeda.den_moeda,
                      grupo_ctr_estoq.den_gru_ctr_estoq,
                      familia.den_familia,
                      cond_pgto_cap.des_cnd_pgto,
                      ordem_sup_txt.tex_observ_oc,
                      cond_pg_item_cap.num_parcela,
                      cond_pg_item_cap.qtd_dias,
                      cond_pg_item_cap.pct_val_vencto,
                      prog_ordem_sup.ies_situa_prog,
                      sum(prog_ordem_sup.dat_entrega_prev + cond_pg_item_cap.qtd_dias) as data_desembolso
          
          
                 FROM ordem_sup,
                      prog_ordem_sup,
                      item,
                      pedido_sup,
                      OUTER fornecedor,
                      comprador,
                      programador,
                      moeda,
                      grupo_ctr_estoq,
                      familia,
                      cond_pgto_cap,
                      outer ordem_sup_txt,
                      cond_pg_item_cap
                WHERE ordem_sup.cod_empresa = '01'
                  AND ordem_sup.ies_versao_atual = 'S'
                  AND ordem_sup.ies_situa_oc NOT IN ('L','C')
                  AND ordem_sup.num_pedido <> '0'
                  AND pedido_sup.cod_empresa = '01'
                  AND pedido_sup.num_pedido = ordem_sup.num_pedido
                  AND pedido_sup.ies_versao_atual = 'S'
                  AND pedido_sup.ies_situa_ped = 'R'
                  AND prog_ordem_sup.cod_empresa = ordem_sup.cod_empresa
                  AND prog_ordem_sup.num_oc = ordem_sup.num_oc
                  AND ordem_sup.num_oc = ordem_sup_txt.num_oc
                  AND ordem_sup.num_versao = prog_ordem_sup.num_versao
                  AND ordem_sup_txt.num_seq = '1'
                  AND ordem_sup_txt.ies_tip_texto = 'P'
                  AND prog_ordem_sup.num_versao = ordem_sup.num_versao
                  AND prog_ordem_sup.ies_situa_prog NOT IN ('L','C','P')
                  AND item.cod_empresa = ordem_sup.cod_empresa
                  AND item.cod_item = ordem_sup.cod_item
                  AND fornecedor.cod_fornecedor = pedido_sup.cod_fornecedor
                  AND ordem_sup.cod_comprador = comprador.cod_comprador
                  AND ordem_sup.cod_progr = programador.cod_progr
                  AND ordem_sup.cod_moeda = moeda.cod_moeda
                  AND item.gru_ctr_estoq = grupo_ctr_estoq.gru_ctr_estoq
                  AND item.cod_familia = familia.cod_familia
                  AND ordem_sup.cnd_pgto = cond_pgto_cap.cnd_pgto
                  AND cond_pg_item_cap.cnd_pgto = cond_pgto_cap.cnd_pgto
          
          
          
          
          GROUP BY ordem_sup.cod_comprador,
                      ordem_sup.num_versao,
                      ordem_sup.ies_origem_oc,
                      ordem_sup.num_pedido,
                      ordem_sup.cod_fornecedor,
                      ordem_sup.num_oc,
                      ordem_sup.cod_secao_receb,
                      ordem_sup.cod_progr,
                      ordem_sup.pre_unit_oc,
                      ordem_sup.cod_item,
                      ordem_sup.cod_empresa,
                      ordem_sup.cod_unid_med,
                      ordem_sup.fat_conver_unid,
                      ordem_sup.pct_ipi,
                      ordem_sup.dat_emis,  ordem_sup.ies_imobilizado,
                      ordem_sup.ies_item_estoq,
                      prog_ordem_sup.num_prog_entrega,
                      prog_ordem_sup.dat_entrega_prev,
                      ordem_sup.dat_entrega_prev,
                      ordem_sup.dat_entrega_prev,
                      prog_ordem_sup.qtd_solic,
                      prog_ordem_sup.qtd_recebida,
                      prog_ordem_sup.num_pedido_fornec,
                      prog_ordem_sup.dat_palpite, pedido_sup.cod_transpor,
                      item.cod_familia,
                      item.gru_ctr_estoq,
                      item.ies_ctr_estoque,
                              item.den_item,
                              fornecedor.raz_social,
                      comprador.nom_comprador,
                      programador.nom_progr,
                      moeda.den_moeda,
                      grupo_ctr_estoq.den_gru_ctr_estoq,
                      familia.den_familia,
                      fornecedor.raz_social_reduz,
                      cond_pgto_cap.des_cnd_pgto,
                      ordem_sup_txt.tex_observ_oc,
                      cond_pg_item_cap.num_parcela,
                      cond_pg_item_cap.qtd_dias,
                      prog_ordem_sup.ies_situa_prog,
          cond_pg_item_cap.pct_val_vencto  ;
          
          

           

          Isso irá criar a flag nos dados, e não na visualização.

          Ai finalmente, no botão você consegue fazer o tipo de ação de seleção de dados, como a seguir:

          sample.png

          Quando você clicar no botão, serão selecionados apenas os valores com a flag igual a "N".