Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Botão com condição

Boa tarde, estou com o seguinte problema, tenho uma tabela onde tem a coluna "Fornecedores" porém essa coluna é uma expressão com a seguinte condição: IF(ISNULL(NomeForne) AND MontVend > 0, 'PENDENTE', NomeForne), no caso eu gostaria de criar um botão que quando acionado filtrasse apenas o que esta pendente. Qualquer duvida estou a disposição.

Labels (1)
16 Replies
lucianosv
Specialist
Specialist

Então, infelizmente para te responder isso teria que conseguir ler o script e ver a nuvem, além de saber os nomes das tabelas e o nome dos campos e no seu qvw não têm nada.

Independente disso, você pode fazer como a última coisa no script.

lucianosv
Specialist
Specialist

Marcos, achei um qvw seu antigo.

Nele você têm PedidosDeVenda, Fornecedores e ContratosParceria:

PedidosDeVenda:

LOAD

  Left(C5_FILIAL, 2) &'-'& C5_NUM as #ChavePed, 

  //Left(C5_FILIAL, 2) &'-'& C5_CLIENTE & C5_LOJACLI as #ChaveCli,

     C5_NOTA as NotaPv,

     C5_CLIENTE as ClientePv,

     C5_LOJACLI as LojaPv,

     C5_X_TIPO as TipoPv

FROM

[..\Dados\Ext\SC5.qvd]

(qvd);

Fornecedores:

LOAD Left(A2_FILIAL, 2) &'-'& A2_COD & A2_LOJA as #ChaveForne,

     A2_COD as CodForne,

     A2_LOJA as LojaForne,

     A2_NREDUZ as NomeForne

FROM

[..\Dados\Ext\SA2.qvd]

(qvd);

ContratosParceria:

LOAD C3_FILIAL &'-'& C3_NUM & C3_ITEM as #ChaveCP, 

     Left(C3_FILIAL, 2) &'-'& C3_FORNECE & C3_LOJA as #ChaveForne,

     C3_NUM as CodCP,

     C3_FORNECE as ForneceCP,

     C3_LOJA as LojaCP,

     C3_ITEM as ItemCP,

     if(C3_QUJE = ' ', 0, C3_QUJE) as QtdEntregue,

     C3_QUANT as QuantCP,

     C3_TOTAL as TotalCP

FROM

[..\Dados\Ext\SC3.qvd]

(qvd);

Se os valores analisados forem da ContratosParceria é simples, pois as tabelas já estão amarradas. Se forem da Pedidos ou outra fica complicado. A modelagem está bem complexa e eu não sei quais campos você têmnos qvds.

Você precisaria montar a LOAD Left(A2_FILIAL, 2) &'-'& A2_COD & A2_LOJA as #ChaveForne na tabela com as quantidades para poder cruzar as informações. Se não tiver os dados diretamente, pode ser que tenha que fazer vários joins para marcar fornecedores com venda.

Not applicable
Author

É que o qvw que eu te mandei estava com o script inteiro comentado, fiz isso pra não ocorrer erro caso recarregasse, desculpe não ter avisado.

Not applicable
Author

Estou anexando o qvw completo caso queira analisar melhor, inclui alguns comentários também na parte de montagem para que fique mais fácil de compreender.

lucianosv
Specialist
Specialist

Desculpe, mas isso é realmente insuficiente.

Não sei se você utiliza todos os campos existentes nos qvds na carga do qvw, entretanto para fazer o que você necessita, precisaria ter os campos A2_FILIAL, A2_COD e A2_LOJA no qvd AF9.qvd para montar o campo #ChaveForne e fazer a marcação nas linhas com Where MontVend > 0.

Não sei quem desenvolveu esse aplicativo e acho que se tudo estiver correto o desenvolvedor é muito bom, mas construiu da pior maneira possível para entendimento e manutenção.

Não existem esses campos no qvd, certo? Se este for o caso não dá para fazer com essa modelagem. Com essa modelagem, se der para fazer você terá que fazer inúmeros joins em uma camada de transformação antes da carga do qvw.

Desculpe não poder ajudar mais.

Not applicable
Author

Bom dia, após varias tentativas consegui acertar os Left Joins, tive ajuda de um representante que me auxiliou em algumas duvidas, após acertar os Left Joins fiz a carga dos campos novamente usando a condição. Obrigado pela ajuda.

lucianosv
Specialist
Specialist

Bom dia.

Desculpe não ter auxiliado mais. Não tinha tempo disponível suficiente para tal e além disso, quando a modelagem está assim é sempre mais fácil a pessoa que conhece os dados arrumar.

Não sei o que você alterou, mas se foi a aplicação deve ter sido um sofrimento e se você fez a marca antes deve ter feito uns 4 left joins.

Abço.